wangmingyong@163.com 1 month ago
parent
commit
4390d0fb2b
  1. 2
      script/sql/zfjd-refactoring-v1/其他/njy/njy.sql
  2. 105
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/SiqMsgInfoController.java
  3. 10
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCpNoticeController.java
  4. 69
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/SiqMsgInfo.java
  5. 73
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/SiqMsgInfoBo.java
  6. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/thirdparty/SIQMsgParamBo.java
  7. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/thirdparty/YuGaoMsgParamBo.java
  8. 81
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SiqMsgInfoVo.java
  9. 15
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/SiqMsgInfoMapper.java
  10. 82
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISiqMsgInfoService.java
  11. 22
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EfcodeCpNoticeServiceImpl.java
  12. 174
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SiqMsgInfoServiceImpl.java
  13. 24
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/thirdparty/impl/SIQServiceImpl.java
  14. 6
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SiqMsgInfoMapper.xml

2
script/sql/zfjd-refactoring-v1/其他/njy/njy.sql

@ -6,3 +6,5 @@ ALTER TABLE enforcement_inspection_program ADD COLUMN create_by_name VARCHAR(64)
ALTER TABLE enforcement_registration ADD COLUMN other_reasons varchar(500) DEFAULT NULL COMMENT '其他原因';
ALTER TABLE siq_msg_info ADD error_msg varchar(500) NULL COMMENT '错误信息';

105
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/SiqMsgInfoController.java

@ -0,0 +1,105 @@
package com.zdxt.enforcementcode.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import com.zdxt.enforcementcode.domain.vo.SiqMsgInfoVo;
import com.zdxt.enforcementcode.domain.bo.SiqMsgInfoBo;
import com.zdxt.enforcementcode.service.ISiqMsgInfoService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 深I企消息信息
*
* @author niujiyi
* @date 2026-07-29
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/enforcementcode/msgInfo")
public class SiqMsgInfoController extends BaseController {
private final ISiqMsgInfoService siqMsgInfoService;
/**
* 查询深I企消息信息列表
*/
@SaCheckPermission("enforcementcode:msgInfo:list")
@GetMapping("/list")
public TableDataInfo<SiqMsgInfoVo> list(SiqMsgInfoBo bo, PageQuery pageQuery) {
return siqMsgInfoService.queryPageList(bo, pageQuery);
}
/**
* 导出深I企消息信息列表
*/
@SaCheckPermission("enforcementcode:msgInfo:export")
@Log(title = "深I企消息信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SiqMsgInfoBo bo, HttpServletResponse response) {
List<SiqMsgInfoVo> list = siqMsgInfoService.queryList(bo);
ExcelUtil.exportExcel(list, "深I企消息信息", SiqMsgInfoVo.class, response);
}
/**
* 获取深I企消息信息详细信息
*
* @param id 主键
*/
@SaCheckPermission("enforcementcode:msgInfo:query")
@GetMapping("/{id}")
public R<SiqMsgInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(siqMsgInfoService.queryById(id));
}
/**
* 新增深I企消息信息
*/
@SaCheckPermission("enforcementcode:msgInfo:add")
@Log(title = "深I企消息信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SiqMsgInfoBo bo) {
return toAjax(siqMsgInfoService.insertByBo(bo));
}
/**
* 修改深I企消息信息
*/
@SaCheckPermission("enforcementcode:msgInfo:edit")
@Log(title = "深I企消息信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SiqMsgInfoBo bo) {
return toAjax(siqMsgInfoService.updateByBo(bo));
}
/**
* 删除深I企消息信息
*
* @param ids 主键串
*/
@SaCheckPermission("enforcementcode:msgInfo:remove")
@Log(title = "深I企消息信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(siqMsgInfoService.deleteWithValidByIds(List.of(ids), true));
}
}

10
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCpNoticeController.java

