From 67cba004a4ba579a7c77e484e3a6780e89eb829a Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 15 Mar 2023 11:37:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=A0=B8=E9=94=80=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E7=94=B3=E8=AF=B7,=E6=B7=BB=E5=8A=A0=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serve/modules/sys/entity/SysSyncLog.java | 112 ++++++++++++++++++ .../modules/sys/mapper/SysSyncLogMapper.java | 14 +++ .../sys/service/SysSyncLogService.java | 14 +++ .../service/impl/SysSyncLogServiceImpl.java | 22 ++++ .../modules/third/PortalOfCostController.java | 39 ++++-- .../java/com/qs/serve/task/TzcPolicyTask.java | 3 + .../java/com/qs/serve/task/WxUserTask.java | 2 +- 7 files changed, 193 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/sys/entity/SysSyncLog.java create mode 100644 src/main/java/com/qs/serve/modules/sys/mapper/SysSyncLogMapper.java create mode 100644 src/main/java/com/qs/serve/modules/sys/service/SysSyncLogService.java create mode 100644 src/main/java/com/qs/serve/modules/sys/service/impl/SysSyncLogServiceImpl.java diff --git a/src/main/java/com/qs/serve/modules/sys/entity/SysSyncLog.java b/src/main/java/com/qs/serve/modules/sys/entity/SysSyncLog.java new file mode 100644 index 00000000..07dfcd03 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/entity/SysSyncLog.java @@ -0,0 +1,112 @@ +package com.qs.serve.modules.sys.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 同步日志 实体类 + * @author YenHex + * @since 2023-03-15 + */ +@Data +@TableName("sys_sync_log") +public class SysSyncLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 来自系统 */ + @Length(max = 255,message = "来自系统长度不能超过255字") + private String from; + + /** 请求地址 */ + @Length(max = 255,message = "请求地址长度不能超过255字") + private String url; + + /** 请求类 */ + @Length(max = 255,message = "请求类长度不能超过255字") + private String entityClass; + + /** 请求json */ + @Length(max = 255,message = "请求json长度不能超过255字") + private String requestJson; + + /** 失败原因 */ + @Length(max = 255,message = "失败原因长度不能超过255字") + private String failReason; + + /** 成功标识 */ + private Integer successStatus; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + + + public static SysSyncLog toNewObject(SysSyncLog source){ + SysSyncLog syncLog = new SysSyncLog(); + syncLog.setId(source.getId()); + syncLog.setFrom(source.getFrom()); + syncLog.setUrl(source.getUrl()); + syncLog.setEntityClass(source.getEntityClass()); + syncLog.setRequestJson(source.getRequestJson()); + syncLog.setFailReason(source.getFailReason()); + syncLog.setSuccessStatus(source.getSuccessStatus()); + syncLog.setRemark(source.getRemark()); + syncLog.setCreateTime(source.getCreateTime()); + syncLog.setCreateBy(source.getCreateBy()); + syncLog.setUpdateTime(source.getUpdateTime()); + syncLog.setUpdateBy(source.getUpdateBy()); + syncLog.setTenantId(source.getTenantId()); + syncLog.setDelFlag(source.getDelFlag()); + return syncLog; + } + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/mapper/SysSyncLogMapper.java b/src/main/java/com/qs/serve/modules/sys/mapper/SysSyncLogMapper.java new file mode 100644 index 00000000..7c11e251 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/mapper/SysSyncLogMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.sys.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.sys.entity.SysSyncLog; + +/** + * 同步日志 Mapper + * @author YenHex + * @date 2023-03-15 + */ +public interface SysSyncLogMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/service/SysSyncLogService.java b/src/main/java/com/qs/serve/modules/sys/service/SysSyncLogService.java new file mode 100644 index 00000000..b1997b01 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/service/SysSyncLogService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.sys.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.sys.entity.SysSyncLog; + +/** + * 同步日志 服务接口 + * @author YenHex + * @date 2023-03-15 + */ +public interface SysSyncLogService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysSyncLogServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysSyncLogServiceImpl.java new file mode 100644 index 00000000..3fd8ac85 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/service/impl/SysSyncLogServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.sys.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.sys.entity.SysSyncLog; +import com.qs.serve.modules.sys.service.SysSyncLogService; +import com.qs.serve.modules.sys.mapper.SysSyncLogMapper; + +/** + * 同步日志 服务实现类 + * @author YenHex + * @since 2023-03-15 + */ +@Slf4j +@Service +@AllArgsConstructor +public class SysSyncLogServiceImpl extends ServiceImpl implements SysSyncLogService { + +} + diff --git a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java index ccec786d..52b14fd1 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java @@ -5,6 +5,8 @@ import com.qs.serve.common.config.DevEnvironmentConfig; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.JsonUtil; +import com.qs.serve.modules.sys.entity.SysSyncLog; +import com.qs.serve.modules.sys.service.SysSyncLogService; import com.qs.serve.modules.third.consts.ThirtyConst; import com.qs.serve.modules.third.entity.ProcessCreateCostApplyBo; import com.qs.serve.modules.third.entity.ProcessCreatePolicyCostBo; @@ -36,35 +38,48 @@ import java.time.LocalDateTime; public class PortalOfCostController { private PortalOfCostApplication portalOfCostApplication; + private SysSyncLogService sysSyncLogService; /** - * 一站式创建费用(政策) + * 一站式创建费用(费用申请) * @param createBo * @return */ - //@PostMapping("createByPolicy") - public R createCostProcess2(@Valid @RequestBody ProcessCreatePolicyCostBo createBo, HttpServletRequest request){ - ThirdTokenUtil.checkToken(request); - log.debug("一站式创建费用(政策)===>{}", JsonUtil.objectToJson(createBo)); - portalOfCostApplication.createCostProcessByPolicy(createBo); + @PostMapping("createByCostApply") + public R createCostProcess(@Valid @RequestBody ProcessCreateCostApplyBo createBo,HttpServletRequest request){ + SysSyncLog syncLog = new SysSyncLog(); + syncLog.setFrom("核销系统"); + syncLog.setUrl(request.getRequestURI()); + syncLog.setRequestJson(JsonUtil.objectToJson(createBo)); + syncLog.setEntityClass(ProcessCreateCostApplyBo.class.getName()); + try { + log.debug("站式创建费用(费用申请)===>{}", JsonUtil.objectToJson(createBo)); + ThirdTokenUtil.checkToken(request); + portalOfCostApplication.createCostProcess(createBo); + syncLog.setSuccessStatus(1); + } catch (Exception e) { + syncLog.setFailReason(e.getMessage()); + } + sysSyncLogService.save(syncLog); return R.ok(); } - /** - * 一站式创建费用(费用申请) + * 一站式创建费用(政策) * @param createBo * @return */ - @PostMapping("createByCostApply") - public R createCostProcess(@Valid @RequestBody ProcessCreateCostApplyBo createBo,HttpServletRequest request){ + //@PostMapping("createByPolicy") + public R createCostProcess2(@Valid @RequestBody ProcessCreatePolicyCostBo createBo, HttpServletRequest request){ ThirdTokenUtil.checkToken(request); - log.debug("站式创建费用(费用申请)===>{}", JsonUtil.objectToJson(createBo)); - portalOfCostApplication.createCostProcess(createBo); + log.debug("一站式创建费用(政策)===>{}", JsonUtil.objectToJson(createBo)); + portalOfCostApplication.createCostProcessByPolicy(createBo); return R.ok(); } + + } diff --git a/src/main/java/com/qs/serve/task/TzcPolicyTask.java b/src/main/java/com/qs/serve/task/TzcPolicyTask.java index 1352903f..38a71034 100644 --- a/src/main/java/com/qs/serve/task/TzcPolicyTask.java +++ b/src/main/java/com/qs/serve/task/TzcPolicyTask.java @@ -1,6 +1,7 @@ package com.qs.serve.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.JsonUtil; import com.qs.serve.modules.seeyon.service.XiaoLuTonService; @@ -35,6 +36,7 @@ public class TzcPolicyTask { * 根据销路通支付数据,和本系统政策匹对,并生成本系统核销及支付信息 */ public void syncFromXltPolicyPayment(){ + AuthContextUtils.setTenant("001"); xiaoLuTonService.listPolicyPayments(); Object obj = xiaoLuTonService.listPolicyPayments().getData(); String json = obj.toString(); @@ -50,6 +52,7 @@ public class TzcPolicyTask { * 同步政策到销路通 */ public void syncPolicyToXlt(){ + AuthContextUtils.setTenant("001"); LambdaQueryWrapper itemLqw = new LambdaQueryWrapper<>(); itemLqw.select(TzcPolicyItem::getId); itemLqw.eq(TzcPolicyItem::getPolicyItemStatus,TzPolicyItemStatus.Status_1_PassSuccess); diff --git a/src/main/java/com/qs/serve/task/WxUserTask.java b/src/main/java/com/qs/serve/task/WxUserTask.java index 9bce979f..00e941db 100644 --- a/src/main/java/com/qs/serve/task/WxUserTask.java +++ b/src/main/java/com/qs/serve/task/WxUserTask.java @@ -15,7 +15,7 @@ public class WxUserTask { private WxUserService wxUserService; - @Scheduled(cron = "0 0/30 * * * ?") + //@Scheduled(cron = "0 0/30 * * * ?") public void syncSubscribe(){ wxUserService.syncSubscribe(); }