|
@@ -1,23 +1,29 @@
|
|
package com.qmth.sop.business.service.impl;
|
|
package com.qmth.sop.business.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.boot.api.exception.ApiException;
|
|
import com.qmth.boot.api.exception.ApiException;
|
|
import com.qmth.sop.business.bean.result.TBViolationResult;
|
|
import com.qmth.sop.business.bean.result.TBViolationResult;
|
|
|
|
+import com.qmth.sop.business.entity.SysMessage;
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
import com.qmth.sop.business.entity.TBViolation;
|
|
import com.qmth.sop.business.entity.TBViolation;
|
|
import com.qmth.sop.business.mapper.TBViolationMapper;
|
|
import com.qmth.sop.business.mapper.TBViolationMapper;
|
|
|
|
+import com.qmth.sop.business.service.SequenceService;
|
|
|
|
+import com.qmth.sop.business.service.SysMessageService;
|
|
import com.qmth.sop.business.service.TBViolationService;
|
|
import com.qmth.sop.business.service.TBViolationService;
|
|
-import com.qmth.sop.common.enums.ExceptionResultEnum;
|
|
|
|
-import com.qmth.sop.common.enums.FieldUniqueEnum;
|
|
|
|
-import com.qmth.sop.common.enums.ViolationStatusEnum;
|
|
|
|
-import com.qmth.sop.common.enums.ViolationTypeEnum;
|
|
|
|
|
|
+import com.qmth.sop.business.util.SmsSendUtil;
|
|
|
|
+import com.qmth.sop.common.contant.SystemConstant;
|
|
|
|
+import com.qmth.sop.common.enums.*;
|
|
import com.qmth.sop.common.util.ResultUtil;
|
|
import com.qmth.sop.common.util.ResultUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
import org.springframework.dao.DuplicateKeyException;
|
|
import org.springframework.dao.DuplicateKeyException;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
|
|
@@ -33,6 +39,13 @@ import java.util.Objects;
|
|
@Service
|
|
@Service
|
|
public class TBViolationServiceImpl extends ServiceImpl<TBViolationMapper, TBViolation> implements TBViolationService {
|
|
public class TBViolationServiceImpl extends ServiceImpl<TBViolationMapper, TBViolation> implements TBViolationService {
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ SysMessageService sysMessageService;
|
|
|
|
+ @Resource
|
|
|
|
+ SmsSendUtil smsSendUtil;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ SequenceService sequenceService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询列表
|
|
* 查询列表
|
|
@@ -44,7 +57,7 @@ public class TBViolationServiceImpl extends ServiceImpl<TBViolationMapper, TBVio
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<TBViolationResult> query(IPage<Map> iPage, Long serviceId, ViolationTypeEnum type, ViolationStatusEnum status, Long userId, String custom, String sopNo, Long createId, Long startTime, Long endTime, Long id) {
|
|
public IPage<TBViolationResult> query(IPage<Map> iPage, Long serviceId, ViolationTypeEnum type, ViolationStatusEnum status, Long userId, String custom, String sopNo, Long createId, Long startTime, Long endTime, Long id) {
|
|
- return this.baseMapper.query(iPage,serviceId,Objects.nonNull(type)?type.name():null,Objects.nonNull(status)?status.name():null,userId,custom,sopNo,createId,startTime,endTime,id);
|
|
|
|
|
|
+ return this.baseMapper.query(iPage, serviceId, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(status) ? status.name() : null, userId, custom, sopNo, createId, startTime, endTime, id);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -56,13 +69,39 @@ public class TBViolationServiceImpl extends ServiceImpl<TBViolationMapper, TBVio
|
|
@Transactional
|
|
@Transactional
|
|
public Boolean saveTBViolation(TBViolation tBViolation) {
|
|
public Boolean saveTBViolation(TBViolation tBViolation) {
|
|
try {
|
|
try {
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
if (Objects.isNull(tBViolation.getId())) {// 新增
|
|
if (Objects.isNull(tBViolation.getId())) {// 新增
|
|
|
|
+ tBViolation.setCode(sequenceService.selectNextVal("violationFlow").toString());
|
|
tBViolation.insertInfo(sysUser.getId());
|
|
tBViolation.insertInfo(sysUser.getId());
|
|
|
|
+ saveOrUpdate(tBViolation);
|
|
|
|
+ IPage<TBViolationResult> resultIPage = this.query(new Page<>(1, 1), null, null, null, null, null, null, null, null, null, tBViolation.getId());
|
|
|
|
+ TBViolationResult tbViolationResult = resultIPage.getRecords().get(0);
|
|
|
|
+
|
|
|
|
+// String content = MessageEnum.NOTICE_OF_VIOLATION_REMIND.getTemplate();
|
|
|
|
+// content = content.replaceAll("\\$\\{userName\\}", tbViolationResult.getUserName());
|
|
|
|
+// content = content.replaceAll("\\$\\{serviceName\\}", tbViolationResult.getService());
|
|
|
|
+// content = content.replaceAll("\\$\\{customName\\}", tbViolationResult.getCustom());
|
|
|
|
+// content = content.replaceAll("\\$\\{createUserName\\}", tbViolationResult.getCreateName());
|
|
|
|
+// content = content.replaceAll("\\$\\{violationType\\}", tbViolationResult.getType().getTitle());
|
|
|
|
+
|
|
|
|
+ String configKey = SystemConstant.SMS_VIOLATION_REMIND_CODE;
|
|
|
|
+ Map<String, Object> templateParam = new HashMap<>();
|
|
|
|
+ templateParam.put("userName", tbViolationResult.getUserName());
|
|
|
|
+ templateParam.put("serviceName", tbViolationResult.getService());
|
|
|
|
+ templateParam.put("customName", tbViolationResult.getCustom());
|
|
|
|
+ templateParam.put("createUserName", tbViolationResult.getCreateName());
|
|
|
|
+ templateParam.put("violationType", tbViolationResult.getType().getTitle());
|
|
|
|
+
|
|
|
|
+ SysMessage sysMessage = new SysMessage(tBViolation.getCrmNo(), tBViolation.getCode(),
|
|
|
|
+ MessageTypeEnum.VIOLATION, tBViolation.getType().name(), tBViolation.getServiceId(), tBViolation.getUserId(), tBViolation.getContent());
|
|
|
|
+ sysMessageService.saveSysMessage(Collections.singletonList(sysMessage));
|
|
|
|
+ //发送短信
|
|
|
|
+ smsSendUtil.sendSms(tbViolationResult.getMobileNumber(), configKey, templateParam);
|
|
} else { // 修改
|
|
} else { // 修改
|
|
tBViolation.updateInfo(sysUser.getId());
|
|
tBViolation.updateInfo(sysUser.getId());
|
|
|
|
+ saveOrUpdate(tBViolation);
|
|
}
|
|
}
|
|
- return saveOrUpdate(tBViolation);
|
|
|
|
|
|
+ return true;
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
if (e instanceof DuplicateKeyException) {
|
|
if (e instanceof DuplicateKeyException) {
|
|
String errorColumn = e.getCause().toString();
|
|
String errorColumn = e.getCause().toString();
|