Commit f34e8fdd authored by kongfm's avatar kongfm

更新tzs 相关代码

parent 6107fda4
......@@ -112,4 +112,10 @@ public class DispatchPaperDto extends BaseDto {
@ApiModelProperty(value = "处置人")
private String dealUser;
@ApiModelProperty(value = "到达反馈方式")
private String arriveFeedbackType;
@ApiModelProperty(value = "到达反馈方式code")
private String arriveFeedbackCode;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -99,13 +100,13 @@ public class WechatMyTaskDto {
private String remark;
@ApiModelProperty(value = "现场照片")
private List<String> fixImgs;
private List<AttachmentDto> fixImgs;
@ApiModelProperty(value = "故障描述")
private String errorContent;
@ApiModelProperty(value = "故障照片")
private List<String> errorImgs;
private List<AttachmentDto> errorImgs;
@ApiModelProperty(value = "反馈时间")
private Date responseTime;
......@@ -120,7 +121,7 @@ public class WechatMyTaskDto {
private String feedbackRemark;
@ApiModelProperty(value = "反馈现场照片")
private List<String> feedBackImgs;
private List<AttachmentDto> feedBackImgs;
@ApiModelProperty(value = "处置时间")
private Date dealTime;
......
......@@ -204,5 +204,18 @@ public class DispatchPaper extends BaseEntity {
@TableField("deal_user")
private String dealUser;
/**
* 到达反馈方式
*/
@TableField("arrive_feedback_type")
private String arriveFeedbackType;
/**
* 到达反馈方式code
*/
@TableField("arrive_feedback_code")
private String arriveFeedbackCode;
}
......@@ -3,11 +3,13 @@ package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
......@@ -34,4 +36,10 @@ public interface IDispatchTaskService {
List<WechatMyTaskListDto> getTaskListByPhonePager(String phone,String typeCode,Long current);
WechatMyTaskDto saveWechatFeedBack(WechatDispatchFeedbackDto wechatDispatchFeedbackDto);
/**
* 返回封装的WechatMessageDto
* @return
*/
WechatMessageDto getWechatMessageDtoByDispatchTaskDto(DispatchTaskDto dispatchTaskDto);
}
......@@ -34,4 +34,5 @@ public interface IWechatService {
* @return
*/
JSONObject sendWechatModelMessage(String openId, WechatMessageDto wechatMessageDto);
}
......@@ -6,6 +6,8 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatAccessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
......@@ -36,6 +38,7 @@ import io.swagger.annotations.ApiParam;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
......@@ -65,7 +68,6 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
/**
* 微信公众号controller
......@@ -77,9 +79,12 @@ public class WechatController extends BaseController {
private long time = 600l;
private final String token = "yeejoin_2021";
@Value("${tzs.wechat.token}")
private String WECHAT_TOKEN;
@Value("${tzs.wechat.ticketurl}")
private String WECHAT_TICKETURL;
private final String WeUrl = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=";
@Autowired
RedisUtils redisUtils;
......@@ -102,6 +107,9 @@ public class WechatController extends BaseController {
@Autowired
AlertCalledServiceImpl iAlertCalledService;
@Autowired
ISourceFileService sourceFileService;
/**
* 获取微信回调信息返回验证是否通过
* @param signature
......@@ -115,7 +123,7 @@ public class WechatController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "获取微信传回的get信息", notes = "获取微信传回的get信息")
public String getWechatInfo(@RequestParam String signature,@RequestParam String timestamp,@RequestParam String nonce,@RequestParam String echostr) {
List<String> params = new ArrayList<String>();
params.add(token);
params.add(WECHAT_TOKEN);
params.add(timestamp);
params.add(nonce);
Collections.sort(params);
......@@ -146,7 +154,7 @@ public class WechatController extends BaseController {
throw new BadRequest("token不存在或已失效");
}
String token = redisUtils.get(RedisKey.WECHAT_TOKEN).toString();
String result = HttpUtils.doGet(WeUrl+token+"&type=jsapi");
String result = HttpUtils.doGet(WECHAT_TICKETURL+token+"&type=jsapi");
JSONObject jsonObject = JSONObject.parseObject(result);
String ticket = jsonObject.get("ticket").toString();
params.add("jsapi_ticket="+ticket);
......@@ -355,6 +363,7 @@ public class WechatController extends BaseController {
return ResponseHelper.buildResponse(distance);
}
/**
* 获取任务详情
*
......@@ -367,104 +376,7 @@ public class WechatController extends BaseController {
if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败.");
}
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId);
List<AlertFormValue> paperList = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
temp.setHasDeadHurt("无");
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getAlertId());
// 警情动态表单数据
List<AlertFormValue> alertList = iAlertFormValueService.list(queryWrapper);
alertList.stream().forEach(t -> {
String value = t.getFieldValue();
if("trapped_floor_num".equals(t.getFieldCode())) {
// 被困楼层
temp.setTrappedFloorNum(value);
} else if("trapped_num".equals(t.getFieldCode())) {
// 被困人数
temp.setTrappedNum(value);
} else if("injured_num".equals(t.getFieldCode())) {
// 受伤人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
} else if("die_num".equals(t.getFieldCode())) {
// 死亡人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
}
});
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
}
});
// 预留照片处理
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
} else if("feedback_result".equals(t.getFieldCode())) {
// 反馈结果
temp.setFeedbackResult(value);
}
});
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
temp.setActionResult(value);
}
});
break;
}
return ResponseHelper.buildResponse(temp);
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
}
/**
......@@ -480,103 +392,7 @@ public class WechatController extends BaseController {
throw new BadRequest("参数校验失败.");
}
if(dispatchTaskService.taskArrive(taskId)) {
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId);
List<AlertFormValue> paperList = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
temp.setHasDeadHurt("无");
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getAlertId());
// 警情动态表单数据
List<AlertFormValue> alertList = iAlertFormValueService.list(queryWrapper);
alertList.stream().forEach(t -> {
String value = t.getFieldValue();
if("trapped_floor_num".equals(t.getFieldCode())) {
// 被困楼层
temp.setTrappedFloorNum(value);
} else if("trapped_num".equals(t.getFieldCode())) {
// 被困人数
temp.setTrappedNum(value);
} else if("injured_num".equals(t.getFieldCode())) {
// 受伤人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
} else if("die_num".equals(t.getFieldCode())) {
// 死亡人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
}
});
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
}
});
// 预留照片处理
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
} else if("feedback_result".equals(t.getFieldCode())) {
// 反馈结果
temp.setFeedbackResult(value);
}
});
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
temp.setActionResult(value);
}
});
break;
}
return ResponseHelper.buildResponse(temp);
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
} else {
return ResponseHelper.buildResponse(new WechatMyTaskDto());
}
......@@ -596,103 +412,7 @@ public class WechatController extends BaseController {
throw new BadRequest("参数校验失败.");
}
if(dispatchTaskService.saveFinish(taskId)) {
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId);
List<AlertFormValue> paperList = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
temp.setHasDeadHurt("无");
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getAlertId());
// 警情动态表单数据
List<AlertFormValue> alertList = iAlertFormValueService.list(queryWrapper);
alertList.stream().forEach(t -> {
String value = t.getFieldValue();
if("trapped_floor_num".equals(t.getFieldCode())) {
// 被困楼层
temp.setTrappedFloorNum(value);
} else if("trapped_num".equals(t.getFieldCode())) {
// 被困人数
temp.setTrappedNum(value);
} else if("injured_num".equals(t.getFieldCode())) {
// 受伤人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
} else if("die_num".equals(t.getFieldCode())) {
// 死亡人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
}
});
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
}
});
// 预留照片处理
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
} else if("feedback_result".equals(t.getFieldCode())) {
// 反馈结果
temp.setFeedbackResult(value);
}
});
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
temp.setActionResult(value);
}
});
break;
}
return ResponseHelper.buildResponse(temp);
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
} else {
return ResponseHelper.buildResponse(new WechatMyTaskDto());
}
......@@ -700,21 +420,6 @@ public class WechatController extends BaseController {
/**
* 创建验证码
* @return
*/
public static String getrandom(){
String code = "";
Random random = new Random();
for (int i = 0; i < 6; i++) {
int r = random.nextInt(10); //每次随机出一个数字(0-9)
code = code + r; //把每次随机出的数字拼在一起
}
return code;
}
/**
* 获取任务列表
*
* @return
......@@ -789,4 +494,121 @@ public class WechatController extends BaseController {
JSONObject result = wechatService.sendWechatModelMessage(relation.getOpenId(),test);
return ResponseHelper.buildResponse(result);
}
private WechatMyTaskDto getTaskDtoByTaskId(Long taskId) {
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId);
List<AlertFormValue> paperList = null;
Map<String, List<AttachmentDto>> imgMap = null;
List<AttachmentDto> imgDtos = null;
Map<String, List<AttachmentDto>> errorImgMap = null;
List<AttachmentDto> errorImgDtos = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
temp.setHasDeadHurt("无");
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getAlertId());
// 警情动态表单数据
List<AlertFormValue> alertList = iAlertFormValueService.list(queryWrapper);
alertList.stream().forEach(t -> {
String value = t.getFieldValue();
if("trapped_floor_num".equals(t.getFieldCode())) {
// 被困楼层
temp.setTrappedFloorNum(value);
} else if("trapped_num".equals(t.getFieldCode())) {
// 被困人数
temp.setTrappedNum(value);
} else if("injured_num".equals(t.getFieldCode())) {
// 受伤人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
} else if("die_num".equals(t.getFieldCode())) {
// 死亡人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
}
});
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
} else if("feedback_result".equals(t.getFieldCode())) {
// 反馈结果
temp.setFeedbackResult(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
errorImgMap = sourceFileService.getAttachments(temp.getAlertId());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
temp.setActionResult(value);
}
});
break;
}
return temp;
}
}
......@@ -14,6 +14,7 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
......@@ -26,6 +27,7 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.RescueProcess;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template;
import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit;
import com.yeejoin.amos.boot.module.tzs.api.entity.WechatRelation;
import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.TzsCommonParam;
......@@ -38,6 +40,7 @@ import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.rdbms.service.BaseService;
......@@ -96,6 +99,30 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
@Autowired
ISourceFileService ISourceFileService;
@Autowired
WechatRelationServiceImpl wechatRelationServiceImpl;
@Autowired
WechatServiceImpl wechatService;
@Value("${tzs.wechat.tempId,kr}")
private String KRJY_TEMPID;
@Value("${tzs.wechat.tempId,wx}")
private String WX_TEMPID;
@Value("${tzs.wechat.tempId,ts}")
private String TS_TEMPID;
@Value("${tzs.wechat.url,kr}")
private String KRJY_URL;
@Value("${tzs.wechat.url,wx}")
private String WX_URL;
@Value("${tzs.wechat.url,ts}")
private String TS_URL;
/**
* 分页查询
*/
......@@ -207,6 +234,8 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
dispatchPaperServiceImpl.update(new LambdaUpdateWrapper<DispatchPaper>().
set(DispatchPaper::getArriveTime,now).
set(DispatchPaper::getSaveOrgName,task.getResponseOrgName()).
set(DispatchPaper::getArriveFeedbackCode,"856").
set(DispatchPaper::getArriveFeedbackType,"主动反馈").
eq(DispatchPaper::getSequenceNbr,task.getPaperId()));
// 如果存在救援过程表更新救援过程表中信息
if(task.getIsSaveTask() != null && task.getIsSaveTask()) {
......@@ -405,7 +434,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
// 处置结果get
temp.setActionResult(value);
}
});
......@@ -414,6 +443,32 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
return temp;
}
@Override
public WechatMessageDto getWechatMessageDtoByDispatchTaskDto(DispatchTaskDto dispatchTaskDto) {
WechatMessageDto temp = new WechatMessageDto();
// 根据警情分类 封装MessageDto
AlertCalled alertCalled = alertCalledServiceImpl.getById(dispatchTaskDto.getAlertId());
Map<String,String> data = new HashMap<>();
data.put("address",alertCalled.getAddress());
data.put("dispatchTime", DateUtils.date2LongStr(dispatchTaskDto.getDispatchTime()));
if(AlertStageEnums.KRJY.getId().equals(dispatchTaskDto.getAlertCode())) {
temp.setTemplateId(KRJY_TEMPID);
temp.setUrl(KRJY_URL);
temp.setData(data);
} else if(AlertStageEnums.GZWX.getId().equals(dispatchTaskDto.getAlertCode())) {
temp.setTemplateId(WX_TEMPID);
temp.setUrl(WX_URL);
temp.setData(data);
} else if(AlertStageEnums.TSZX.getId().equals(dispatchTaskDto.getAlertCode())) {
temp.setTemplateId(TS_TEMPID);
temp.setUrl(TS_URL);
temp.setData(data);
}
return temp;
}
@Transactional
@Override
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
......@@ -529,7 +584,12 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
rescueProcessServiceImpl.updateByAlertId(rescueProcessDto);
}
}
// 发送任务单
WechatRelation temp = wechatRelationServiceImpl.getOne(new LambdaQueryWrapper<WechatRelation>().eq(WechatRelation::getPhone,dispatchTaskDto.getResponseUserTel()));
if(temp != null && temp.getOpenId() != null) {
WechatMessageDto dto = this.getWechatMessageDtoByDispatchTaskDto(dispatchTaskDto);
wechatService.sendWechatModelMessage(temp.getOpenId() , dto);
}
}
return flag;
}
......
......@@ -148,10 +148,11 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
RescueProcessDto rescueProcessDto = rescueProcessServiceImpl.getProcessByAlertId(alertId);
String FKFS = rescueProcessDto.getArriveFeedbackType();
DispatchPaperFormDto dispatchPaperFormDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(alertId);
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
String FKFS = dispatchPaper.getArriveFeedbackType();
content = content.replace("$FKFS",FKFS);
if(true == dispatchTask.getIsSaveTask()) {
if(dispatchTask.getIsSaveTask() != null && dispatchTask.getIsSaveTask()) {
// 到达的处置环节为维保已到达或者 已到达
CZHJ = DispatchPaperEnums.rescueArrived;
} else {
......
......@@ -203,10 +203,18 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
rescueProcess = BeanDtoVoUtils.convert(rescueProcessDto, RescueProcess.class);
Boolean flag =this.updateById(rescueProcess);
if(arriveByUser) { // 手动到达
DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(rescueProcessDto.getAlertId());
if (dispatchPaperDto == null || dispatchPaperDto.getDispatchPaper() == null) {
throw new BadRequest("派遣单信息未找到");
}
DispatchPaper dispatchPaper = dispatchPaperDto.getDispatchPaper();
dispatchPaper.setArriveFeedbackCode(rescueProcessDto.getArriveFeedbackCode());
dispatchPaper.setArriveFeedbackType(rescueProcessDto.getArriveFeedbackType());
// 更新派遣单
dispatchPaperServiceImpl.updateById(dispatchPaper);
// 如果存在三级响应id 则默认三级响应 否则为使用单位
Long taskId = dispatchPaperDto.getDispatchPaper().getRepairOrgTaskId();
if(taskId == null) {
......@@ -215,6 +223,7 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
if(taskId == null) {
throw new BadRequest("派遣任务单信息未找到");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType( rescueProcessDto.getAlertId(),"DD",taskId,sendUser); //保存接警日志
}
if(saveByUser) { // 手动救援
......
......@@ -146,4 +146,5 @@ public class WechatServiceImpl implements IWechatService {
return response;
}
}
\ No newline at end of file
......@@ -46,3 +46,15 @@ tzs.wechat.url=https://api.weixin.qq.com
tzs.wechat.appid=wx8918c1aaad956617
##wechatSECRET
tzs.wechat.secret=337c3d8f3e749140d4f9aedc8311033b
##wechatToken
tzs.wechat.token=yeejoin_2021
##wechatTicketUrl
tzs.wechat.ticketurl=https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
tzs.wechat.tempId.kr=SLjmNJoCNLC3FBcYzWzR-u3el0kqXf8WMTmzw8dAQm4
tzs.wechat.url.kr=www.baidu.com
tzs.wechat.tempId.wx=SLjmNJoCNLC3FBcYzWzR-u3el0kqXf8WMTmzw8dAQm4
tzs.wechat.url.wx=www.baidu.com
tzs.wechat.tempId.ts=SLjmNJoCNLC3FBcYzWzR-u3el0kqXf8WMTmzw8dAQm4
tzs.wechat.url.ts=www.baidu.com
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment