Explorar o código

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

LAPTOP-KB9HII50\70708 %!s(int64=3) %!d(string=hai) anos
pai
achega
b77ae6537f

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -182,6 +182,7 @@ public class BaseRequestMapping {
    public static class Equipment extends Basic {
        public static final String PREFIX  = "/equipment";
        public static final String selectByHospitalOrTown  = "/selectByHospitalOrTown";
        public static final String selectEquipment = "/selectEquipment";
    }
    /**

+ 31 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/equipment/EquipmentEndpoint.java

@ -1,8 +1,10 @@
package com.yihu.jw.base.endpoint.equipment;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.equipment.BaseHospitalEquipmentService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.equipment.BaseHospitalEquipmentDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -10,12 +12,22 @@ import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.models.auth.In;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Map;
@ -46,4 +58,23 @@ public class EquipmentEndpoint extends EnvelopRestEndpoint {
        return listEnvelop;
    }
    @PostMapping(value = BaseRequestMapping.Equipment.selectEquipment)
    @ApiOperation(value = "查询机器(分配投放地址)")
    public ListEnvelop selectEquipment(@ApiParam(name = "code", value = "设备编码", required = false)
                                   @RequestParam(value = "code", required = false) String code,
                                       @ApiParam(name = "typeName", value = "设备分类名称", required = false)
                                   @RequestParam(value = "typeName", required = false) String typeName,
                                       @ApiParam(name = "adress", value = "投放地址", required = false)
                                   @RequestParam(value = "adress", required = false) String address,
                                       @ApiParam(name = "hospitalName", value = "所属社区", required = false)
                                   @RequestParam(value = "hospitalName", required = false) String hospitalName){
        List<Map<String,Object>> map = hospitalEquipmentService.selectEquipment(code,typeName,address,hospitalName);
        ListEnvelop listEnvelop = new ListEnvelop();
        listEnvelop.setMessage("success");
        listEnvelop.setDetailModelList(map);
        return listEnvelop;
    }
}

+ 40 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/equipment/BaseHospitalEquipmentService.java

@ -61,4 +61,44 @@ public class BaseHospitalEquipmentService extends BaseJpaService<BaseHospitalEqu
        return map;
    }
    public List<Map<String, Object>> selectEquipment(String code, String typeName, String address, String hospitalName) {
        String sql = "SELECT\n" +
                        "\t\tid,\n" +
                        "\t\tname,\n" +
                        "\t\tcode,\n" +
                        "\t\tnetwork_status,\n" +
                        "\t\tselling_status,\n" +
                        "\t\ttype,\n" +
                        "\t\ttype_name,\n" +
                        "\t\tinfo,\n" +
                        "\t\thospital,\n" +
                        "\t\thospital_name,\n" +
                        "\t\tbinding_status,\n" +
                        "\t\tstatus,\n" +
                        "\t\taddress,\n" +
                        "\t\tcreate_user,\n" +
                        "\t\tcreate_user_name,\n" +
                        "\t\tcreate_time,\n" +
                        "\t\tupdate_user,\n" +
                        "\t\tupdate_user_name,\n" +
                        "\t\tupdate_time\n" +
                        "FROM base_hospital_equipment\n" +
                        "\n" +
                        "WHERE\n" +
                        "\t1=1 ";
        if (code != null && code!=""){
            sql += "and code = '" +code+ "' ";
        }
        if (typeName != null && typeName != ""){
            sql += "and type_name = '" +typeName+"' ";
        }
        if (address != null && address != ""){
            sql += "and address = '" +address+"' ";
        }
        if (hospitalName != null && hospitalName != ""){
            sql += "and hospital_name = '" +hospitalName+"' ";
        }
        List<Map<String, Object>> map = jdbcTemplate.queryForList(sql);
        return map;
    }
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/NetworkCardConfig.java

@ -17,7 +17,6 @@ public class NetworkCardConfig {
    public static final String appid="571AIOT2021072910102922281";
    public static final String password="OnXE@QFlwt9R";
    public static final String redisKey="dianXinAssesToken";
    public static final String groupId="9911000019160041";//所有卡号均在同一分组下方便维护
    //APPID+YYYYMMDDHHMISS+8位数字序列
    public static String getTransid() {
@ -30,5 +29,6 @@ public class NetworkCardConfig {
    public static final String getPatientContacts="https://api.iot.10086.cn/v5/ec/query/member-voice-whitelist";
    //设置语音白名单 //同一卡号一分钟只能调用该接口一次 一个月仅能删除一次(一次最多删除2个号码)
    public static final String setPatientContacts="https://api.iot.10086.cn/v5/ec/config/member-voice-whitelist";
    //查询语音卡 群组Id
    public static final String getGroupId="https://api.iot.10086.cn/v5/ec/query/group-by-member";
}

+ 6 - 8
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/device/NetworkCardController.java

@ -42,16 +42,15 @@ public class NetworkCardController extends BaseController {
    @ApiOperation("获取物联网卡语音白名单手机号")
    @RequestMapping(value = "getPatientContacts", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    public String getPatientContacts(@ApiParam(name="msisdn",value = "",defaultValue = "14809011400")@RequestParam(value ="msisdn",required = false)String msisdn,
    public String getPatientContacts(@ApiParam(name="msisdn",value = "")@RequestParam(value ="msisdn",required = false)String msisdn,
                                     @ApiParam(name="iccid",value = "")@RequestParam(value ="iccid",required = false)String iccid,
                                     @ApiParam(name="imsi",value = "")@RequestParam(value ="imsi",required = false)String imsi,
                                     @ApiParam(name="groupId",value = "默认所有卡号均在9911000019160041一个群组",defaultValue = "9911000019160041")@RequestParam(value ="groupId",required = true,defaultValue = "9911000019160041")String groupId) {
                                     @ApiParam(name="imsi",value = "")@RequestParam(value ="imsi",required = false)String imsi) {
        try {
            //三个参数必须有且仅有一个
            if (StringUtils.isBlank(msisdn)&&StringUtils.isBlank(iccid)&&StringUtils.isBlank(imsi)){
                return error(-1,"参数错误");
            }
            return write(200,"查询成功","data",networkCardService.getPatientContacts(msisdn,iccid,imsi,groupId));
            return write(200,"查询成功","data",networkCardService.getPatientContacts(msisdn,iccid,imsi));
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1,"error");
@ -60,18 +59,17 @@ public class NetworkCardController extends BaseController {
    @ApiOperation("设置物联网卡语音白名单手机号")
    @RequestMapping(value = "setPatientContacts", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    public String getPatientContacts(@ApiParam(name="msisdn",value = "",defaultValue = "14809011400")@RequestParam(value ="msisdn",required = false)String msisdn,
    public String getPatientContacts(@ApiParam(name="msisdn",value = "")@RequestParam(value ="msisdn",required = false)String msisdn,
                                     @ApiParam(name="iccid",value = "")@RequestParam(value ="iccid",required = false)String iccid,
                                     @ApiParam(name="imsi",value = "")@RequestParam(value ="imsi",required = false)String imsi,
                                     @ApiParam(name="operType",value = "1新增 4删除")@RequestParam(value ="operType",required = true)String operType,
                                     @ApiParam(name="whiteNumber",value = "成员配置的语音白名单号码 新增时只能传一个,删除时最多两个 用下划线隔开 ")@RequestParam(value ="whiteNumber",required = true)String whiteNumber,
                                     @ApiParam(name="groupId",value = "默认所有卡号均在9911000019160041一个群组",defaultValue = "9911000019160041")@RequestParam(value ="groupId",required = true,defaultValue = "9911000019160041")String groupId) {
                                     @ApiParam(name="whiteNumber",value = "成员配置的语音白名单号码 新增时只能传一个,删除时最多两个 用下划线隔开 ")@RequestParam(value ="whiteNumber",required = true)String whiteNumber) {
        try {
            //三个参数必须有且仅有一个
            if (StringUtils.isBlank(msisdn)&&StringUtils.isBlank(iccid)&&StringUtils.isBlank(imsi)){
                return error(-1,"参数错误");
            }
            return write(200,"查询成功","data",networkCardService.setPatientContacts(msisdn,iccid,imsi,operType,whiteNumber,groupId));
            return write(200,"查询成功","data",networkCardService.setPatientContacts(msisdn,iccid,imsi,operType,whiteNumber));
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1,"error");

+ 3 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/contacts/ContactsService.java

@ -351,7 +351,7 @@ public class ContactsService {
        for (Map<String,Object> simTmp : sims) {
            String sim = simTmp.get("sim").toString();
            try {
                JSONArray respons = networkCardService.getPatientContacts(sim, null, null, null);
                JSONArray respons = networkCardService.getPatientContacts(null, sim, null);
                List<Map<String, Object>> memberArr = null;
                if (respons.size() > 0) {
                    respons.getJSONObject(0).getJSONArray("memVoiceWhiteList");
@ -371,8 +371,8 @@ public class ContactsService {
                        }
                    }
                    if (StringUtils.isNotBlank(del_num)) {
                        String response = networkCardService.setPatientContacts(sim, null, null, "4", del_num, null);
                        if (StringUtils.isNotBlank(response)) {//todo 对接时不做
                        String response = networkCardService.setPatientContacts(null, sim, null, "4", del_num);
                        if (StringUtils.isNotBlank(response)) {
                            String[] DelNums = del_num.split("_");
                            for (String tmp:DelNums){
                                if (!delSuccess.contains(tmp)){//本次已删除过 不再作删除操作

+ 42 - 22
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/NetworkCardService.java

@ -60,7 +60,7 @@ public class NetworkCardService {
        return assToken;
    }
    public JSONArray getPatientContacts(String msisdn, String iccid, String imsi, String groupId) throws Exception {
    public JSONArray getPatientContacts(String msisdn, String iccid, String imsi) throws Exception {
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("transid", NetworkCardConfig.getTransid()));
        boolean flag = false;
@ -74,24 +74,36 @@ public class NetworkCardService {
        if (!flag&&StringUtils.isNotBlank(imsi)){
            params.add(new BasicNameValuePair("imsi", imsi));
        }
        params.add(new BasicNameValuePair("groupId", NetworkCardConfig.groupId));
        params.add(new BasicNameValuePair("token", getAccessToken()));
        String response = httpClientUtil.get(NetworkCardConfig.getPatientContacts,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(response);
        String groupInfo = httpClientUtil.get(NetworkCardConfig.getGroupId,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(groupInfo);
        if (responseBody.getInteger("status")==0){
            JSONArray tmp = responseBody.getJSONArray("result");
            return tmp;
        }else if (responseBody.getInteger("status")==14008){//未查询到数据白名单列表为空
            return new JSONArray();
        }else{
            throw new Exception(response);
            JSONArray groupList = responseBody.getJSONArray("result").getJSONObject(0).getJSONArray("groupList");
            String groupId = groupList.getJSONObject(0).getString("groupId");
            if (StringUtils.isNotBlank(groupId)){
                params.add(new BasicNameValuePair("groupId", groupId));
                String response = httpClientUtil.get(NetworkCardConfig.getPatientContacts,params,"UTF-8");
                responseBody = JSONObject.parseObject(response);
                if (responseBody.getInteger("status")==0){
                    JSONArray tmp = responseBody.getJSONArray("result");
                    return tmp;
                }else if (responseBody.getInteger("status")==14008){//未查询到数据白名单列表为空
                    return new JSONArray();
                }else{
                    throw new Exception(response);
                }
            }else {
                throw new Exception(groupId);
            }
        }
        return new JSONArray();
    }
    public String setPatientContacts(String msisdn, String iccid, String imsi,String operType,String  whiteNumber,String groupId) throws Exception {
    public String setPatientContacts(String msisdn, String iccid, String imsi,String operType,String  whiteNumber) throws Exception {
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("transid", NetworkCardConfig.getTransid()));
        params.add(new BasicNameValuePair("token", getAccessToken()));
        boolean flag = false;
        if (!flag&&StringUtils.isNotBlank(msisdn)){
            params.add(new BasicNameValuePair("msisdn", msisdn));
@ -103,19 +115,27 @@ public class NetworkCardService {
        if (!flag&&StringUtils.isNotBlank(imsi)){
            params.add(new BasicNameValuePair("imsi", imsi));
        }
        params.add(new BasicNameValuePair("groupId", NetworkCardConfig.groupId));
        params.add(new BasicNameValuePair("token", getAccessToken()));
        params.add(new BasicNameValuePair("operType", operType));
        params.add(new BasicNameValuePair("whiteNumber", whiteNumber));
        String response = httpClientUtil.get(NetworkCardConfig.setPatientContacts,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(response);
        if (responseBody.getInteger("status")==0){
            JSONObject tmp = responseBody.getJSONArray("result").getJSONObject(0);
            return tmp.getString("orderNum");
        String groupInfo = httpClientUtil.get(NetworkCardConfig.getGroupId,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(groupInfo);
        if (responseBody.getInteger("status")==0) {
            JSONArray groupList = responseBody.getJSONArray("result").getJSONObject(0).getJSONArray("groupList");
            String groupId = groupList.getJSONObject(0).getString("groupId");
            if (StringUtils.isNotBlank(groupId)) {
                params.add(new BasicNameValuePair("groupId", groupId));
                params.add(new BasicNameValuePair("operType", operType));
                params.add(new BasicNameValuePair("whiteNumber", whiteNumber));
                String response = httpClientUtil.get(NetworkCardConfig.setPatientContacts,params,"UTF-8");
                responseBody = JSONObject.parseObject(response);
                if (responseBody.getInteger("status")==0||responseBody.getInteger("status")==12108){
                    return "success";
                }else {
                    throw new Exception("物联网卡操作失败:"+response);
                }
            }
        }else {
            throw new Exception("物联网卡操作失败:"+response);
            throw new Exception("物联网卡操作失败:"+groupInfo);
        }
        return null;
    }
}

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/DetectionPlatformService.java

@ -138,7 +138,7 @@ public class DetectionPlatformService  {
        object.put("lawOfIOT",getRange( (securityIsUser.intValue() + healthIsUser.intValue() ),( securityAllCount.intValue() + healthAllCount.intValue()  ) ));//物联率
        object.put("isUseAllIot",(securityIsUser.intValue() + healthIsUser.intValue()));//已发放设备
        object.put("allIot",securityAllCount.intValue() + healthAllCount.intValue());//总设备
        String unUseSql = "SELECT * FROM wlyy_devices WHERE is_binding = 1 AND contact_status = 0";//contact_status = 0   失联
        String unUseSql = "SELECT wd.* FROM wlyy_devices wd INNER JOIN wlyy_patient_device pd on wd.device_code =pd.device_sn  WHERE contact_status = 0";//contact_status = 0   失联
        List<Map<String , Object>> unUseList = jdbcTemplate.queryForList(unUseSql);
        int unUseCount = unUseList.size();
        object.put("unUseCount",unUseCount);//设备失联数量

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/config/NetworkCardConfig.java

@ -17,7 +17,6 @@ public class NetworkCardConfig {
    public static final String appid="571AIOT2021072910102922281";
    public static final String password="OnXE@QFlwt9R";
    public static final String redisKey="dianXinAssesToken";
    public static final String groupId="9911000019160041";//所有卡号均在同一分组下方便维护
    //APPID+YYYYMMDDHHMISS+8位数字序列
    public static String getTransid() {
@ -30,5 +29,7 @@ public class NetworkCardConfig {
    public static final String getPatientContacts="https://api.iot.10086.cn/v5/ec/query/member-voice-whitelist";
    //设置语音白名单 //同一卡号一分钟只能调用该接口一次 一个月仅能删除一次(一次最多删除2个号码)
    public static final String setPatientContacts="https://api.iot.10086.cn/v5/ec/config/member-voice-whitelist";
    //查询语音卡 群组Id
    public static final String getGroupId="https://api.iot.10086.cn/v5/ec/query/group-by-member";
}

+ 1 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/device/PatientSosContactsJob.java

@ -64,7 +64,7 @@ public class PatientSosContactsJob implements Job {
                }
                if(null!=sosContactsDO){
                    if (StringUtils.isNotBlank(sim)){
                        JSONObject response = cardService.setPatientContacts(null, sim, null, "1", sos_phone, null);//移动白名单
                        JSONObject response = cardService.setPatientContacts(null, sim, null, "1", sos_phone);//移动白名单
                        //0成功 12102名单重复
                        if (response.getInteger("status")==0||response.getInteger("status")==12108){
                            if (1==sosContactsDO.getSuccessFlag()||0==sosContactsDO.getSuccessFlag()){

+ 40 - 21
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/device/NetworkCardService.java

@ -53,7 +53,7 @@ public class NetworkCardService {
        return assToken;
    }
    public JSONArray getPatientContacts(String msisdn, String iccid, String imsi, String groupId) throws Exception {
    public JSONArray getPatientContacts(String msisdn, String iccid, String imsi) throws Exception {
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("transid", NetworkCardConfig.getTransid()));
        boolean flag = false;
@ -67,19 +67,30 @@ public class NetworkCardService {
        if (!flag&&StringUtils.isNotBlank(imsi)){
            params.add(new BasicNameValuePair("imsi", imsi));
        }
        params.add(new BasicNameValuePair("groupId", NetworkCardConfig.groupId));
        params.add(new BasicNameValuePair("token", getAccessToken()));
        String response = httpClientUtil.get(NetworkCardConfig.getPatientContacts,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(response);
        String groupInfo = httpClientUtil.get(NetworkCardConfig.getGroupId,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(groupInfo);
        if (responseBody.getInteger("status")==0){
            JSONArray tmp = responseBody.getJSONArray("result");
            return tmp;
        }else if (responseBody.getInteger("status")==14008){//未查询到数据白名单列表为空
            return new JSONArray();
        }else{
            throw new Exception(response);
            JSONArray groupList = responseBody.getJSONArray("result").getJSONObject(0).getJSONArray("groupList");
            String groupId = groupList.getJSONObject(0).getString("groupId");
            if (StringUtils.isNotBlank(groupId)){
                params.add(new BasicNameValuePair("groupId", groupId));
                String response = httpClientUtil.get(NetworkCardConfig.getPatientContacts,params,"UTF-8");
                responseBody = JSONObject.parseObject(response);
                if (responseBody.getInteger("status")==0){
                    JSONArray tmp = responseBody.getJSONArray("result");
                    return tmp;
                }else if (responseBody.getInteger("status")==14008){//未查询到数据白名单列表为空
                    return new JSONArray();
                }else{
                    throw new Exception(response);
                }
            }else {
                throw new Exception(groupId);
            }
        }
        return new JSONArray();
    }
    /**
@ -89,13 +100,13 @@ public class NetworkCardService {
     * @param imsi
     * @param operType  1新增 4删除
     * @param whiteNumber
     * @param groupId
     * @return
     * @throws Exception
     */
    public JSONObject setPatientContacts(String msisdn, String iccid, String imsi,String operType,String  whiteNumber,String groupId) throws Exception {
    public JSONObject setPatientContacts(String msisdn, String iccid, String imsi,String operType,String  whiteNumber) throws Exception {
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("transid", NetworkCardConfig.getTransid()));
        params.add(new BasicNameValuePair("token", getAccessToken()));
        boolean flag = false;
        if (!flag&&StringUtils.isNotBlank(msisdn)){
            params.add(new BasicNameValuePair("msisdn", msisdn));
@ -107,15 +118,23 @@ public class NetworkCardService {
        if (!flag&&StringUtils.isNotBlank(imsi)){
            params.add(new BasicNameValuePair("imsi", imsi));
        }
        params.add(new BasicNameValuePair("groupId", NetworkCardConfig.groupId));
        params.add(new BasicNameValuePair("token", getAccessToken()));
        params.add(new BasicNameValuePair("operType", operType));
        params.add(new BasicNameValuePair("whiteNumber", whiteNumber));
        String response = httpClientUtil.get(NetworkCardConfig.setPatientContacts,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(response);
        return responseBody;
        String groupInfo = httpClientUtil.get(NetworkCardConfig.getGroupId,params,"UTF-8");
        JSONObject responseBody = JSONObject.parseObject(groupInfo);
        if (responseBody.getInteger("status")==0) {
            JSONArray groupList = responseBody.getJSONArray("result").getJSONObject(0).getJSONArray("groupList");
            String groupId = groupList.getJSONObject(0).getString("groupId");
            if (StringUtils.isNotBlank(groupId)) {
                params.add(new BasicNameValuePair("groupId", groupId));
                params.add(new BasicNameValuePair("operType", operType));
                params.add(new BasicNameValuePair("whiteNumber", whiteNumber));
                String response = httpClientUtil.get(NetworkCardConfig.setPatientContacts,params,"UTF-8");
                responseBody = JSONObject.parseObject(response);
                return responseBody;
            }
        }
        JSONObject result = new  JSONObject();
        result.put("status",-1);
        return result;
    }
}