|  |  |  | 
|---|
|  |  |  | package com.ruoyi.web.component; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSON; | 
|---|
|  |  |  | import com.alibaba.fastjson2.JSONObject; | 
|---|
|  |  |  | import com.fasterxml.jackson.databind.ObjectMapper; | 
|---|
|  |  |  | import com.google.gson.Gson; | 
|---|
|  |  |  | 
|---|
|  |  |  | String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); | 
|---|
|  |  |  | for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { | 
|---|
|  |  |  | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //                        SendMagParam sendMagParam = new SendMagParam(); | 
|---|
|  |  |  | //                        sendMagParam.setType("5"); | 
|---|
|  |  |  | //                        sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
|---|
|  |  |  | //                        log.info("链接完整路径:{}", ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
|---|
|  |  |  | //                        //这个模板ID先写死,后面做成可选 | 
|---|
|  |  |  | //                        sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); | 
|---|
|  |  |  | //                        Map map = new HashMap(); | 
|---|
|  |  |  | //                        map.put("first", ivrTask1.getTaskName()); | 
|---|
|  |  |  | //                        sendMagParam.setContent(JSON.toJSONString(map)); | 
|---|
|  |  |  | //                        sendMagParam.setOpenid(serviceSubtask.getOpenid()); | 
|---|
|  |  |  | //                        Boolean aBoolean = sendService.sendMsg(sendMagParam); | 
|---|
|  |  |  | String url = null; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //                            if (type == 1) { | 
|---|
|  |  |  | //                                url = ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; | 
|---|
|  |  |  | //                            } else if (type == 2) { | 
|---|
|  |  |  | //                                url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; | 
|---|
|  |  |  | //                            } else if (type == 3) { | 
|---|
|  |  |  | //                                url = ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; | 
|---|
|  |  |  | //                            } | 
|---|
|  |  |  | if (type == 1) { | 
|---|
|  |  |  | //随访 | 
|---|
|  |  |  | ServiceOutPath serviceOutPath = new ServiceOutPath(); | 
|---|
|  |  |  | serviceOutPath.setParam1(taskId); | 
|---|
|  |  |  | serviceOutPath.setParam2(patid); | 
|---|
|  |  |  | serviceOutPath.setCreateTime(new Date()); | 
|---|
|  |  |  | iServiceOutPathService.insertServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | String format = String.format("%03X", serviceOutPath.getId()); | 
|---|
|  |  |  | serviceOutPath.setRadix(format); | 
|---|
|  |  |  | serviceOutPath.setUpdateTime(new Date()); | 
|---|
|  |  |  | iServiceOutPathService.updateServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | //                                sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false"); | 
|---|
|  |  |  | url = ip + ":" + req_path + "/sf?p=" + format; | 
|---|
|  |  |  | } else if (type == 2) { | 
|---|
|  |  |  | //问券 | 
|---|
|  |  |  | ServiceOutPath serviceOutPath = new ServiceOutPath(); | 
|---|
|  |  |  | serviceOutPath.setParam1(taskId); | 
|---|
|  |  |  | serviceOutPath.setParam2(patid); | 
|---|
|  |  |  | //                                serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString())); | 
|---|
|  |  |  | serviceOutPath.setParam3(ivrTask1.getTaskName()); | 
|---|
|  |  |  | serviceOutPath.setCreateTime(new Date()); | 
|---|
|  |  |  | iServiceOutPathService.insertServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | String format = String.format("%03X", serviceOutPath.getId()); | 
|---|
|  |  |  | serviceOutPath.setRadix(format); | 
|---|
|  |  |  | serviceOutPath.setUpdateTime(new Date()); | 
|---|
|  |  |  | iServiceOutPathService.updateServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | //                                sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"); | 
|---|
|  |  |  | url = ip + ":" + req_path + "/wt?p=" + format; | 
|---|
|  |  |  | } else if (type == 3) { | 
|---|
|  |  |  | //宣教 | 
|---|
|  |  |  | ServiceOutPath serviceOutPath = new ServiceOutPath(); | 
|---|
|  |  |  | serviceOutPath.setParam1(taskId); | 
|---|
|  |  |  | serviceOutPath.setParam2(patid); | 
|---|
|  |  |  | //                                serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString())); | 
|---|
|  |  |  | serviceOutPath.setParam3(ivrTask1.getTaskName()); | 
|---|
|  |  |  | serviceOutPath.setCreateTime(new Date()); | 
|---|
|  |  |  | iServiceOutPathService.insertServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | String format = String.format("%03X", serviceOutPath.getId()); | 
|---|
|  |  |  | serviceOutPath.setRadix(format); | 
|---|
|  |  |  | serviceOutPath.setUpdateTime(new Date()); | 
|---|
|  |  |  | iServiceOutPathService.updateServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | url = ip + ":" + req_path + "/xj?p=" + format; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SendMagParam sendMagParam = new SendMagParam(); | 
|---|
|  |  |  | sendMagParam.setType("5"); | 
|---|
|  |  |  | sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
|---|
|  |  |  | log.info("链接完整路径:{}", ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); | 
|---|
|  |  |  | //这个模板ID先写死,后面做成可选 | 
|---|
|  |  |  | sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); | 
|---|
|  |  |  | Map map = new HashMap(); | 
|---|
|  |  |  | map.put("first", ivrTask1.getTaskName()); | 
|---|
|  |  |  | sendMagParam.setContent(JSON.toJSONString(map)); | 
|---|
|  |  |  | sendMagParam.setOpenid(serviceSubtask.getOpenid()); | 
|---|
|  |  |  | Boolean aBoolean = sendService.sendMsg(sendMagParam); | 
|---|
|  |  |  | String url = null; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), "无"); | 
|---|
|  |  |  | Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); | 
|---|
|  |  |  | if (!map.isEmpty()) { | 
|---|
|  |  |  | ////                            if (type == 1) { | 
|---|
|  |  |  | ////                                url = ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; | 
|---|
|  |  |  | ////                            } else if (type == 2) { | 
|---|
|  |  |  | ////                                url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; | 
|---|
|  |  |  | ////                            } else if (type == 3) { | 
|---|
|  |  |  | ////                                url = ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; | 
|---|
|  |  |  | ////                            } | 
|---|
|  |  |  | //                            if (type == 1) { | 
|---|
|  |  |  | //                                //随访 | 
|---|
|  |  |  | //                                ServiceOutPath serviceOutPath = new ServiceOutPath(); | 
|---|
|  |  |  | //                                serviceOutPath.setParam1(taskId); | 
|---|
|  |  |  | //                                serviceOutPath.setParam2(patid); | 
|---|
|  |  |  | //                                serviceOutPath.setCreateTime(new Date()); | 
|---|
|  |  |  | //                                iServiceOutPathService.insertServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | //                                String format = String.format("%03X", serviceOutPath.getId()); | 
|---|
|  |  |  | //                                serviceOutPath.setRadix(format); | 
|---|
|  |  |  | //                                serviceOutPath.setUpdateTime(new Date()); | 
|---|
|  |  |  | //                                iServiceOutPathService.updateServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | ////                                sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false"); | 
|---|
|  |  |  | //                                url = ip + ":" + req_path + "/sf?p=" + format; | 
|---|
|  |  |  | //                            } else if (type == 2) { | 
|---|
|  |  |  | //                                //问券 | 
|---|
|  |  |  | //                                ServiceOutPath serviceOutPath = new ServiceOutPath(); | 
|---|
|  |  |  | //                                serviceOutPath.setParam1(taskId); | 
|---|
|  |  |  | //                                serviceOutPath.setParam2(patid); | 
|---|
|  |  |  | ////                                serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString())); | 
|---|
|  |  |  | //                                serviceOutPath.setParam3(ivrTask1.getTaskName()); | 
|---|
|  |  |  | //                                serviceOutPath.setCreateTime(new Date()); | 
|---|
|  |  |  | //                                iServiceOutPathService.insertServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | //                                String format = String.format("%03X", serviceOutPath.getId()); | 
|---|
|  |  |  | //                                serviceOutPath.setRadix(format); | 
|---|
|  |  |  | //                                serviceOutPath.setUpdateTime(new Date()); | 
|---|
|  |  |  | //                                iServiceOutPathService.updateServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | ////                                sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"); | 
|---|
|  |  |  | //                                url = ip + ":" + req_path + "/wt?p=" + format; | 
|---|
|  |  |  | //                            } else if (type == 3) { | 
|---|
|  |  |  | //                                //宣教 | 
|---|
|  |  |  | //                                ServiceOutPath serviceOutPath = new ServiceOutPath(); | 
|---|
|  |  |  | //                                serviceOutPath.setParam1(taskId); | 
|---|
|  |  |  | //                                serviceOutPath.setParam2(patid); | 
|---|
|  |  |  | ////                                serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString())); | 
|---|
|  |  |  | //                                serviceOutPath.setParam3(ivrTask1.getTaskName()); | 
|---|
|  |  |  | //                                serviceOutPath.setCreateTime(new Date()); | 
|---|
|  |  |  | //                                iServiceOutPathService.insertServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | //                                String format = String.format("%03X", serviceOutPath.getId()); | 
|---|
|  |  |  | //                                serviceOutPath.setRadix(format); | 
|---|
|  |  |  | //                                serviceOutPath.setUpdateTime(new Date()); | 
|---|
|  |  |  | //                                iServiceOutPathService.updateServiceOutPath(serviceOutPath); | 
|---|
|  |  |  | //                                url = ip + ":" + req_path + "/xj?p=" + format; | 
|---|
|  |  |  | //                            } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //                            String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), "无"); | 
|---|
|  |  |  | //                            Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); | 
|---|
|  |  |  | //                            if (!map.isEmpty()) { | 
|---|
|  |  |  | serviceSubtask.setResult("success"); | 
|---|
|  |  |  | serviceSubtask.setSendstate(3L); | 
|---|
|  |  |  | if ((Boolean) map.get("succ") == false) { | 
|---|
|  |  |  | if (aBoolean == false) { | 
|---|
|  |  |  | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); | 
|---|
|  |  |  | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); | 
|---|
|  |  |  | serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //                            } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); | 
|---|
|  |  |  | serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); | 
|---|