From b7d7996c25c3c7f930c4a5eb13a0db490cd962b2 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Fri, 21 Mar 2025 18:39:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=83=A8=E9=97=A8=E3=80=81=E5=95=86?= =?UTF-8?q?=E6=88=B7=E6=B7=BB=E5=8A=A0=E6=98=AF=E5=90=A6=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=88=B0=E6=AD=A3=E5=85=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/api/vo/order/HardOrderCsVo.java | 3 ++ .../controller/order/HardOrderController.java | 10 +++++- .../order/HardOrderTotalController.java | 31 +++++++++++++------ .../hard/mapper/order/HardOrderMapper.java | 2 +- .../hard/service/HardOrderService.java | 3 +- .../hard/service/HardOrderTotalService.java | 6 ++++ .../impl/order/HardOrderServiceImpl.java | 5 +-- .../bsd/pjcloud/admin/api/entity/SysDept.java | 6 ++++ .../admin/api/feign/RemoteDeptService.java | 3 -- .../admin/controller/SysDeptController.java | 7 ----- .../pjcloud/admin/service/SysDeptService.java | 3 -- .../service/impl/SysDeptServiceImpl.java | 1 + .../wallet/api/entity/MchManageEntity.java | 6 ++++ .../wallet/mapper/MchManageMapper.java | 1 + .../impl/thrid/WalletThirdZyServiceImpl.java | 21 +++++++++++-- 15 files changed, 79 insertions(+), 29 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java index 5db9c6f12..1e7baa4fb 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDateTime; @Data public class HardOrderCsVo implements BaseMchInterface, BaseHardInterface { @@ -47,6 +48,8 @@ public class HardOrderCsVo implements BaseMchInterface, BaseHardInterface { @Schema(description = "总盈利次数") private BigDecimal totalProfitCount; + private LocalDateTime day; + /** * 导出相关 */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 029de1f0e..49a375c58 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; @@ -90,6 +91,13 @@ public class HardOrderController { return R.ok(hardwareOrderService.pagejoin(page, dto)); } + @Operation(summary = "app商户查询订单列表", description = "app商户查询订单列表") + @GetMapping("/app/mch-page-join") + public R appMchPageJoin(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { + dto.setIsFindCarList(false); + return R.ok(hardwareOrderService.pagejoin(page, dto)); + } + @Operation(summary = "app查询订单详情", description = "app查询订单详情") @GetMapping("/app/detail") public R appDetail(@RequestParam Long id) { @@ -139,7 +147,7 @@ public class HardOrderController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('hard_hardwareOrder_view')") public R pageJoin(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { - return R.ok(hardwareOrderService.scopePageList(page, dto)); + return R.ok(hardwareOrderService.scopePageList(page, dto, DataScope.of())); } @Operation(summary = "通过id查询", description = "通过id查询") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java index 8e197823b..05d0af9f1 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java @@ -8,7 +8,9 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillConfig; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; @@ -25,6 +27,7 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; +import org.springdoc.core.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -43,35 +46,45 @@ import java.util.Map; @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class HardOrderTotalController { - private final HardOrderTotalService HardOrderTotalService; + private final HardOrderTotalService hardOrderTotalService; /* ************************************* start 远程调用 start ************************************* */ /* ************************************* end 远程调用 end ************************************* */ + + /* ************************************* start app start ************************************* */ + @Operation(summary = "app查询商户流水记录", description = "app查询订单列表根据权限") + @GetMapping("/app/mch-page-join-scope") + public R appMchTotal(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { + dto.setIsFindCarList(false); + return R.ok(hardOrderTotalService.listCsByDay(page, dto)); + } + /* ************************************* end app end ************************************* */ + @PostMapping("/page-list-sb") @Operation(summary = "设备交易记录") public R> pageListSb(@RequestBody HardOrderDto dto) { - return R.ok(HardOrderTotalService.listSb(dto)); + return R.ok(hardOrderTotalService.listSb(dto)); } @PostMapping("/page-list-cs") @Operation(summary = "商户交易记录") public R> pageListCs(@RequestBody HardOrderDto dto) { dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); - return R.ok(HardOrderTotalService.listCs(dto)); + return R.ok(hardOrderTotalService.listCs(dto)); } @PostMapping("/page-list-payType") @Operation(summary = "支付方式交易记录") public R> pageListPayType(@RequestBody HardOrderDto dto) { - return R.ok(HardOrderTotalService.listPayType(dto)); + return R.ok(hardOrderTotalService.listPayType(dto)); } @PostMapping("/page-list-dept") @Operation(summary = "部门交易记录") public R> pageListDept(@RequestBody HardDeptTotalDto dto) { - return R.ok(HardOrderTotalService.pageListDept(dto)); + return R.ok(hardOrderTotalService.pageListDept(dto)); } @Operation(summary = "设备交易记录导出", description = "设备交易记录导出") @@ -80,7 +93,7 @@ public class HardOrderTotalController { @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_sb')") public void exportSb(HttpServletResponse response, HardOrderDto dto) throws IOException { dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); - List list = HardOrderTotalService.listSb(dto); + List list = hardOrderTotalService.listSb(dto); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/设备交易金额汇总.xlsx")).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); @@ -154,7 +167,7 @@ public class HardOrderTotalController { @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_cs')") public void exportTk(HttpServletResponse response, HardOrderDto dto) throws IOException { dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); - List list = HardOrderTotalService.listCs(dto); + List list = hardOrderTotalService.listCs(dto); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/商户交易金额汇总.xlsx")).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); @@ -226,7 +239,7 @@ public class HardOrderTotalController { @SysLog("支付方式交易记录") @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_payType')") public void exportPayType(HttpServletResponse response, HardOrderDto dto) throws IOException { - List list = HardOrderTotalService.listPayType(dto); + List list = hardOrderTotalService.listPayType(dto); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/支付方式交易汇总.xlsx")).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); @@ -298,7 +311,7 @@ public class HardOrderTotalController { @SysLog("部门交易记录导出") @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_dept')") public void exportDept(HttpServletResponse response, @RequestBody HardDeptTotalDto dto) throws IOException { - List list = HardOrderTotalService.pageListDept(dto); + List list = hardOrderTotalService.pageListDept(dto); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/部门交易金额汇总.xlsx")).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java index 5fd496b1d..c5f4351d7 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java @@ -52,7 +52,7 @@ public interface HardOrderMapper extends PjcloudBaseMapper { return wrapper; } - default Page scopePageList(Page page, HardOrderDto dto) { + default Page scopePageList(Page page, HardOrderDto dto, DataScope dataScope) { Page list = selectPageByScope(page, commonWrapper(dto), DataScope.of()); list.setRecords(BeanUtils.toBean(list.getRecords(), HardOrderVo.class)); return list; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java index f6968945d..569610ef3 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java @@ -3,6 +3,7 @@ package com.bsd.pjcloud.hard.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.dto.hard.HandCancelCodeDto; import com.bsd.pjcloud.hard.api.dto.hard.HardCreateOrderDto; import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; @@ -17,7 +18,7 @@ public interface HardOrderService extends IService { Page pagejoin(Page page, HardOrderDto dto); - Page scopePageList(Page page, HardOrderDto dto); + Page scopePageList(Page page, HardOrderDto dto, DataScope dataScope); List scopeList(HardOrderDto dto); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderTotalService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderTotalService.java index 2d4ce641b..d35d777ec 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderTotalService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderTotalService.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.hard.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.hard.api.dto.order.HardDeptTotalDto; import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; import com.bsd.pjcloud.hard.api.vo.order.*; @@ -32,4 +33,9 @@ public interface HardOrderTotalService { * 正元统计交易数据同步 */ HardZyCardSyncVo totalYearMonthDay(HardOrderDto dto); + + /** + * 根据天查询每个商户的流水 + */ + Object listCsByDay(Page page, HardOrderDto dto); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index 9de98ff1b..da465ab8d 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -17,6 +17,7 @@ import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; @@ -120,8 +121,8 @@ public class HardOrderServiceImpl extends ServiceImpl scopePageList(Page page, HardOrderDto dto) { - Page list = baseMapper.scopePageList(page, dto); + public Page scopePageList(Page page, HardOrderDto dto, DataScope dataScope) { + Page list = baseMapper.scopePageList(page, dto, dataScope); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 用户 List userIds = list.getRecords().stream().map(HardOrderVo::getUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysDept.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysDept.java index 66a486792..bb2d330d0 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysDept.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysDept.java @@ -71,6 +71,12 @@ public class SysDept extends Model { @Schema(description = "排序值") private Integer sortOrder; + /** + * 是否同步到正元 + */ + @Schema(description = "是否同步到正元") + private String isSyncZy; + /** * 创建人 */ diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java index 7764a7bc6..b18412c04 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java @@ -40,9 +40,6 @@ public interface RemoteDeptService { /** * 获取所有部门接口 - * - * @param parentDeptId 父部门ID - * @return R 返回结果对象,包含所有部门信息列表 */ @GetMapping("/dept/list") R> getAllDept(@RequestParam("parentDeptId") Long parentDeptId); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java index 502067ce5..6b844270a 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java @@ -19,9 +19,6 @@ package com.bsd.pjcloud.admin.controller; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.admin.api.dto.DeptAllListDto; import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.vo.DeptExcelVO; @@ -37,7 +34,6 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.AllArgsConstructor; -import org.springdoc.core.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -217,9 +213,6 @@ public class SysDeptController { /** * 查询部门所属的分组部门 - * - * @param deptId - * @return */ @Inner @GetMapping("/getParentDeptHardGroup") diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java index 5e14ce2b2..c985ca6af 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java @@ -73,9 +73,6 @@ public interface SysDeptService extends IService { /** * 获取部门的所有后代部门列表 - * - * @param deptId 部门ID - * @return 后代部门列表 */ List listDescendant(Long deptId); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java index d3ba6c49c..6d6b56a09 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java @@ -37,6 +37,7 @@ import com.bsd.pjcloud.admin.api.vo.DeptExcelVO; import com.bsd.pjcloud.admin.api.vo.OrgTreeVO; import com.bsd.pjcloud.admin.mapper.*; import com.bsd.pjcloud.admin.service.SysDeptService; +import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.excel.vo.ErrorMessage; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/MchManageEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/MchManageEntity.java index 3401b983f..6555d815e 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/MchManageEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/MchManageEntity.java @@ -94,6 +94,12 @@ public class MchManageEntity extends Model { @Schema(description = "商户地址") private String addressDes; + /** + * 是否同步到正元 + */ + @Schema(description = "是否同步到正元") + private String isSyncZy; + /** * 创建人 */ diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java index 6792c0c55..165abb82f 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java @@ -41,6 +41,7 @@ public interface MchManageMapper extends PjcloudBaseMapper { default List list(MchManageDto dto) { MPJLambdaQueryWrapper wrapper = new MPJLambdaQueryWrapper() .selectAll(MchManageEntity.class) + .eq(ObjectUtil.isNotEmpty(dto.getIsSyncZy()), MchManageEntity::getIsSyncZy, dto.getIsSyncZy()) .eq(ObjectUtil.isNotEmpty(dto.getId()), MchManageEntity::getId, dto.getId()) .eq(ObjectUtil.isNotEmpty(dto.getDeptId()), MchManageEntity::getDeptId, dto.getDeptId()) .likeIfExists(MchManageEntity::getName, dto.getName()) diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java index 3818dc2a5..27eba3941 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java @@ -11,6 +11,7 @@ import com.bsd.pjcloud.admin.api.entity.SysRole; import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; import com.bsd.pjcloud.admin.api.feign.RemoteRoleService; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; +import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.DataScopeFuncEnum; import com.bsd.pjcloud.thirdparty.api.feign.RemoterThirdZyService; @@ -73,6 +74,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { @Override public void syncAllMch(Long mchId, Boolean isDel) { MchManageDto dto = new MchManageDto(); + dto.setIsSyncZy(YesNoEnum.YES.getCode()); if (ObjectUtil.isNotEmpty(mchId)) { dto.setId(mchId); } @@ -122,6 +124,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { if (ObjectUtil.isNotEmpty(deptId)) { deptList = deptList.stream().filter(v -> ObjectUtil.equals(v.getDeptId(), deptId)).toList(); } + deptList = deptList.stream().filter(v -> ObjectUtil.equals(v.getIsSyncZy(), YesNoEnum.YES.getCode())).toList(); if (ObjectUtil.isEmpty(deptList)) { log.info("|{}|同步到正元全部商户部门信息错误deptList为空", TAG); return; @@ -159,6 +162,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { } // 查询部门信息 List deptList = remoteDeptService.getAllDept(null).getData(); + deptList = deptList.stream().filter(v -> ObjectUtil.equals(v.getIsSyncZy(), YesNoEnum.YES.getCode())).toList(); if (ObjectUtil.isEmpty(deptList)) { log.info("|{}| syncAllRole 错误 deptList为空", TAG); return; @@ -197,6 +201,14 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { log.error("|{}|syncAllUser 同步到正元全部身份信息错误roleList为空", TAG); return; } + // 查询可以同步到正元的部门 + List deptList = remoteDeptService.getAllDept(null).getData(); + deptList = deptList.stream().filter(v -> ObjectUtil.equals(v.getIsSyncZy(), YesNoEnum.YES.getCode())).toList(); + if (ObjectUtil.isEmpty(deptList)) { + log.info("|{}| syncAllUser 错误 可以同步到正元的部门为空", TAG); + return; + } + List syncZyDeptIds = deptList.stream().map(SysDept::getDeptId).toList(); Optional defaultUserRole = roleList.stream().filter(v -> ObjectUtil.equals(v.getRoleCode(), DEFAULT_USER_ROLE_CODE)).findFirst(); if (defaultUserRole.isEmpty()) { log.error("|{}|syncAllUser 同步到正元全部身份信息错误defaultUserRole为空", TAG); @@ -210,7 +222,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { } int total = 0; while (true) { - int syncCount = syncAllUserGroup(page, userId, defaultUserRole.get().getRoleId(), walletType.getId()); + int syncCount = syncAllUserGroup(page, userId, defaultUserRole.get().getRoleId(), walletType.getId(), syncZyDeptIds); if (syncCount > 0) { total += syncCount; } @@ -221,7 +233,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { } - private int syncAllUserGroup(Page page, Long userId, Long roleId, Long walletTypeId) { + private int syncAllUserGroup(Page page, Long userId, Long roleId, Long walletTypeId, List syncZyDeptIds) { WalletManageDto query = new WalletManageDto(); query.setWalletTypeId(walletTypeId); if (ObjectUtil.isNotEmpty(userId)) query.setUserId(userId); @@ -238,6 +250,11 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { log.error("|{}|syncAllUserGroup用户不存在WalletManageVo为空|{}|", TAG, JSONUtil.toJsonStr(v)); continue; } + // 校验用户是否在可以同步的正元部门下面 + if (!syncZyDeptIds.contains(user.getSysUser().getDeptId())) { + log.error("|{}|syncAllUserGroup用户不在可以同步的正元部门下面|{}|", TAG, JSONUtil.toJsonStr(v)); + continue; + } MchManageVo mch = mchManageService.getFirstMchByDeptId(user.getSysUser().getDeptId()); if (ObjectUtil.isEmpty(mch)) { log.error("|{}|syncAllUserGroup用户部门商户id为空WalletManageVo|{}|", TAG, JSONUtil.toJsonStr(v));