diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index df1f7db433..9c98833ed4 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -129,10 +130,10 @@ public class IcNatDTO implements Serializable { /** * 通知渠道 0小程序通知,1短信通知,多选是数组 */ - private List channel; + private List channel = new ArrayList<>(); /** * 通知内容 */ - private String content; + private String content = ""; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 6000b6a969..73928633fb 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -56,7 +57,7 @@ public class AddIcNatFormDTO implements Serializable { /** * 检测时间 */ - @NotBlank(message = "检测时间不能为空", groups = Nat.class) + //@NotBlank(message = "检测时间不能为空", groups = Nat.class) @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date natTime; /** @@ -83,11 +84,11 @@ public class AddIcNatFormDTO implements Serializable { /** * 通知渠道 0小程序通知,1短信通知,多选是数组 */ - private List channel; + private List channel = new ArrayList<>(); /** * 通知内容 */ - private String content; + private String content = ""; //token中信息 private String customerId; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 929e95ce4b..3f39c2500d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -41,7 +41,7 @@ public class IcNatController { * @Author sun * @Description 核酸检测-上报核酸记录 **/ - @NoRepeatSubmit + //@NoRepeatSubmit @PostMapping("add") public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 91ce606f2d..5ab06f865d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -35,5 +35,5 @@ public interface IcNatDao extends BaseDao { * @Author sun * @Description 删除/取消同步操作--物理删除业务数据 **/ - boolean delById(@Param("icNatId") String icNatId); + int delById(@Param("icNatId") String icNatId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index d1f62275b1..84d875c391 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -74,7 +74,7 @@ public class IcNatEntity extends BaseEpmetEntity { /** * 检测地点 */ - private String natOAddress; + private String natAddress; /** * 文件名 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 8a7061152e..400b52f5fd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -49,6 +49,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * @Description 核酸检测-上报核酸记录 **/ @Override + @Transactional(rollbackFor = Exception.class) public void add(AddIcNatFormDTO formDTO) { //1.获取所填居民所属组织缓存信息 AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); @@ -63,6 +64,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp //3.新增通知表信息 if (formDTO.getChannel().size() > NumConstant.ZERO) { //TODO + + } } @@ -132,8 +135,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp public void edit(AddIcNatFormDTO formDTO) { //1.更新核酸记录表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); + entity.setId(formDTO.getIcNatId()); if (!updateById(entity)) { - log.error(String.format("数据修改失败,核酸记录Id->", formDTO.getIcNatId())); + log.error(String.format("数据修改失败,核酸记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); } @@ -150,8 +154,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override public void del(MyNatListFormDTO formDTO) { //1.物理删除业务数据 - if (baseDao.delById(formDTO.getIcNatId())) { - log.error(String.format("数据删除/取消同步失败,核酸记录Id->", formDTO.getIcNatId())); + if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { + log.error(String.format("数据删除/取消同步失败,核酸记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据操作失败"); } } @@ -162,19 +166,19 @@ public class IcNatServiceImpl extends BaseServiceImpl imp **/ @Override public void synchro(MyNatListFormDTO formDTO) { + //1.获取工作人员缓存数据 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } //1.根据核酸记录Id查询业务数据并进行必要校验 IcNatEntity entity = baseDao.selectById(formDTO.getIcNatId()); - if (null == entity || formDTO.getAgencyId().equals(entity.getAgencyId()) + if (null == entity || staffInfo.getAgencyId().equals(entity.getAgencyId()) || (!"import".equals(entity.getUserType()) && !"synchro".equals(entity.getUserType()))) { - log.error(String.format("数据同步失败,核酸记录Id->", formDTO.getIcNatId())); + log.error(String.format("数据同步失败,核酸记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,不是导入数据或非本组织数据"); } - //2.获取工作人员缓存数据 - //获取工作人员缓存信息 - CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); - if (null == staffInfo) { - throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); - } + //3.待同步组织新增业务数据 entity.setId(""); entity.setAgencyId(staffInfo.getAgencyId()); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index b0e8a01607..7899c84227 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -22,6 +22,7 @@ del_flag = '0' AND customer_id = #{customerId} AND id_card = #{idCard} + ORDER BY nat_time DESC