Commit 6442a095 authored by taabe's avatar taabe

接口修改

parent 53e065c8
......@@ -15,6 +15,7 @@ public enum AlertBusinessTypeEnum {
/**
* 警情续报,非警情确认,警情结案
*/
警情初报("reportAlert", "297", "警情初报"),
警情续报("reportAlert", "313", "警情续报"),
非警情确认("notAlert", "314", "非警情确认"),
警情结案("endAlert", "315", "警情结案");
......
......@@ -35,10 +35,10 @@ public interface IAlertSubmittedService extends IService<AlertSubmitted> {
* 警情报送保存
*
* @param alertSubmittedDto
* @param userInfo
* @param userName
* @return
*/
Boolean save(AlertSubmittedDto alertSubmittedDto, AgencyUserModel userInfo);
Boolean save(AlertSubmittedDto alertSubmittedDto, String userName) throws Exception;
AlertSubmittedSMSVo getSchedulingContent(Long id);
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
......@@ -8,39 +10,28 @@ import lombok.Data;
@Data
public class AlertSubmittedExtVo extends AlertSubmittedVo {
/**
* 主键
*/
@ApiModelProperty(value = "主键")
private Long sequenceNbr;
/**
* 记录主表id
*/
@ApiModelProperty(value = "记录主表id")
private Long alertSubmittedId;
/**
* 单位名称
*/
@ApiModelProperty(value = "单位名称")
private String companyName;
/**
* 人员名称
*/
@ApiModelProperty(value = "人员名称")
private String userName;
/**
* 电话号码
*/
@ApiModelProperty(value = "电话号码")
private String userPhone;
/**
* 通话时长
*/
@ApiModelProperty(value = "通话时长")
private String communicationTime;
/**
* 报送对象
*/
@ApiModelProperty(value = "报送对象")
private String extraInfo;
@ApiModelProperty(value = "报送内容value")
private JSONObject submissionContentValue;
}
......@@ -31,7 +31,7 @@
<if test="alertSubmittedDto.businessTypeCode != null and alertSubmittedDto.businessTypeCode != ''">
and jas.business_type_code = #{alertSubmittedDto.businessTypeCode}
</if>
order by jas.update_time desc
order by jas.submission_time desc
</select>
<select id="listReportingByParam" resultType="com.yeejoin.amos.boot.module.jcs.api.vo.AlertSubmittedExtVo">
select
......@@ -61,8 +61,8 @@
<if test="alertSubmittedDto.businessTypeCode != null and alertSubmittedDto.businessTypeCode != ''">
and jas.business_type_code = #{alertSubmittedDto.businessTypeCode}
</if>
group by jas.sequence_nbr, jas.update_time
order by jas.update_time desc
group by jas.sequence_nbr, jas.submission_time
order by jas.submission_time desc
</select>
<select id="getSchedulingContent" resultType="com.yeejoin.amos.boot.module.jcs.api.vo.AlertSubmittedSMSVo">
......
......@@ -69,9 +69,8 @@ public class AlertSubmittedController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增警情报送记录", notes = "新增警情报送记录")
public ResponseModel<Object> saveAlertSubmitted(@RequestBody AlertSubmittedDto alertSubmittedDto) {
return ResponseHelper.buildResponse(alertSubmittedService.save(alertSubmittedDto, getUserInfo()));
public ResponseModel<Object> saveAlertSubmitted(@RequestBody AlertSubmittedDto alertSubmittedDto) throws Exception {
return ResponseHelper.buildResponse(alertSubmittedService.save(alertSubmittedDto, getUserInfo().getUserName()));
}
/**
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.utils.EnumsUtils;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertSubmittedDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.TemplateExtendDto;
......@@ -20,6 +18,7 @@ import com.yeejoin.amos.boot.module.jcs.api.enums.SubmissionMethodEnum;
import com.yeejoin.amos.boot.module.jcs.api.mapper.AlertSubmittedMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IAlertSubmittedObjectService;
import com.yeejoin.amos.boot.module.jcs.api.service.IAlertSubmittedService;
import com.yeejoin.amos.boot.module.jcs.api.vo.AlertCalledVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.AlertSubmittedExtVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.AlertSubmittedSMSVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.FormValue;
......@@ -63,6 +62,8 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto,Ale
TemplateServiceImpl templateService;
@Autowired
PowerTransferServiceImpl powerTransferService;
@Autowired
RuleAlertCalledService ruleAlertCalledService;
@Override
public SchedulingReportingVo listSchedulingByParam(AlertSubmittedDto queryParam) {
......@@ -91,16 +92,14 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto,Ale
if (ObjectUtils.isNotEmpty(alertSubmittedExtVoList)) {
// 组装额外信息
String _extraInfo = "报送给%s、%s";
// TODO 调用规则查询默认报送人和单位
alertSubmittedExtVoList.forEach(alertSubmittedExtVo -> {
alertSubmittedExtVo.setExtraInfo(String.format(_extraInfo, alertSubmittedExtVo.getCompanyName(),
alertSubmittedExtVo.getUserName()));
// TODO 填充短信报送内容
TemplateExtendDto template = templateService.getByType(alertSubmittedExtVo.getBusinessTypeCode());
String richContent = template.getRichContent();
JSONObject objContent = JSON.parseObject(alertSubmittedExtVo.getSubmissionContent());
alertSubmittedExtVo.setSubmissionContent(templateReplace(richContent, objContent));
alertSubmittedExtVo.setSubmissionContentValue(JSONObject.parseObject(alertSubmittedExtVo.getSubmissionContent()));
alertSubmittedExtVo.setSubmissionContent(richContent);
});
schedulingReportingVo.setSchedulingReportingList(alertSubmittedExtVoList);
......@@ -110,36 +109,51 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto,Ale
return schedulingReportingVo;
}
private String templateReplace(String content, JSONObject object) {
for (Map.Entry<String, Object> entry : object.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
content = content.replaceAll(key, String.valueOf(value));
}
return content;
@Override
public Boolean save(AlertSubmittedDto alertSubmittedDto, String userName) throws Exception {
saveAlertSubmitted(alertSubmittedDto, userName);
// TODO 调用规则
ruleAlertCalledService.fireAlertCalledRule(new AlertCalledVo(null,null));
return true;
}
@Override
public Boolean save(AlertSubmittedDto alertSubmittedDto, AgencyUserModel userModel) {
/**
* 规则回调
*/
public void ruleCallbackAction(Object obj) {
AlertSubmittedDto alertSubmittedDto = new AlertSubmittedDto();
alertSubmittedDto.setSubmissionMethodCode(SubmissionMethodEnum.SMS.getCode());
alertSubmittedDto.setSchedulingTypeCode(AlertSchedulingTypeEnum.融合调度.getCode());
// alertSubmittedDto.setBusinessTypeCode(AlertBusinessTypeEnum.警情初报.);
saveAlertSubmitted(alertSubmittedDto, "");
}
/**
* 短信报送
*
* @param alertSubmittedDto 警情信息
* @param userName 用户名
*/
public void saveAlertSubmitted(AlertSubmittedDto alertSubmittedDto, String userName) {
// 1.保存警情记录主表
AlertSubmitted alertSubmitted = new AlertSubmitted();
alertSubmitted.setAlertCalledId(alertSubmittedDto.getAlertCalledId());
alertSubmitted.setBusinessTypeCode(alertSubmittedDto.getBusinessTypeCode());
Optional<AlertBusinessTypeEnum> businessTypeEnum = EnumsUtils.getEnumObject(AlertBusinessTypeEnum.class,
e -> e.getCode().equals(alertSubmittedDto.getBusinessTypeCode()));
alertSubmitted.setBusinessType(businessTypeEnum.orElse(AlertBusinessTypeEnum.警情续报).getName());
alertSubmitted.setBusinessType(businessTypeEnum.get().getName());
alertSubmitted.setCallLogId(alertSubmittedDto.getCallLogId());
alertSubmitted.setSubmissionMethodCode(alertSubmittedDto.getSubmissionMethodCode());
Optional<SubmissionMethodEnum> submissionMethodEnum = EnumsUtils.getEnumObject(SubmissionMethodEnum.class,
e -> e.getCode().equals(alertSubmittedDto.getBusinessTypeCode()));
alertSubmitted.setSubmissionMethod(submissionMethodEnum.orElse(SubmissionMethodEnum.SMS).getName());
alertSubmitted.setSubmissionMethod(submissionMethodEnum.get().getName());
Optional<AlertSchedulingTypeEnum> alertSchedulingTypeEnum = EnumsUtils.getEnumObject(AlertSchedulingTypeEnum.class,
e -> e.getCode().equals(alertSubmittedDto.getBusinessTypeCode()));
alertSubmitted.setSchedulingTypeCode(alertSubmittedDto.getSchedulingTypeCode());
alertSubmitted.setSchedulingType(alertSchedulingTypeEnum.orElse(AlertSchedulingTypeEnum.融合调度).getName());
alertSubmitted.setSchedulingType(alertSchedulingTypeEnum.get().getName());
alertSubmitted.setSubmissionContent(alertSubmittedDto.getSubmitContent().toJSONString());
alertSubmitted.setSender(userModel.getUserName());
alertSubmitted.setRecUserName(userModel.getUserName());
alertSubmitted.setSender(userName);
alertSubmitted.setRecUserName(userName);
alertSubmitted.setUpdateTime(new Date());
alertSubmitted.setSubmissionTime(new Date());
......@@ -155,7 +169,7 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto,Ale
alertSubmittedObject.setType(true);
alertSubmittedObject.setCompanyId(company.getCompanyId());
alertSubmittedObject.setCompanyName(company.getCompanyName());
alertSubmittedObject.setRecUserName(userModel.getUserName());
alertSubmittedObject.setRecUserName(userName);
alertSubmittedObjectList.add(alertSubmittedObject);
});
......@@ -171,7 +185,7 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto,Ale
alertSubmittedObject.setUserId(person.getPersonId());
alertSubmittedObject.setUserName(person.getPersonName());
alertSubmittedObject.setUserPhone(person.getPersonPhone());
alertSubmittedObject.setRecUserName(userModel.getUserName());
alertSubmittedObject.setRecUserName(userName);
alertSubmittedObjectList.add(alertSubmittedObject);
});
......@@ -184,8 +198,8 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto,Ale
alertSubmittedDto.getBusinessTypeCode());
// 4.发送任务消息
// 调用平台短信发送接口发送消息
return true;
// 4.1组织短信内容
// 4.2调用短信发送接口
}
public void getAlertSubmittedContent(Long alertCalledId, ArrayList<TemplateVo> templateVos, String companyName) throws IllegalAccessException {
......
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