From e41669ed0aa5b31e67549af26d8bcec7d3c7f1fd Mon Sep 17 00:00:00 2001 From: ant Date: Fri, 19 Jul 2024 18:28:59 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=B1=9F=E8=8B=8F=E5=B7=A5=E8=A1=8C?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inspection/work/dto/WrkIcbcJsPush.java | 127 ++++++++++++++++++ .../terminal/service/TerminalService.java | 2 + .../service/impl/TerminalServiceImpl.java | 5 + .../service/impl/WrkIcbcJsServiceImpl.java | 83 ++++++++++-- .../src/test/java/GenInsTest.java | 1 + 5 files changed, 210 insertions(+), 8 deletions(-) create mode 100644 chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/dto/WrkIcbcJsPush.java diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/dto/WrkIcbcJsPush.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/dto/WrkIcbcJsPush.java new file mode 100644 index 0000000..aeb219a --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/dto/WrkIcbcJsPush.java @@ -0,0 +1,127 @@ +package com.chushang.inspection.work.dto; + +import cn.hutool.core.date.DatePattern; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalTime; + +@Data +public class WrkIcbcJsPush implements Serializable { + + /** + * 交易码 + */ + private String transCode; + + /** + * 商户 id + */ + private String merId; + + /** + * 商户名 + */ + private String merName; + + /** + * 终端编号 + */ + private String termId; + + /** + * 工单创建日期(yyyyMMdd) + */ + @JsonFormat(pattern = DatePattern.PURE_DATE_PATTERN) + private LocalDate startDate; + + /** + * 工单编号 + */ + private String orderNo; + + /** + * 工单类型 + */ + private String orderType; + + /** + * 联系人 + */ + private String linkName; + + /** + * 联系方式 + */ + private String contactWay; + + /** + * 商户地址 + */ + private String merAddress; + + /** + * 商户类型 + */ + private String merType; + /** + * 设备类型 + */ + private String deviceType; + + /** + * 设备序列号 + */ + private String deviceNo; + + /** + * 备注信息 + */ + private String noteMsg; + + /** + * 服务商编号 + */ + private String agentId; + + /** + * 请求日期 + */ + @JsonFormat(pattern = DatePattern.PURE_DATE_PATTERN) + private LocalDate reqDate; + + /** + * 请求时间 + */ + @JsonFormat(pattern = DatePattern.PURE_TIME_PATTERN) + private LocalTime reqTime; + + /** + * 工单完成日期 + */ + @JsonFormat(pattern = DatePattern.PURE_DATE_PATTERN) + private LocalDate compDate; + + /** + * 工单完成时间 + */ + @JsonFormat(pattern = DatePattern.PURE_TIME_PATTERN) + private LocalTime compTime; + + /** + * 工单状态 + */ + private String orderStatus; + + /** + * 描述信息 + */ + private String descInfo; + + /** + * 分行地区号 + */ + private String area; +} diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java index 69e0b5d..09feaf7 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java @@ -55,4 +55,6 @@ public interface TerminalService extends IService{ List getStoreByTasKIdOrIds(DispatchQuery query); JSONObject save(Store store, WrkIcbcJsReceive dto); + + JSONObject getTerMap(Long terminalId); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java index 0ac984d..f4c63c3 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java @@ -141,4 +141,9 @@ public class TerminalServiceImpl extends ServiceImpl i return JSONObject.of("terminal", terminal, "terminalIns", terminalIns); } + @Override + public JSONObject getTerMap(Long terminalId) { + return JSONObject.of("terminal", getById(terminalId), "terminalIns", terminalInsService.getById(terminalId)); + } + } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkIcbcJsServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkIcbcJsServiceImpl.java index 6026a98..f51ca12 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkIcbcJsServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkIcbcJsServiceImpl.java @@ -2,24 +2,39 @@ package com.chushang.inspection.work.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.chushang.common.core.constant.SecurityConstants; import com.chushang.common.core.exception.utils.AssertUtil; import com.chushang.common.core.web.Result; +import com.chushang.common.mybatis.page.CommonParam; import com.chushang.common.mybatis.utils.PageResult; +import com.chushang.common.mybatis.utils.WrapperUtils; +import com.chushang.datascope.annotation.DataScope; import com.chushang.inspection.project.po.PollingTask; +import com.chushang.inspection.project.po.WrkProjectPayment; import com.chushang.inspection.project.service.PollingTaskService; import com.chushang.inspection.terminal.po.Store; import com.chushang.inspection.terminal.po.Terminal; import com.chushang.inspection.terminal.po.TerminalIns; import com.chushang.inspection.terminal.service.StoreService; import com.chushang.inspection.terminal.service.TerminalService; +import com.chushang.inspection.utils.BeanCopyUtils; import com.chushang.inspection.utils.PoolUtils; import com.chushang.inspection.utils.TaskConfigUtils; import com.chushang.inspection.work.dto.BankDispatchQuery; import com.chushang.inspection.work.dto.DispatchDTO; +import com.chushang.inspection.work.dto.WrkIcbcJsPush; import com.chushang.inspection.work.dto.WrkIcbcJsReceive; import com.chushang.inspection.work.enums.BankBranchesEnum; import com.chushang.inspection.work.enums.WorkTypeOperation; @@ -31,6 +46,7 @@ import com.chushang.inspection.work.vo.BankDispatchDTO; import com.chushang.security.entity.po.SysUser; import com.chushang.system.feign.RemoteUserService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chushang.inspection.work.mapper.WrkIcbcJsMapper; @@ -61,6 +77,13 @@ public class WrkIcbcJsServiceImpl extends ServiceImpl{ - dispatchOrder(wrkIcbcJs, terJson, store, null); - }); + PoolUtils.SENTINEL.getInstance().execute(()-> dispatchOrder(wrkIcbcJs, terJson, store, null)); } private WrkIcbcJs save(WrkIcbcJsReceive dto, JSONObject terJson, Store store) { @@ -88,26 +109,43 @@ public class WrkIcbcJsServiceImpl extends ServiceImpl sql = WrapperUtils.builder(query, commonParam); + IPage page = this.page( + new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()), + sql + ); + return new PageResult(page); } @Override public BankDispatchDTO info(Long id) { - return null; + return BeanUtil.copyProperties(getById(id), BankDispatchDTO.class); } @Override public void update(BankDispatchDTO dispatch) { - + WrkIcbcJs entity = BeanUtil.copyProperties(dispatch, WrkIcbcJs.class); + entity.setStatus(null); + entity.setReqDate(null); + updateById(entity); } @Override public void dispatchOrder(WrkIcbcJs entity, Long userId) { - + Long id = entity.getId(); + WrkIcbcJs wrkIcbcJs = getById(id); + AssertUtil.invalidate(ObjectUtil.isEmpty(wrkIcbcJs), "未找寻到对应银行工单"); + Store store = storeService.getById(wrkIcbcJs.getStoreId()); + AssertUtil.invalidate(ObjectUtil.isEmpty(store), "未找寻到对应商户信息"); + JSONObject terJson = terminalService.getTerMap(wrkIcbcJs.getTerminalId()); + dispatchOrder(entity, terJson, store, userId); } - public void dispatchOrder(WrkIcbcJs entity, JSONObject terJson, Store store, Long userId) { + public void dispatchOrder(WrkIcbcJs entity, JSONObject terJson, Store store, Long userId) + { Terminal terminal = terJson.getObject("terminal", Terminal.class); TerminalIns terminalIns = terJson.getObject("terminalIns", TerminalIns.class); WrkIcbcJs icbcJs = entity.getArea() != null ? entity : getById(entity.getId()); @@ -158,6 +196,35 @@ public class WrkIcbcJsServiceImpl extends ServiceImpl