Commit f34e8fdd authored by kongfm's avatar kongfm

更新tzs 相关代码

parent 6107fda4
...@@ -112,4 +112,10 @@ public class DispatchPaperDto extends BaseDto { ...@@ -112,4 +112,10 @@ public class DispatchPaperDto extends BaseDto {
@ApiModelProperty(value = "处置人") @ApiModelProperty(value = "处置人")
private String dealUser; private String dealUser;
@ApiModelProperty(value = "到达反馈方式")
private String arriveFeedbackType;
@ApiModelProperty(value = "到达反馈方式code")
private String arriveFeedbackCode;
} }
package com.yeejoin.amos.boot.module.tzs.api.dto; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -99,13 +100,13 @@ public class WechatMyTaskDto { ...@@ -99,13 +100,13 @@ public class WechatMyTaskDto {
private String remark; private String remark;
@ApiModelProperty(value = "现场照片") @ApiModelProperty(value = "现场照片")
private List<String> fixImgs; private List<AttachmentDto> fixImgs;
@ApiModelProperty(value = "故障描述") @ApiModelProperty(value = "故障描述")
private String errorContent; private String errorContent;
@ApiModelProperty(value = "故障照片") @ApiModelProperty(value = "故障照片")
private List<String> errorImgs; private List<AttachmentDto> errorImgs;
@ApiModelProperty(value = "反馈时间") @ApiModelProperty(value = "反馈时间")
private Date responseTime; private Date responseTime;
...@@ -120,7 +121,7 @@ public class WechatMyTaskDto { ...@@ -120,7 +121,7 @@ public class WechatMyTaskDto {
private String feedbackRemark; private String feedbackRemark;
@ApiModelProperty(value = "反馈现场照片") @ApiModelProperty(value = "反馈现场照片")
private List<String> feedBackImgs; private List<AttachmentDto> feedBackImgs;
@ApiModelProperty(value = "处置时间") @ApiModelProperty(value = "处置时间")
private Date dealTime; private Date dealTime;
......
...@@ -204,5 +204,18 @@ public class DispatchPaper extends BaseEntity { ...@@ -204,5 +204,18 @@ public class DispatchPaper extends BaseEntity {
@TableField("deal_user") @TableField("deal_user")
private String dealUser; 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; ...@@ -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.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto; 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.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -34,4 +36,10 @@ public interface IDispatchTaskService { ...@@ -34,4 +36,10 @@ public interface IDispatchTaskService {
List<WechatMyTaskListDto> getTaskListByPhonePager(String phone,String typeCode,Long current); List<WechatMyTaskListDto> getTaskListByPhonePager(String phone,String typeCode,Long current);
WechatMyTaskDto saveWechatFeedBack(WechatDispatchFeedbackDto wechatDispatchFeedbackDto); WechatMyTaskDto saveWechatFeedBack(WechatDispatchFeedbackDto wechatDispatchFeedbackDto);
/**
* 返回封装的WechatMessageDto
* @return
*/
WechatMessageDto getWechatMessageDtoByDispatchTaskDto(DispatchTaskDto dispatchTaskDto);
} }
...@@ -34,4 +34,5 @@ public interface IWechatService { ...@@ -34,4 +34,5 @@ public interface IWechatService {
* @return * @return
*/ */
JSONObject sendWechatModelMessage(String openId, WechatMessageDto wechatMessageDto); JSONObject sendWechatModelMessage(String openId, WechatMessageDto wechatMessageDto);
} }
...@@ -6,6 +6,8 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController; ...@@ -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.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; 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.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatAccessDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatAccessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
...@@ -36,6 +38,7 @@ import io.swagger.annotations.ApiParam; ...@@ -36,6 +38,7 @@ import io.swagger.annotations.ApiParam;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -65,7 +68,6 @@ import java.util.HashMap; ...@@ -65,7 +68,6 @@ import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random;
/** /**
* 微信公众号controller * 微信公众号controller
...@@ -77,9 +79,12 @@ public class WechatController extends BaseController { ...@@ -77,9 +79,12 @@ public class WechatController extends BaseController {
private long time = 600l; 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 @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
...@@ -102,6 +107,9 @@ public class WechatController extends BaseController { ...@@ -102,6 +107,9 @@ public class WechatController extends BaseController {
@Autowired @Autowired
AlertCalledServiceImpl iAlertCalledService; AlertCalledServiceImpl iAlertCalledService;
@Autowired
ISourceFileService sourceFileService;
/** /**
* 获取微信回调信息返回验证是否通过 * 获取微信回调信息返回验证是否通过
* @param signature * @param signature
...@@ -115,7 +123,7 @@ public class WechatController extends BaseController { ...@@ -115,7 +123,7 @@ public class WechatController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "获取微信传回的get信息", notes = "获取微信传回的get信息") @ApiOperation(httpMethod = "GET", value = "获取微信传回的get信息", notes = "获取微信传回的get信息")
public String getWechatInfo(@RequestParam String signature,@RequestParam String timestamp,@RequestParam String nonce,@RequestParam String echostr) { public String getWechatInfo(@RequestParam String signature,@RequestParam String timestamp,@RequestParam String nonce,@RequestParam String echostr) {
List<String> params = new ArrayList<String>(); List<String> params = new ArrayList<String>();
params.add(token); params.add(WECHAT_TOKEN);
params.add(timestamp); params.add(timestamp);
params.add(nonce); params.add(nonce);
Collections.sort(params); Collections.sort(params);
...@@ -146,7 +154,7 @@ public class WechatController extends BaseController { ...@@ -146,7 +154,7 @@ public class WechatController extends BaseController {
throw new BadRequest("token不存在或已失效"); throw new BadRequest("token不存在或已失效");
} }
String token = redisUtils.get(RedisKey.WECHAT_TOKEN).toString(); 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); JSONObject jsonObject = JSONObject.parseObject(result);
String ticket = jsonObject.get("ticket").toString(); String ticket = jsonObject.get("ticket").toString();
params.add("jsapi_ticket="+ticket); params.add("jsapi_ticket="+ticket);
...@@ -355,6 +363,7 @@ public class WechatController extends BaseController { ...@@ -355,6 +363,7 @@ public class WechatController extends BaseController {
return ResponseHelper.buildResponse(distance); return ResponseHelper.buildResponse(distance);
} }
/** /**
* 获取任务详情 * 获取任务详情
* *
...@@ -367,104 +376,7 @@ public class WechatController extends BaseController { ...@@ -367,104 +376,7 @@ public class WechatController extends BaseController {
if (ValidationUtil.isEmpty(taskId)){ if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId); return ResponseHelper.buildResponse(getTaskDtoByTaskId(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);
} }
/** /**
...@@ -480,103 +392,7 @@ public class WechatController extends BaseController { ...@@ -480,103 +392,7 @@ public class WechatController extends BaseController {
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
if(dispatchTaskService.taskArrive(taskId)) { if(dispatchTaskService.taskArrive(taskId)) {
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId); return ResponseHelper.buildResponse(getTaskDtoByTaskId(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);
} else { } else {
return ResponseHelper.buildResponse(new WechatMyTaskDto()); return ResponseHelper.buildResponse(new WechatMyTaskDto());
} }
...@@ -596,103 +412,7 @@ public class WechatController extends BaseController { ...@@ -596,103 +412,7 @@ public class WechatController extends BaseController {
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
if(dispatchTaskService.saveFinish(taskId)) { if(dispatchTaskService.saveFinish(taskId)) {
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId); return ResponseHelper.buildResponse(getTaskDtoByTaskId(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);
} else { } else {
return ResponseHelper.buildResponse(new WechatMyTaskDto()); return ResponseHelper.buildResponse(new WechatMyTaskDto());
} }
...@@ -700,21 +420,6 @@ public class WechatController extends BaseController { ...@@ -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 * @return
...@@ -789,4 +494,121 @@ public class WechatController extends BaseController { ...@@ -789,4 +494,121 @@ public class WechatController extends BaseController {
JSONObject result = wechatService.sendWechatModelMessage(relation.getOpenId(),test); JSONObject result = wechatService.sendWechatModelMessage(relation.getOpenId(),test);
return ResponseHelper.buildResponse(result); 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; ...@@ -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.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto; 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.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.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
...@@ -26,6 +27,7 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.RescueProcess; ...@@ -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.RescueStation;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template; 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.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.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums; import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.TzsCommonParam; import com.yeejoin.amos.boot.module.tzs.api.enums.TzsCommonParam;
...@@ -38,6 +40,7 @@ import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils; ...@@ -38,6 +40,7 @@ import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
...@@ -96,6 +99,30 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -96,6 +99,30 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
@Autowired @Autowired
ISourceFileService ISourceFileService; 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 ...@@ -207,6 +234,8 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
dispatchPaperServiceImpl.update(new LambdaUpdateWrapper<DispatchPaper>(). dispatchPaperServiceImpl.update(new LambdaUpdateWrapper<DispatchPaper>().
set(DispatchPaper::getArriveTime,now). set(DispatchPaper::getArriveTime,now).
set(DispatchPaper::getSaveOrgName,task.getResponseOrgName()). set(DispatchPaper::getSaveOrgName,task.getResponseOrgName()).
set(DispatchPaper::getArriveFeedbackCode,"856").
set(DispatchPaper::getArriveFeedbackType,"主动反馈").
eq(DispatchPaper::getSequenceNbr,task.getPaperId())); eq(DispatchPaper::getSequenceNbr,task.getPaperId()));
// 如果存在救援过程表更新救援过程表中信息 // 如果存在救援过程表更新救援过程表中信息
if(task.getIsSaveTask() != null && task.getIsSaveTask()) { if(task.getIsSaveTask() != null && task.getIsSaveTask()) {
...@@ -405,7 +434,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -405,7 +434,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
paperList.stream().forEach(t -> { paperList.stream().forEach(t -> {
String value = t.getFieldValue(); String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) { if("action_result".equals(t.getFieldCode())) {
// 处置结果 // 处置结果get
temp.setActionResult(value); temp.setActionResult(value);
} }
}); });
...@@ -414,6 +443,32 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -414,6 +443,32 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
return temp; 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 @Transactional
@Override @Override
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) { public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
...@@ -529,7 +584,12 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -529,7 +584,12 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
rescueProcessServiceImpl.updateByAlertId(rescueProcessDto); 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; return flag;
} }
......
...@@ -148,10 +148,11 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai ...@@ -148,10 +148,11 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId); DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName(); String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person); content = content.replace("$createTime",createTime).replace("$person",person);
RescueProcessDto rescueProcessDto = rescueProcessServiceImpl.getProcessByAlertId(alertId); DispatchPaperFormDto dispatchPaperFormDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(alertId);
String FKFS = rescueProcessDto.getArriveFeedbackType(); DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
String FKFS = dispatchPaper.getArriveFeedbackType();
content = content.replace("$FKFS",FKFS); content = content.replace("$FKFS",FKFS);
if(true == dispatchTask.getIsSaveTask()) { if(dispatchTask.getIsSaveTask() != null && dispatchTask.getIsSaveTask()) {
// 到达的处置环节为维保已到达或者 已到达 // 到达的处置环节为维保已到达或者 已到达
CZHJ = DispatchPaperEnums.rescueArrived; CZHJ = DispatchPaperEnums.rescueArrived;
} else { } else {
......
...@@ -203,10 +203,18 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu ...@@ -203,10 +203,18 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
rescueProcess = BeanDtoVoUtils.convert(rescueProcessDto, RescueProcess.class); rescueProcess = BeanDtoVoUtils.convert(rescueProcessDto, RescueProcess.class);
Boolean flag =this.updateById(rescueProcess); Boolean flag =this.updateById(rescueProcess);
if(arriveByUser) { // 手动到达 if(arriveByUser) { // 手动到达
DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(rescueProcessDto.getAlertId()); DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(rescueProcessDto.getAlertId());
if (dispatchPaperDto == null || dispatchPaperDto.getDispatchPaper() == null) { if (dispatchPaperDto == null || dispatchPaperDto.getDispatchPaper() == null) {
throw new BadRequest("派遣单信息未找到"); throw new BadRequest("派遣单信息未找到");
} }
DispatchPaper dispatchPaper = dispatchPaperDto.getDispatchPaper();
dispatchPaper.setArriveFeedbackCode(rescueProcessDto.getArriveFeedbackCode());
dispatchPaper.setArriveFeedbackType(rescueProcessDto.getArriveFeedbackType());
// 更新派遣单
dispatchPaperServiceImpl.updateById(dispatchPaper);
// 如果存在三级响应id 则默认三级响应 否则为使用单位 // 如果存在三级响应id 则默认三级响应 否则为使用单位
Long taskId = dispatchPaperDto.getDispatchPaper().getRepairOrgTaskId(); Long taskId = dispatchPaperDto.getDispatchPaper().getRepairOrgTaskId();
if(taskId == null) { if(taskId == null) {
...@@ -215,6 +223,7 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu ...@@ -215,6 +223,7 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
if(taskId == null) { if(taskId == null) {
throw new BadRequest("派遣任务单信息未找到"); throw new BadRequest("派遣任务单信息未找到");
} }
repairConsultServiceImpl.saveRepairConsultByAlertIdType( rescueProcessDto.getAlertId(),"DD",taskId,sendUser); //保存接警日志 repairConsultServiceImpl.saveRepairConsultByAlertIdType( rescueProcessDto.getAlertId(),"DD",taskId,sendUser); //保存接警日志
} }
if(saveByUser) { // 手动救援 if(saveByUser) { // 手动救援
......
...@@ -146,4 +146,5 @@ public class WechatServiceImpl implements IWechatService { ...@@ -146,4 +146,5 @@ public class WechatServiceImpl implements IWechatService {
return response; return response;
} }
} }
\ No newline at end of file
...@@ -46,3 +46,15 @@ tzs.wechat.url=https://api.weixin.qq.com ...@@ -46,3 +46,15 @@ tzs.wechat.url=https://api.weixin.qq.com
tzs.wechat.appid=wx8918c1aaad956617 tzs.wechat.appid=wx8918c1aaad956617
##wechatSECRET ##wechatSECRET
tzs.wechat.secret=337c3d8f3e749140d4f9aedc8311033b 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