@ -56,6 +56,7 @@ public class AppEnfCpNoticeController {
* 保存预告草稿/发布
* status=0 存为草稿, status=1 发布预告
*/
@SaIgnore
@PostMapping()
public R<String> save(@RequestBody EfcodeCpNoticeBo bo) {
return R.ok(efcodeCpNoticeService.saveNotice(bo));
@ -109,4 +110,13 @@ public class AppEnfCpNoticeController {
efcodeCpNoticeMessageService.insertByBo(bo);
return R.ok();
}
/**
* 删除留言
*/
@GetMapping("/removeMessage")
public R<Void> removeMessage(String[] ids) {
efcodeCpNoticeMessageService.deleteWithValidByIds(List.of(ids), false);
return R.ok();
}
}

69
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/SiqMsgInfo.java

@ -0,0 +1,69 @@
package com.zdxt.enforcementcode.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 深I企消息信息对象 siq_msg_info
*
* @author niujiyi
* @date 2026-07-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("siq_msg_info")
public class SiqMsgInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键自增ID
*/
@TableId(value = "id")
private Long id;
/**
* 任务ID
*/
private String taskId;
/**
* 来源ID
*/
private String sourceId;
/**
* 发送给深I企状态0-待发送1-发送成功2-正在发送3-发送异常4-发送失败
*/
private Long status;
/**
* 站内信发送状态0-待发送1-发送成功2-正在发送3-发送异常4-发送失败5-任务取消
*/
private Long sendStatus;
/**
* 发送完成时间时间戳毫秒
*/
private String sendFinishedTime;
/**
* 是否删除 0= 1=
*/
private Long isDelete;
/**
* 备注
*/
private String remark;
/**
* 错误信息
*/
private String errorMsg;
}

73
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/SiqMsgInfoBo.java

