用户投诉预警单提交

This commit is contained in:
hzj
2024-05-22 20:24:10 +08:00
parent a044e26fa3
commit a0b81b1bda
5 changed files with 65 additions and 20 deletions

View File

@@ -16,10 +16,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@@ -43,7 +40,7 @@ public class SupervisionUserComplaintController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/add")
@ApiOperation("投诉问题填报")
@ApiImplicitParam(name = "supervisionUserComplaint", value = "实体参数", required = true)
@ApiImplicitParam(name = "supervisionUserComplaintParam", value = "实体参数", required = true)
public HttpResult<String> addSupervisionUserComplaint(@RequestBody SupervisionUserComplaintParam supervisionUserComplaintParam) {
String methodDescribe = getMethodDescribe("addSupervisionUserComplaint");
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, supervisionUserComplaintService.addSupervisionUserComplaint(supervisionUserComplaintParam), methodDescribe);
@@ -51,6 +48,14 @@ public class SupervisionUserComplaintController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/initiateWarningLeaflet")
@ApiOperation("针对用户投诉发起告警单")
public HttpResult<Boolean> initiateWarningLeaflet(@RequestParam("id") String id){
String methodDescribe = getMethodDescribe("initiateWarningLeaflet");
supervisionUserComplaintService.initiateWarningLeaflet(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, Boolean.TRUE, methodDescribe);
}

View File

@@ -1,6 +1,7 @@
package com.njcn.supervision.service.leaflet.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
@@ -12,6 +13,7 @@ import com.njcn.bpm.api.BpmProcessFeignClient;
import com.njcn.bpm.enums.BpmTaskStatusEnum;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
import com.njcn.supervision.enums.FlowStatusEnum;
import com.njcn.supervision.enums.LeafletTypeEnum;
@@ -29,14 +31,13 @@ import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.UserFeignClient;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -165,7 +166,11 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
public String addLineOverLimitData(RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO) {
//组装预警告警信息
String info = assembleOverLimitInfo(rMpPartHarmonicDetailDTO);
// checkInfo(info);
//检查是否存在该预警单
List<WarningLeaflet> list = this.lambdaQuery().eq(WarningLeaflet::getIssueDetail, info).list();
if(CollectionUtil.isNotEmpty(list)){
throw new BusinessException("该预/告警单以发布");
}
this.createLeaflet(
rMpPartHarmonicDetailDTO.getMeasurementPointName(),
IdWorker.get32UUID(),

View File

@@ -19,4 +19,5 @@ public interface SupervisionUserComplaintPOService extends IService<SupervisionU
Page<SupervisionUserComplaintVO> getSupervisionUserComplaint(SupervisionUserComplaintParam.SupervisionUserComplaintQueryParam supervisionUserComplaintQueryParam);
void initiateWarningLeaflet(String id);
}

View File

@@ -1,15 +1,21 @@
package com.njcn.supervision.service.problem.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.supervision.enums.LeafletTypeEnum;
import com.njcn.supervision.enums.ProblemTypeEnum;
import com.njcn.supervision.mapper.problem.SupervisionUserComplaintPOMapper;
import com.njcn.supervision.pojo.param.problem.SupervisionUserComplaintParam;
import com.njcn.supervision.pojo.po.problem.SupervisionUserComplaintPO;
import com.njcn.supervision.pojo.vo.problem.SupervisionUserComplaintVO;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
import com.njcn.supervision.service.problem.SupervisionUserComplaintPOService;
import com.njcn.user.api.UserFeignClient;
import com.njcn.web.factory.PageFactory;
@@ -34,13 +40,14 @@ import java.util.Objects;
public class SupervisionUserComplaintPOServiceImpl extends ServiceImpl<SupervisionUserComplaintPOMapper, SupervisionUserComplaintPO> implements SupervisionUserComplaintPOService{
private final UserFeignClient userFeignClient;
private final IWarningLeafletService warningLeafletService;
@Override
@Transactional(rollbackFor = Exception.class)
public String addSupervisionUserComplaint(SupervisionUserComplaintParam supervisionUserComplaintParam) {
SupervisionUserComplaintPO supervisionUserComplaintPO = new SupervisionUserComplaintPO();
BeanUtil.copyProperties(supervisionUserComplaintParam,supervisionUserComplaintPO);
supervisionUserComplaintPO.setInitiateWarningFlag(1);
supervisionUserComplaintPO.setInitiateWarningFlag(0);
supervisionUserComplaintPO.setState(DataStateEnum.ENABLE.getCode());
this.save(supervisionUserComplaintPO);
return supervisionUserComplaintPO.getId();
@@ -66,4 +73,42 @@ public class SupervisionUserComplaintPOServiceImpl extends ServiceImpl<Supervisi
return page;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void initiateWarningLeaflet(String id) {
SupervisionUserComplaintPO byId = this.getById(id);
//组装告警单
String complainteDetail = assembleComplainteDetail(byId);
/*
* 1、预告警单名称此处暂时用用户名+投诉
* 2、预告警编号暂时随机by yxb
* 3、问题类型1技术监督管理2在线监测超标问题3用户投诉4现场测试超标此处是现场测试超标
* 4、对应问题源id用于查询详细数据
* 5、单子类型1预警单2告警单
* 6、问题详细描述
* */
warningLeafletService.createLeaflet(
byId.getUserName().concat("投诉"),
IdWorker.get32UUID(),
id,
ProblemTypeEnum.USER.getCode(),
LeafletTypeEnum.ALARM.getCode(),
complainteDetail
);
this.lambdaUpdate().eq(SupervisionUserComplaintPO::getId,id).set(SupervisionUserComplaintPO::getInitiateWarningFlag,1).update();
}
private String assembleComplainteDetail(SupervisionUserComplaintPO byId) {
String issueDetail = ""
.concat(LocalDateTimeUtil.format(byId.getCreateTime(), DatePattern.CHINESE_DATE_PATTERN))
.concat(",用户")
.concat(byId.getUserName())
.concat("发起的用户投诉")
.concat("投诉内容")
.concat(byId.getComplaintText())
;
return issueDetail;
}
}