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 01/10] =?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)); From 51b7cfc96b6b09488e87198b4331d192ffc95cf5 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sat, 22 Mar 2025 15:06:57 +0800 Subject: [PATCH 02/10] 11 --- .../pjcloud/hard/service/HardOrderTotalService.java | 10 +++++----- .../service/impl/order/HardOrderTotalServiceImpl.java | 5 +++++ 2 files changed, 10 insertions(+), 5 deletions(-) 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 d35d777ec..b7186cff0 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 @@ -19,6 +19,11 @@ public interface HardOrderTotalService { */ List listCs(HardOrderDto dto); + /** + * 根据天查询每个商户的流水 + */ + List listCsByDay(Page page, HardOrderDto dto); + /** * 部门交易记录 */ @@ -33,9 +38,4 @@ 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/HardOrderTotalServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java index c6d931853..e1627f7e0 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java @@ -175,6 +175,11 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { return totalList; } + @Override + public List listCsByDay(Page page, HardOrderDto dto) { + return List.of(); + } + /** * 部门交易记录 */ From 88b23c696a5eb5f5606deaa56a863dc68a8a70ae Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sat, 22 Mar 2025 18:04:17 +0800 Subject: [PATCH 03/10] 111 --- .../admin/api/feign/RemoteUserService.java | 16 +++--- .../admin/controller/SysUserController.java | 26 ++++++--- .../pjcloud/admin/service/SysUserService.java | 2 +- .../service/impl/SysUserServiceImpl.java | 2 +- .../impl/thrid/WalletThirdZyServiceImpl.java | 56 +++++++++---------- 5 files changed, 53 insertions(+), 49 deletions(-) diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java index 2e68e3023..135e5707a 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java @@ -19,18 +19,13 @@ package com.bsd.pjcloud.admin.api.feign; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bsd.pjcloud.admin.api.dto.UserDTO; import com.bsd.pjcloud.admin.api.dto.UserInfo; import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.vo.UserVO; import com.bsd.pjcloud.common.core.constant.ServiceNameConstants; -import com.bsd.pjcloud.common.core.exception.ErrorCodes; -import com.bsd.pjcloud.common.core.util.MsgUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.feign.annotation.NoToken; -import io.swagger.v3.oas.annotations.media.Schema; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -45,6 +40,9 @@ import java.util.Set; @FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.UPMS_SERVICE) public interface RemoteUserService { + @PostMapping("/user/inner-page") + R> getRemoteUserPage(@RequestParam Long current, @RequestParam Long size, @RequestBody UserDTO userDTO); + /** * 通过用户名查询用户、角色信息 * @@ -173,6 +171,7 @@ public interface RemoteUserService { /** * 根据ids获取map集合 + * * @param userIds * @return */ @@ -180,9 +179,8 @@ public interface RemoteUserService { R> getUserMap(@RequestParam(value = "userIds") Set userIds); - - @GetMapping("/user/getLikeNameOrByMobileScope") - R< List> getLikeNameOrByMobileScope(@RequestParam(value = "name",required = false) String name, - @RequestParam(value = "mobile",required = false) String mobile); + R> getLikeNameOrByMobileScope(@RequestParam(value = "name", required = false) String name, + @RequestParam(value = "mobile", required = false) String mobile); + } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java index 6b9512fce..b8e32106e 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java @@ -21,7 +21,9 @@ package com.bsd.pjcloud.admin.controller; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.admin.api.dto.UserDTO; @@ -199,10 +201,6 @@ public class SysUserController { /** * 分页查询用户 - * - * @param page 参数集 - * @param userDTO 查询参数列表 - * @return 用户集合 */ @GetMapping("/page") public R getUserPage(@ParameterObject Page page, @ParameterObject UserDTO userDTO) { @@ -210,6 +208,20 @@ public class SysUserController { return R.ok(userService.getUsersWithRolePage(page, userDTO)); } + /** + * 分页查询用户 + */ + @PostMapping("/inner-page") + public R> getRemoteUserPage(@RequestParam Long current, @RequestParam Long size, @RequestBody UserDTO userDTO) { + if (ObjectUtil.isEmpty(userDTO.getIsFindCheckUser())) { + userDTO.setIsFindCheckUser(true); + } + Page pageParams = new Page(); + pageParams.setCurrent(1); + pageParams.setSize(size); + return R.ok(userService.getUsersWithRolePage(pageParams, userDTO).getRecords()); + } + /** * 管理员更新用户信息 * @@ -417,10 +429,10 @@ public class SysUserController { @Inner @GetMapping("/getLikeNameOrByMobileScope") - public R< List> getLikeNameOrByMobileScope(@RequestParam(value = "name",required = false) String name, - @RequestParam(value = "mobile",required = false) String mobile) { + public R> getLikeNameOrByMobileScope(@RequestParam(value = "name", required = false) String name, + @RequestParam(value = "mobile", required = false) String mobile) { List user = userService.listScopeByLikeNameOrByMobileScope(Wrappers.query().lambda() - .like(StringUtils.isNotBlank(name),SysUser::getName, name).eq(StringUtils.isNotBlank(mobile),SysUser::getPhone, mobile)); + .like(StringUtils.isNotBlank(name), SysUser::getName, name).eq(StringUtils.isNotBlank(mobile), SysUser::getPhone, mobile)); if (user == null) { return R.failed(MsgUtils.getMessage(ErrorCodes.SYS_USER_USERINFO_EMPTY, name, mobile)); } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java index c2c98a66d..f5d0b23eb 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java @@ -59,7 +59,7 @@ public interface SysUserService extends IService { * @param userDTO 参数列表 * @return */ - IPage getUsersWithRolePage(Page page, UserDTO userDTO); + IPage getUsersWithRolePage(Page page, UserDTO userDTO); /** * 删除用户 diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index af49dffd6..4662550ca 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -239,7 +239,7 @@ public class SysUserServiceImpl extends ServiceImpl impl * @return */ @Override - public IPage getUsersWithRolePage(Page page, UserDTO userDTO) { + public IPage getUsersWithRolePage(Page page, UserDTO userDTO) { IPage list = baseMapper.getUserVosPage(page, userDTO, DataScope.of()); if (ObjectUtil.isNotEmpty(list.getRecords())) { List userIds = list.getRecords().stream().map(UserVO::getUserId).distinct().toList(); 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 27eba3941..10c53540b 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 @@ -4,16 +4,16 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.admin.api.dto.UserInfo; +import com.bsd.pjcloud.admin.api.dto.UserDTO; import com.bsd.pjcloud.admin.api.entity.SysDept; 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.admin.api.vo.UserVO; 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; import com.bsd.pjcloud.thirdparty.dto.zy.mer.ZyMerSyncAccClassInfoDto; import com.bsd.pjcloud.thirdparty.dto.zy.mer.ZyMerSyncAccountInfoDto; @@ -234,37 +234,31 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { 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); - DataScope dataScope = DataScope.of(); - dataScope.func(DataScopeFuncEnum.ALL); - Page userPage = walletManageService.scopePageList(page, query, dataScope); - if (ObjectUtil.isEmpty(userPage.getRecords())) return 0; + UserDTO query = new UserDTO(); + if (ObjectUtil.isNotEmpty(userId)) { + query.setUserId(userId); + } + if (ObjectUtil.isNotEmpty(syncZyDeptIds)) { + query.setDeptIds(syncZyDeptIds); + } + List userVOList = remoteUserService.getRemoteUserPage(page.getCurrent(), page.getSize(), query).getData(); + if (ObjectUtil.isEmpty(userVOList)) return 0; List syncList = new ArrayList<>(); String syncAllMchVersion = getSyncAllMchVersion(); - for (WalletManageVo v : userPage.getRecords()) { - // 查询用户 - UserInfo user = remoteUserService.getByUserId(v.getUserId()).getData(); - if (ObjectUtil.isEmpty(user)) { - 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()); + for (UserVO v : userVOList) { + MchManageVo mch = mchManageService.getFirstMchByDeptId(v.getDeptId()); + // 查询是在商户下 if (ObjectUtil.isEmpty(mch)) { log.error("|{}|syncAllUserGroup用户部门商户id为空WalletManageVo|{}|", TAG, JSONUtil.toJsonStr(v)); continue; } - if (ObjectUtil.isEmpty(v.getCardNumber())) { + // 查询用户钱包 + WalletManageEntity userWallet = walletManageService.getWallet(v.getUserId(), walletTypeId); + if (ObjectUtil.isEmpty(userWallet) || ObjectUtil.isEmpty(userWallet.getCardNumber())) { walletManageService.createWallet(v.getUserId()); - WalletManageEntity wallet = walletManageService.getWallet(v.getId()); + WalletManageEntity wallet = walletManageService.getWallet(v.getUserId(), walletTypeId); if (ObjectUtil.isNotEmpty(wallet) && ObjectUtil.isNotEmpty(wallet.getCardNumber())) { - v.setCardNumber(wallet.getCardNumber()); + userWallet = wallet; } else { continue; } @@ -272,13 +266,13 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { ZyMerSyncAccountInfoDto item = new ZyMerSyncAccountInfoDto(); item.setAccName(v.getUsername()); item.setAccNum(v.getUserId().toString()); - item.setCardAccNum(v.getId()); - item.setCardSID(v.getCardNumber()); - item.setCardStatus(getCardStatus(v.getStatus())); - item.setEPID(user.getSysUser().getDeptId().toString()); + item.setCardAccNum(userWallet.getId()); + item.setCardSID(userWallet.getCardNumber()); + item.setCardStatus(getCardStatus(userWallet.getStatus())); + item.setEPID(v.getDeptId().toString()); item.setPerCode(v.getUserId().toString()); item.setAccClassID(roleId.toString()); - item.setPhoneNo(v.getUserMobile()); + item.setPhoneNo(v.getPhone()); item.setFixId(syncAllMchVersion); syncList.add(item); } From 1123d1e3e12fc42e581a71724a3be491aa94224a Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sat, 22 Mar 2025 18:56:48 +0800 Subject: [PATCH 04/10] 11 --- .../main/resources/file/支付方式交易汇总.xlsx | Bin 0 -> 10036 bytes .../admin/controller/SysUserController.java | 2 +- .../impl/thrid/WalletThirdZyServiceImpl.java | 5 ++++- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/支付方式交易汇总.xlsx diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/支付方式交易汇总.xlsx b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/支付方式交易汇总.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4509264c91e0fc6ab82fae698686bbcb8076f0e8 GIT binary patch literal 10036 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 Y{Ua(0us;_o`eQp5{G%K$ userVOList = remoteUserService.getRemoteUserPage(page.getCurrent(), page.getSize(), query).getData(); + log.info("|{}|getRemoteUserPage,params|{}|page|{}|size:|{}|", TAG, JSONUtil.toJsonStr(query), page.getCurrent(), page.getSize()); if (ObjectUtil.isEmpty(userVOList)) return 0; + log.info("|{}|getRemoteUserPage,数据length|{}|", TAG, userVOList.size()); List syncList = new ArrayList<>(); String syncAllMchVersion = getSyncAllMchVersion(); for (UserVO v : userVOList) { @@ -264,7 +267,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { } } ZyMerSyncAccountInfoDto item = new ZyMerSyncAccountInfoDto(); - item.setAccName(v.getUsername()); + item.setAccName(v.getName()); item.setAccNum(v.getUserId().toString()); item.setCardAccNum(userWallet.getId()); item.setCardSID(userWallet.getCardNumber()); From 24e756dae5c2ae2e47ed27eff6861a3e85391123 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 23 Mar 2025 14:24:34 +0800 Subject: [PATCH 05/10] 11 --- .../service/impl/thrid/WalletThirdZyServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 2094b3175..fe4797bef 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 @@ -263,6 +263,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { if (ObjectUtil.isNotEmpty(wallet) && ObjectUtil.isNotEmpty(wallet.getCardNumber())) { userWallet = wallet; } else { + log.error("|{}|用户创建钱包失败userId|{}|", TAG, v.getUserId()); continue; } } @@ -282,13 +283,15 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { try { if (ObjectUtil.isNotEmpty(syncList)) { ZyMerSyncAccountInfoVo.DataVo res = thirdZyService.syncAccountInfoApi(syncList).getData(); - if (ObjectUtil.isEmpty(res)) return 0; + if (ObjectUtil.isEmpty(res)) { + return userVOList.size(); + } } } catch (Exception e) { log.error("|{}syncAllUserGroup 调用第三方接口错误|", TAG); return 0; } - return syncList.size(); + return userVOList.size(); } From 0cc8f626988a7159eed2e662d3b2b56f7bc98c96 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 23 Mar 2025 15:09:35 +0800 Subject: [PATCH 06/10] =?UTF-8?q?feat:app=E5=95=86=E6=88=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=20feat:app?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=AF=8F=E6=97=A5=E6=B5=81=E6=B0=B4=E7=B1=BB?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/order/HardOrderController.java | 3 +- .../order/HardOrderTotalController.java | 10 +++- .../hard/mapper/order/HardOrderMapper.java | 2 + .../hard/service/HardOrderService.java | 6 ++ .../hard/service/HardOrderTotalService.java | 3 +- .../impl/order/HardOrderServiceImpl.java | 13 ++++ .../impl/order/HardOrderTotalServiceImpl.java | 59 ++++++++++++++++++- .../mapper/order/HardOrderMapper.xml | 21 +++++++ 8 files changed, 110 insertions(+), 7 deletions(-) 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 49a375c58..706304473 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 @@ -95,7 +95,8 @@ public class HardOrderController { @GetMapping("/app/mch-page-join") public R appMchPageJoin(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { dto.setIsFindCarList(false); - return R.ok(hardwareOrderService.pagejoin(page, dto)); + PjcloudUser user = SecurityUtils.getUser(); + return R.ok(hardwareOrderService.appMchPageJoin(page, dto, user)); } @Operation(summary = "app查询订单详情", description = "app查询订单详情") 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 05d0af9f1..7b8e55281 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 @@ -12,6 +12,8 @@ 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.common.security.service.PjcloudUser; +import com.bsd.pjcloud.common.security.util.SecurityUtils; 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.HardPayTypeEnum; @@ -27,6 +29,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.bouncycastle.jcajce.provider.util.SecretKeyUtil; import org.springdoc.core.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import org.springframework.security.access.prepost.PreAuthorize; @@ -54,11 +57,12 @@ public class HardOrderTotalController { /* ************************************* start app start ************************************* */ - @Operation(summary = "app查询商户流水记录", description = "app查询订单列表根据权限") - @GetMapping("/app/mch-page-join-scope") + @Operation(summary = "app查询商户每天流水记录", description = "app查询订单列表根据权限") + @GetMapping("/app/mch-water-day") public R appMchTotal(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { + PjcloudUser user = SecurityUtils.getUser(); dto.setIsFindCarList(false); - return R.ok(hardOrderTotalService.listCsByDay(page, dto)); + return R.ok(hardOrderTotalService.listCsByDay(page, dto, user)); } /* ************************************* end app end ************************************* */ 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 c5f4351d7..d4999b154 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 @@ -97,6 +97,8 @@ public interface HardOrderMapper extends PjcloudBaseMapper { List listCs(@Param("dto") HardOrderDto dto); + List listCsByDay(HardOrderDto totalDto); + List listOrerPayType(@Param("dto") HardOrderDto dto); List sumAndCount(@Param("dto") HardOrderSumAndCountDto dto); 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 569610ef3..ea46186b9 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 @@ -4,6 +4,7 @@ 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.common.security.service.PjcloudUser; 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; @@ -18,6 +19,11 @@ public interface HardOrderService extends IService { Page pagejoin(Page page, HardOrderDto dto); + /** + * 商户查询订单列表 + */ + Page appMchPageJoin(Page page, HardOrderDto dto, PjcloudUser user); + 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 b7186cff0..ea7d71ac3 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,6 +1,7 @@ package com.bsd.pjcloud.hard.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.common.security.service.PjcloudUser; 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.*; @@ -22,7 +23,7 @@ public interface HardOrderTotalService { /** * 根据天查询每个商户的流水 */ - List listCsByDay(Page page, HardOrderDto dto); + List listCsByDay(Page page, HardOrderDto dto, PjcloudUser user); /** * 部门交易记录 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 da465ab8d..11c127ac8 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 @@ -18,6 +18,7 @@ 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.common.security.service.PjcloudUser; 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,6 +121,18 @@ public class HardOrderServiceImpl extends ServiceImpl appMchPageJoin(Page page, HardOrderDto dto, PjcloudUser user) { + // 查询用户属于的商户 + MchManageVo mch = remoteMchService.getFirstMchByDeptId(user.getDeptId()).getData(); + if (ObjectUtil.isEmpty(mch)) throw new RuntimeException("该用户下不存在商户"); + dto.setMerchantId(mch.getId()); + return getSelf().pagejoin(page, dto); + } + @Override public Page scopePageList(Page page, HardOrderDto dto, DataScope dataScope) { Page list = baseMapper.scopePageList(page, dto, dataScope); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java index e1627f7e0..abff7e215 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java @@ -8,6 +8,7 @@ import com.bsd.pjcloud.admin.api.dto.DeptAllListDto; import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; import com.bsd.pjcloud.common.core.util.CollectionUtils; +import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum; import com.bsd.pjcloud.hard.api.dto.HardManagerDto; @@ -176,8 +177,62 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { } @Override - public List listCsByDay(Page page, HardOrderDto dto) { - return List.of(); + public List listCsByDay(Page page, HardOrderDto dto, PjcloudUser user) { + // 查询用户属于的商户 + MchManageVo mch = remoteMchService.getFirstMchByDeptId(user.getDeptId()).getData(); + if (ObjectUtil.isEmpty(mch)) throw new RuntimeException("该用户下不存在商户"); + dto.setMerchantId(mch.getId()); + // 查询总流水 + CompletableFuture> totalListFuture = CompletableFuture.supplyAsync(() -> { + HardOrderDto totalDto = BeanUtil.toBean(dto, HardOrderDto.class); + totalDto.setOrderStatusCodes(HardOrderStatusEnum.getPayPrice()); + return hardOrderMapper.listCsByDay(totalDto); + }); + // 扣款总流水 + CompletableFuture> refundListFuture = CompletableFuture.supplyAsync(() -> { + HardOrderDto refundDto = BeanUtil.toBean(dto, HardOrderDto.class); + refundDto.setOrderStatusCodes(HardOrderStatusEnum.getPayErrorCodes()); + return hardOrderMapper.listCsByDay(refundDto); + }); + // 盈利 + CompletableFuture> profitListFuture = CompletableFuture.supplyAsync(() -> { + HardOrderDto profitDto = BeanUtil.toBean(dto, HardOrderDto.class); + profitDto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); + return hardOrderMapper.listCsByDay(profitDto); + }); + CompletableFuture allFutures = CompletableFuture.allOf(totalListFuture, refundListFuture, profitListFuture); + allFutures.join(); + List totalList = totalListFuture.join(); + List refundList = refundListFuture.join(); + List profitList = profitListFuture.join(); + for (HardOrderCsVo v : totalList) { + // 退款 + if (ObjectUtil.isNotEmpty(refundList)) { + refundList.stream().filter(i -> ObjectUtil.equals(i.getMerchantId(), v.getMerchantId())).findFirst().ifPresent(i -> { + v.setTotalRefundPrice(i.getTotalPayPrice()); + v.setTotalRefundCount(i.getTotalPayCount()); + }); + } + // 盈利 + if (ObjectUtil.isNotEmpty(profitList)) { + profitList.stream().filter(i -> ObjectUtil.equals(i.getMerchantId(), v.getMerchantId())).findFirst().ifPresent(i -> { + v.setTotalProfitPrice(i.getTotalPayPrice()); + v.setTotalProfitCount(i.getTotalPayCount()); + }); + } + } + // 聚合一下数据 + if (ObjectUtil.isNotEmpty(totalList)) { + // 商户 + List mchIds = totalList.stream().map(HardOrderCsVo::getMerchantId).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + List mchList = remoteMchService.getByIds(mchIds).getData(); + if (ObjectUtil.isNotEmpty(mchList)) { + WalletDataUtil.convertMchList(totalList, CollectionUtils.convertMap(mchList, MchManageVo::getId)); + } + } + } + return totalList; } /** diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml index 3587d8615..951949bd5 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml @@ -82,6 +82,9 @@ and a.dept_id = #{dto.deptId} + + and a.merchant_id = #{dto.merchantId} + @@ -110,6 +113,12 @@ #{v} + + and a.pay_type in + + #{v} + + and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]} @@ -168,6 +177,18 @@ group by a.merchant_id + +