@ -0,0 +1,73 @@
package com.zdxt.enforcementcode.domain.bo;
import com.zdxt.enforcementcode.domain.SiqMsgInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 深I企消息信息业务对象 siq_msg_info
*
* @author niujiyi
* @date 2026-07-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SiqMsgInfo.class, reverseConvertGenerate = false)
public class SiqMsgInfoBo extends BaseEntity {
/**
* 主键自增ID
*/
@NotNull(message = "主键自增ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 任务ID
*/
private String taskId;
/**
* 来源ID
*/
@NotBlank(message = "来源ID不能为空", groups = { AddGroup.class, EditGroup.class })
private String sourceId;
/**
* 发送给深I企状态0-待发送1-发送成功2-正在发送3-发送异常4-发送失败
*/
@NotNull(message = "发送给深I企状态:0-待发送;1-发送成功;2-正在发送;3-发送异常;4-发送失败不能为空", groups = { AddGroup.class, EditGroup.class })
private Long status;
/**
* 站内信发送状态0-待发送1-发送成功2-正在发送3-发送异常4-发送失败5-任务取消
*/
private Long sendStatus;
/**
* 发送完成时间时间戳毫秒
*/
private String sendFinishedTime;
/**
* 是否删除 0= 1=
*/
@NotNull(message = "是否删除 0=否 1=是不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isDelete;
/**
* 备注
*/
private String remark;
/**
* 错误信息
*/
private String errorMsg;
}

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/thirdparty/SIQMsgParamBo.java

@ -22,4 +22,9 @@ public class SIQMsgParamBo {
* 内容
*/
private Map<String, String> additionalData;
/**
* 来源ID
*/
private String sourceId;
}

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/thirdparty/YuGaoMsgParamBo.java

@ -33,4 +33,9 @@ public class YuGaoMsgParamBo {
* 执法时间
*/
private String enforceDate;
/**
* 来源ID
*/
private String sourceId;
}

81
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SiqMsgInfoVo.java

@ -0,0 +1,81 @@
package com.zdxt.enforcementcode.domain.vo;
import com.zdxt.enforcementcode.domain.SiqMsgInfo;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 深I企消息信息视图对象 siq_msg_info
*
* @author niujiyi
* @date 2026-07-29
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SiqMsgInfo.class)
public class SiqMsgInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键自增ID
*/
@ExcelProperty(value = "主键自增ID")
private Long id;
/**
* 任务ID
*/
@ExcelProperty(value = "任务ID")
private String taskId;
/**
* 来源ID
*/
@ExcelProperty(value = "来源ID")
private String sourceId;
/**
* 发送给深I企状态0-待发送1-发送成功2-正在发送3-发送异常4-发送失败
*/
@ExcelProperty(value = "发送给深I企状态:0-待发送;1-发送成功;2-正在发送;3-发送异常;4-发送失败")
private Long status;
/**
* 站内信发送状态0-待发送1-发送成功2-正在发送3-发送异常4-发送失败5-任务取消
*/
@ExcelProperty(value = "站内信发送状态:0-待发送;1-发送成功;2-正在发送;3-发送异常;4-发送失败;5-任务取消")
private Long sendStatus;
/**
* 发送完成时间时间戳毫秒
*/
@ExcelProperty(value = "发送完成时间", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "时=间戳,毫秒")
private String sendFinishedTime;
/**
* 是否删除 0= 1=
*/
@ExcelProperty(value = "是否删除 0=否 1=是")
private Long isDelete;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

15
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/SiqMsgInfoMapper.java

@ -0,0 +1,15 @@
package com.zdxt.enforcementcode.mapper;
import com.zdxt.enforcementcode.domain.SiqMsgInfo;
import com.zdxt.enforcementcode.domain.vo.SiqMsgInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 深I企消息信息Mapper接口
*
* @author niujiyi
* @date 2026-07-29
*/
public interface SiqMsgInfoMapper extends BaseMapperPlus<SiqMsgInfo, SiqMsgInfoVo> {
}

82
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISiqMsgInfoService.java

@ -0,0 +1,82 @@
package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.vo.SiqMsgInfoVo;
import com.zdxt.enforcementcode.domain.bo.SiqMsgInfoBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 深I企消息信息Service接口
*
* @author niujiyi
* @date 2026-07-29
*/
public interface ISiqMsgInfoService {
/**
* 查询深I企消息信息
*
* @param id 主键
* @return 深I企消息信息
*/
SiqMsgInfoVo queryById(Long id);
/**
* 分页查询深I企消息信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 深I企消息信息分页列表
*/
TableDataInfo<SiqMsgInfoVo> queryPageList(SiqMsgInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的深I企消息信息列表
*
* @param bo 查询条件
* @return 深I企消息信息列表
*/
List<SiqMsgInfoVo> queryList(SiqMsgInfoBo bo);
/**
* 新增深I企消息信息
*
* @param bo 深I企消息信息
* @return 是否新增成功
*/
Boolean insertByBo(SiqMsgInfoBo bo);
/**
* 修改深I企消息信息
*
* @param bo 深I企消息信息
* @return 是否修改成功
*/
Boolean updateByBo(SiqMsgInfoBo bo);
/**
* 校验并批量删除深I企消息信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 添加消息日志
* @param status
* @param sourceId
*/
void siqMsgInfoLog(Long status,String sourceId);
/**
* 添加消息日志,错误日志
* @param status
* @param sourceId
*/
void siqMsgInfoLogError(Long status,String sourceId, String errorMsg);
}

22
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EfcodeCpNoticeServiceImpl.java

@ -2,7 +2,9 @@ package com.zdxt.enforcementcode.service.impl;
import cn.hutool.core.util.IdUtil;
import com.zdxt.enforcementcode.common.commonenum.MsgSourceTypeEnum;
import com.zdxt.enforcementcode.domain.bo.thirdparty.YuGaoMsgParamBo;
import com.zdxt.enforcementcode.service.ISysMessageViewLogService;
import com.zdxt.enforcementcode.service.thirdparty.ISIQService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -42,6 +44,7 @@ public class EfcodeCpNoticeServiceImpl implements IEfcodeCpNoticeService {
private final EfcodeCpNoticeUsersMapper noticeUsersMapper;
private final EfcodeCpNoticeMessageMapper noticeMessageMapper;
private final ISysMessageViewLogService sysMessageViewLogService;
private final ISIQService siqService;
/**
* 查询行政执法检查计划-预告
*/
@ -127,6 +130,7 @@ public class EfcodeCpNoticeServiceImpl implements IEfcodeCpNoticeService {
// 如果是发布(status=1),设置发布时间
if (entity.getStatus() != null && entity.getStatus() == 1L) {
entity.setPublishTime(new Date());
}
baseMapper.insert(entity);
// 同步写入 notice_users 表
@ -134,10 +138,28 @@ public class EfcodeCpNoticeServiceImpl implements IEfcodeCpNoticeService {
// 发布时自动生成系统提示消息
if (entity.getStatus() != null && entity.getStatus() == 1L) {
generateSystemMessage(entity);
// 调用站内信发送预告消息
getSendYuGaoMsg(entity);
}
return "操作成功";
}
/**
* 发送预告消息
*/
public void getSendYuGaoMsg(EfcodeCpNotice entity){
YuGaoMsgParamBo paramBo = new YuGaoMsgParamBo();
paramBo.setSourceId(entity.getId());
paramBo.setEnterpriseId(entity.getEnterpriseId());
paramBo.setEnterpriseName(entity.getEnterpriseName());
paramBo.setCreateByName(LoginHelper.getUsername());
paramBo.setDeptName(entity.getDeptName());
paramBo.setEnforceDate(entity.getEnforceDate());
siqService.sendYuGaoMsg(paramBo);
}
/**
* 修改预告仅草稿可修改并同步更新 notice_users
*/

174
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SiqMsgInfoServiceImpl.java

@ -0,0 +1,174 @@
package com.zdxt.enforcementcode.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.zdxt.enforcementcode.domain.bo.SiqMsgInfoBo;
import com.zdxt.enforcementcode.domain.vo.SiqMsgInfoVo;
import com.zdxt.enforcementcode.domain.SiqMsgInfo;
import com.zdxt.enforcementcode.mapper.SiqMsgInfoMapper;
import com.zdxt.enforcementcode.service.ISiqMsgInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 深I企消息信息Service业务层处理
*
* @author niujiyi
* @date 2026-07-29
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class SiqMsgInfoServiceImpl implements ISiqMsgInfoService {
private final SiqMsgInfoMapper baseMapper;
/**
* 查询深I企消息信息
*
* @param id 主键
* @return 深I企消息信息
*/
@Override
public SiqMsgInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询深I企消息信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 深I企消息信息分页列表
*/
@Override
public TableDataInfo<SiqMsgInfoVo> queryPageList(SiqMsgInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SiqMsgInfo> lqw = buildQueryWrapper(bo);
Page<SiqMsgInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的深I企消息信息列表
*
* @param bo 查询条件
* @return 深I企消息信息列表
*/
@Override
public List<SiqMsgInfoVo> queryList(SiqMsgInfoBo bo) {
LambdaQueryWrapper<SiqMsgInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<SiqMsgInfo> buildQueryWrapper(SiqMsgInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SiqMsgInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SiqMsgInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getTaskId()), SiqMsgInfo::getTaskId, bo.getTaskId());
lqw.eq(StringUtils.isNotBlank(bo.getSourceId()), SiqMsgInfo::getSourceId, bo.getSourceId());
lqw.eq(bo.getStatus() != null, SiqMsgInfo::getStatus, bo.getStatus());
lqw.eq(bo.getSendStatus() != null, SiqMsgInfo::getSendStatus, bo.getSendStatus());
lqw.eq(StringUtils.isNotBlank(bo.getSendFinishedTime()), SiqMsgInfo::getSendFinishedTime, bo.getSendFinishedTime());
lqw.eq(bo.getIsDelete() != null, SiqMsgInfo::getIsDelete, bo.getIsDelete());
return lqw;
}
/**
* 新增深I企消息信息
*
* @param bo 深I企消息信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(SiqMsgInfoBo bo) {
SiqMsgInfo add = MapstructUtils.convert(bo, SiqMsgInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改深I企消息信息
*
* @param bo 深I企消息信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(SiqMsgInfoBo bo) {
SiqMsgInfo update = MapstructUtils.convert(bo, SiqMsgInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(SiqMsgInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除深I企消息信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
/**
* 添加发送日志
* @param status
*/
@Override
public void siqMsgInfoLog(Long status,String sourceId) {
SiqMsgInfoBo bo = new SiqMsgInfoBo();
bo.setStatus(status);
bo.setSourceId(sourceId);
SiqMsgInfo add = MapstructUtils.convert(bo, SiqMsgInfo.class);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
}
/**
* 添加发送日志错误信息
* @param status
*/
@Override
public void siqMsgInfoLogError(Long status, String sourceId,String errorMsg) {
SiqMsgInfoBo bo = new SiqMsgInfoBo();
bo.setStatus(status);
bo.setSourceId(sourceId);
bo.setErrorMsg(errorMsg);
SiqMsgInfo add = MapstructUtils.convert(bo, SiqMsgInfo.class);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
}
}

24
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/thirdparty/impl/SIQServiceImpl.java

@ -19,6 +19,7 @@ import com.zdxt.enforcementcode.domain.vo.siq.*;
import com.zdxt.enforcementcode.mapper.EnterpriseInformationMapper;
import com.zdxt.enforcementcode.mapper.EnterpriseUserMapper;
import com.zdxt.enforcementcode.service.IEnterpriseUserRefService;
import com.zdxt.enforcementcode.service.ISiqMsgInfoService;
import com.zdxt.enforcementcode.service.thirdparty.ISIQService;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
@ -46,17 +47,19 @@ public class SIQServiceImpl implements ISIQService {
/**
* 企业信息Mapper
*/
private EnterpriseInformationMapper enterpriseInformationMapper;
private final EnterpriseInformationMapper enterpriseInformationMapper;
/**
* 企业用户Mapper
*/
private EnterpriseUserMapper enterpriseUserMapper;
private final EnterpriseUserMapper enterpriseUserMapper;
/**
* 企业用户关联Service
*/
private IEnterpriseUserRefService enterpriseUserRefService;
private final IEnterpriseUserRefService enterpriseUserRefService;
private final ISiqMsgInfoService siqMsgInfoService;
@Override
public SIQTemplateVo getTemplateById(String templateId) {
@ -98,6 +101,7 @@ public class SIQServiceImpl implements ISIQService {
variables.put("dept", paramBo.getDeptName());
variables.put("time", paramBo.getEnforceDate());
siqMsgParamBo.setAdditionalData(variables);
siqMsgParamBo.setSourceId(paramBo.getSourceId());
sendMsg(siqMsgParamBo);
}
log.info("企业[{}]预告消息发送完成,共发送{}条", enterpriseId, userRefList.size());
@ -121,25 +125,37 @@ public class SIQServiceImpl implements ISIQService {
toUserMetaBo.setVariables(paramBo.getAdditionalData());
toUserMetaBo.setReceiveAccount(paramBo.getReceiveAccount());
sendMsgBo.setToUser(new ToUserMetaBo[]{toUserMetaBo});
// 预告消息日志记录完整过程
// 0: 待发送
siqMsgInfoService.siqMsgInfoLog(0L,paramBo.getSourceId());
String url = siqConfig.getSiqBaseUrl() + "/egb/api/mpc/api/messageTask/v1/singleCreate";
String body = JSONObject.toJSONString(sendMsgBo);
log.info("单条发送站内信请求参数: {}", body);
String respJson = SIQHttpUtil.postWithSign(url, body, siqConfig.getMsgSecretKey(), siqConfig.getMsgAppId());
log.info("单条发送站内信响应结果: {}", respJson);
// 2:正在发送
siqMsgInfoService.siqMsgInfoLog(2L,paramBo.getSourceId());
SendMsgVo sendMsg = JSON.parseObject(respJson, SendMsgVo.class);
if(sendMsg.isSuccess()){
SendMsgDataVo sendMsgDataVo = JSON.parseObject(JSON.toJSONString(sendMsg.getData()), SendMsgDataVo.class);
List<MessageTaskItemVo> list = sendMsgDataVo.getList();
if(CollectionUtil.isNotEmpty(list)){
MessageTaskItemVo messageTaskItemVo = list.get(0);
// 1: 发送成功
siqMsgInfoService.siqMsgInfoLog(1L,paramBo.getSourceId());
log.info("单条发送站内信成功,taskId: {}", messageTaskItemVo.getTaskId());
}
}else{
// 3:发送异常
siqMsgInfoService.siqMsgInfoLogError(3L,paramBo.getSourceId(),sendMsg.getErrmsg());
}
} catch (Exception e) {
log.error("单条发送站内信失败", e);
// 4:发送失败
siqMsgInfoService.siqMsgInfoLogError(4L,paramBo.getSourceId(),e.getMessage());
throw new BaseException("单条发送站内信失败");
}
}

6
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SiqMsgInfoMapper.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zdxt.enforcementcode.mapper.SiqMsgInfoMapper">
</mapper>
Loading…
Cancel
Save