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 b18412c04..722609be9 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 @@ -54,6 +54,10 @@ public interface RemoteDeptService { @PostMapping("/dept/inner-all-dept") R> getInnerAllDept(@RequestBody DeptAllListDto dto); + @NoToken + @PostMapping("/dept/inner-dept") + R> getInnerDept(@RequestBody DeptAllListDto dto); + /** * 通过部门ID获取负责人列表 * 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 6b844270a..065482f31 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 @@ -225,4 +225,12 @@ public class SysDeptController { public R> getInnerAllDept(@RequestBody DeptAllListDto dto) { return R.ok(sysDeptMapper.allList(dto)); } + + @Inner + @PostMapping("/inner-dept") + public R> getInnerDept(@RequestBody DeptAllListDto dto) { + return R.ok(sysDeptService.getInnerDept(dto)); + } + + } 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 c985ca6af..94ba43d45 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 @@ -21,6 +21,7 @@ package com.bsd.pjcloud.admin.service; import cn.hutool.core.lang.tree.Tree; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.admin.api.dto.DeptAllListDto; import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.vo.DeptExcelVO; import com.bsd.pjcloud.admin.api.vo.OrgTreeVO; @@ -127,4 +128,6 @@ public interface SysDeptService extends IService { */ List selectByNames(List names); + + List getInnerDept(DeptAllListDto dto); } 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 6d6b56a09..c961176ab 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 @@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.admin.api.constant.OrgTypeEnum; import com.bsd.pjcloud.admin.api.constant.PostCodeEnum; +import com.bsd.pjcloud.admin.api.dto.DeptAllListDto; import com.bsd.pjcloud.admin.api.entity.*; import com.bsd.pjcloud.admin.api.utils.DataUtil; import com.bsd.pjcloud.admin.api.vo.DeptExcelVO; @@ -413,6 +414,15 @@ public class SysDeptServiceImpl extends ServiceImpl impl ); } + @Override + public List getInnerDept(DeptAllListDto dto) { + return baseMapper.selectList(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(dto.getDeptId()), SysDept::getDeptId, dto.getDeptId()) + .eq(ObjectUtil.isNotEmpty(dto.getIsSyncZy()), SysDept::getIsSyncZy, dto.getIsSyncZy()) + .in(ObjectUtil.isNotEmpty(dto.getDeptIds()), SysDept::getDeptId, dto.getDeptIds()) + ); + } + /** * 递归查询所有子节点。 * diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/mch/WalletMchSupType.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/mch/WalletMchSupType.java index aa0969d1c..93765c8cd 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/mch/WalletMchSupType.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/mch/WalletMchSupType.java @@ -15,7 +15,7 @@ import java.util.Arrays; public enum WalletMchSupType { BRAND("10", "品牌"), - MCH("20", "商家"), + MCH("20", "商户"), ; private final String code; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchRuleJoinDtoEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchRuleJoinDtoEntity.java index 2f5cf4c61..4533b42ff 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchRuleJoinDtoEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchRuleJoinDtoEntity.java @@ -39,7 +39,7 @@ public class MchRuleJoinDtoEntity extends Model { /** * 目标部门id */ - private Long tragetDeptId; + private Long targetDeptId; /** * 规则配置id diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/mch/MchRuleJoinDtoVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/mch/MchRuleJoinDtoVo.java index b20c4dbe4..79392e6e7 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/mch/MchRuleJoinDtoVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/mch/MchRuleJoinDtoVo.java @@ -26,4 +26,14 @@ public class MchRuleJoinDtoVo extends MchRuleJoinDtoEntity { */ private Long multiple; + /** + * 源商户名 + */ + private String sourceMchName; + + /** + * 目标商户名 + */ + private String targetMchName; + } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchDeptController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchDeptController.java index 4a24a46d5..9f9391e70 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchDeptController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchDeptController.java @@ -39,7 +39,7 @@ public class MchDeptController { @Operation(summary = "同步全部", description = "分页查询") @GetMapping("/sync-all") public R syncAll() { - mchDeptUserService.syncAll(); + mchDeptUserService.syncAll(List.of()); return R.ok(); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java index 771edbe9e..a9c7474c0 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java @@ -101,6 +101,16 @@ public class MchManageController { return R.ok(mchManageService.pageJoin(page, dto)); } + @Operation(summary = "app查询合作商家的分店", description = "app查询合作商家的分店") + @GetMapping("/app/children-page-join") + @Inner(value = false) + public R> appParentPageJoin(@ParameterObject Page page, @ParameterObject MchManageDto dto) { + dto.setVisibleMobile(YesNoEnum.YES.getCode()); + dto.setTypes(MerchantTypeEnum.SUPERMARKET.getType()); + dto.setParentIsNull(false); + return R.ok(mchManageService.pageJoin(page, dto)); + } + @Operation(summary = "app查询店铺详情", description = "app查询店铺详情") @GetMapping("/app/detail") public R appPageJoin(@RequestParam Long id) { diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRuleJoinController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRuleJoinController.java index 651e678fd..012f26466 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRuleJoinController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRuleJoinController.java @@ -55,28 +55,36 @@ public class MchRuleJoinController { return R.ok(mchRuleJoinControllerService.getById(id)); } + @Operation(summary = "通过id查询", description = "通过id查询") + @GetMapping("join-detail/{id}") + @PreAuthorize("@pms.hasPermission('dzc_walletRuleMchConfig_view')") + public R joinDetail(@PathVariable("id") Long id) { + return R.ok(mchRuleJoinControllerService.joinDetail(id)); + } + @Operation(summary = "新增商户规格配置表", description = "新增商户规格配置表") @SysLog("新增商户规格配置表") @PostMapping @PreAuthorize("@pms.hasPermission('dzc_walletRuleMchConfig_add')") - public R save(@RequestBody MchRuleJoinDtoEntity walletRuleMchConfig) { - return R.ok(mchRuleJoinControllerService.save(walletRuleMchConfig)); + public R save(@RequestBody MchRuleJoinDtoEntity dto) { + return R.ok(mchRuleJoinControllerService.create(dto)); } @Operation(summary = "修改商户规格配置表", description = "修改商户规格配置表") @SysLog("修改商户规格配置表") @PutMapping @PreAuthorize("@pms.hasPermission('dzc_walletRuleMchConfig_edit')") - public R updateById(@RequestBody MchRuleJoinDtoEntity walletRuleMchConfig) { - return R.ok(mchRuleJoinControllerService.updateById(walletRuleMchConfig)); + public R updateById(@RequestBody MchRuleJoinDtoEntity dto) { + return R.ok(mchRuleJoinControllerService.edit(dto)); } @Operation(summary = "通过id删除商户规格配置表", description = "通过id删除商户规格配置表") @SysLog("通过id删除商户规格配置表") @DeleteMapping @PreAuthorize("@pms.hasPermission('dzc_walletRuleMchConfig_del')") - public R removeById(@RequestBody Long ids) { - return R.ok(mchRuleJoinControllerService.removeBatchByIds(CollUtil.toList(ids))); + public R removeById(@RequestBody Long[] ids) { + mchRuleJoinControllerService.delByIds(CollUtil.toList(ids)); + return R.ok(); } @ResponseExcel diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRulePriceConfigController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRulePriceConfigController.java index 7cff04683..516b4f854 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRulePriceConfigController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchRulePriceConfigController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.wallet.api.dto.mch.MchRulePriceConfigDto; import com.bsd.pjcloud.wallet.api.entity.mch.MchRulePriceConfigEntity; @@ -24,8 +25,8 @@ import java.util.List; @RestController @RequiredArgsConstructor -@RequestMapping("/wallet-rule-price-config") -@Tag(description = "wallet-rule-price-config", name = "钱包规则管理") +@RequestMapping("/mch-rule-price-config") +@Tag(description = "mch-rule-price-config", name = "钱包规则管理") @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class MchRulePriceConfigController { @@ -39,9 +40,18 @@ public class MchRulePriceConfigController { return R.ok(walletRulePriceConfigService.page(page, wrapper)); } + @Operation(summary = "分页下拉查询", description = "分页下拉查询") + @GetMapping("/page-select") + public R pageSelect(@ParameterObject Page page, @ParameterObject MchRulePriceConfigDto dto) { + DataScope dataScope = null; + return R.ok(walletRulePriceConfigService.scopePageList(page, dto, dataScope)); + } + + @Operation(summary = "通过id查询", description = "通过id查询") @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('wallet_walletRulePriceConfig_view')") + public R getById(@PathVariable("id") Long id) { return R.ok(walletRulePriceConfigService.getById(id)); } 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 71a537b40..14d6c4da2 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 @@ -24,6 +24,7 @@ public interface MchManageMapper extends PjcloudBaseMapper { MPJLambdaQueryWrapper wrapper = new MPJLambdaQueryWrapper() .selectAll(MchManageEntity.class) .eqIfExists(MchManageEntity::getVisibleMobile, dto.getVisibleMobile()) + .eqIfExists(MchManageEntity::getParentId, dto.getParentId()) .likeIfExists(MchManageEntity::getName, dto.getName()) .in(ObjectUtil.isNotEmpty(dto.getDeptIds()), MchManageEntity::getDeptId, dto.getDeptIds()) .apply(ObjectUtil.isNotEmpty(dto.getType()), "FIND_IN_SET({0}, types)", dto.getType()) @@ -65,9 +66,9 @@ public interface MchManageMapper extends PjcloudBaseMapper { .eq(ObjectUtil.isNotEmpty(dto.getDeptId()), MchManageEntity::getDeptId, dto.getDeptId()) .eq(ObjectUtil.isNotEmpty(dto.getSupType()), MchManageEntity::getSupType, dto.getSupType()) .eq(ObjectUtil.isNotEmpty(dto.getParentId()), MchManageEntity::getParentId, dto.getParentId()) + .eq(dto.getParentIsNull(), MchManageEntity::getParentId, -1L) .like(ObjectUtil.isNotEmpty(dto.getName()), MchManageEntity::getName, dto.getName()) .in(ObjectUtil.isNotEmpty(dto.getDeptIds()), MchManageEntity::getDeptId, dto.getDeptIds()) - .isNull(dto.getParentIsNull(), MchManageEntity::getParentId) .in(ObjectUtil.isNotEmpty(dto.getIds()), MchManageEntity::getId, dto.getIds()) .orderByDesc(MchManageEntity::getSort) .orderByDesc(MchManageEntity::getDeptId) diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRuleMchConfigMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRuleMchConfigMapper.java index 911e58a0a..f35ecfd6f 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRuleMchConfigMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRuleMchConfigMapper.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.wallet.api.dto.mch.MchRuleJoinDto; +import com.bsd.pjcloud.wallet.api.entity.mch.MchManageEntity; import com.bsd.pjcloud.wallet.api.entity.mch.MchRuleJoinDtoEntity; import com.bsd.pjcloud.wallet.api.vo.mch.MchRuleJoinDtoVo; +import com.github.yulichang.query.MPJLambdaQueryWrapper; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -14,4 +17,5 @@ public interface WalletRuleMchConfigMapper extends PjcloudBaseMapper pageScopeList(Page page, @Param("dto") MchRuleJoinDto dto, DataScope dataScope); + MchRuleJoinDtoVo joinDetail(@Param("id") Long id); } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRulePriceConfigMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRulePriceConfigMapper.java index 79a0514dd..69044f20f 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRulePriceConfigMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/rule/WalletRulePriceConfigMapper.java @@ -1,11 +1,26 @@ package com.bsd.pjcloud.wallet.mapper.rule; +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.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; +import com.bsd.pjcloud.wallet.api.dto.mch.MchRulePriceConfigDto; import com.bsd.pjcloud.wallet.api.entity.mch.MchRulePriceConfigEntity; +import com.bsd.pjcloud.wallet.api.vo.mch.MchRulePriceConfigVo; +import com.github.yulichang.query.MPJLambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; @Mapper public interface WalletRulePriceConfigMapper extends PjcloudBaseMapper { + default Page scopePageList(Page page, MchRulePriceConfigDto dto, DataScope dataScope) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(dto.getId()), MchRulePriceConfigEntity::getId, dto.getId()) + .eq(ObjectUtil.isNotEmpty(dto.getRulePriceType()), MchRulePriceConfigEntity::getRulePriceType, dto.getRulePriceType()) + .orderByDesc(MchRulePriceConfigEntity::getCreateTime) + .orderByDesc(MchRulePriceConfigEntity::getRulePriceType); + return selectPageByScope(page, wrapper, dataScope); + } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchDeptService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchDeptService.java index 540db8cbc..5174e191a 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchDeptService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchDeptService.java @@ -13,7 +13,7 @@ public interface MchDeptService extends IService { /** * 同步全部 */ - void syncAll(); + void syncAll(List deptIds); /** * 分页复杂查询 diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchRuleJoinControllerService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchRuleJoinControllerService.java index 700d73d14..de57848ad 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchRuleJoinControllerService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchRuleJoinControllerService.java @@ -7,6 +7,8 @@ import com.bsd.pjcloud.wallet.api.dto.mch.MchRuleJoinDto; import com.bsd.pjcloud.wallet.api.entity.mch.MchRuleJoinDtoEntity; import com.bsd.pjcloud.wallet.api.vo.mch.MchRuleJoinDtoVo; +import java.util.ArrayList; + public interface MchRuleJoinControllerService extends IService { /** @@ -14,4 +16,23 @@ public interface MchRuleJoinControllerService extends IService pageScopeList(Page page, MchRuleJoinDto dto, DataScope dataScope); + /** + * 新增 + */ + Long create(MchRuleJoinDtoEntity dto); + + /** + * 修改 + */ + Long edit(MchRuleJoinDtoEntity dto); + + /** + * 删除 + */ + void delByIds(ArrayList list); + + /** + * 复杂详情 + */ + MchRuleJoinDtoVo joinDetail(Long id); } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRulePriceConfigService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRulePriceConfigService.java index 1239c400b..277f00816 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRulePriceConfigService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRulePriceConfigService.java @@ -1,8 +1,11 @@ package com.bsd.pjcloud.wallet.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.wallet.api.dto.mch.MchRulePriceConfigDto; import com.bsd.pjcloud.wallet.api.entity.mch.MchRulePriceConfigEntity; +import com.bsd.pjcloud.wallet.api.vo.mch.MchRulePriceConfigVo; import java.util.ArrayList; @@ -21,4 +24,9 @@ public interface WalletRulePriceConfigService extends IService list); + + /** + * 权限分页查询 + */ + Page scopePageList(Page page, MchRulePriceConfigDto dto, DataScope dataScope); } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java index bff39d057..559acd902 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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.admin.api.utils.DataUtil; @@ -43,9 +44,11 @@ public class MchDeptServiceImpl extends ServiceImpl dpetList = remoteDeptService.getAllDept(null).getData(); + public void syncAll(List deptIds) { + DataScope dataScope = null; + DeptAllListDto deptDto = new DeptAllListDto(); + if (ObjectUtil.isNotEmpty(deptIds)) deptDto.setDeptIds(deptIds); + List dpetList = remoteDeptService.getInnerDept(deptDto).getData(); if (ObjectUtil.isEmpty(dpetList)) return; // 插入部门 List saveUserList = new ArrayList<>(); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java index 74d0c263a..f4ef141f1 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java @@ -21,6 +21,7 @@ import com.bsd.pjcloud.common.core.util.QRCodeImageGenerator; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.utils.Drawing2D; +import com.bsd.pjcloud.wallet.api.constant.mch.WalletMchSupType; import com.bsd.pjcloud.wallet.api.dto.MchManageDto; import com.bsd.pjcloud.wallet.api.dto.WalletTypeDto; import com.bsd.pjcloud.wallet.api.entity.mch.MchManageEntity; @@ -85,6 +86,7 @@ public class MchManageServiceImpl extends ServiceImpl 0) { - throw new RuntimeException("该" + MerchantTypeEnum.SUPERMARKET.getName() + "下面有子店铺,不能修改类型"); + if (!ObjectUtil.equals(mchManage.getTypes(), dto.getTypes())) { + throw new RuntimeException("该" + MerchantTypeEnum.SUPERMARKET.getName() + "下面有子店铺,不能修改类型"); + } + } + } + // 如果有parentId就不能换types + if (ObjectUtil.notEqual(mchManage.getParentId(), -1L)) { + if (!ObjectUtil.equals(mchManage.getTypes(), dto.getTypes())) { + throw new RuntimeException("该" + MerchantTypeEnum.SUPERMARKET.getName() + "下的" + WalletMchSupType.MCH.getDesc() + ",不能修改类型"); } } baseMapper.updateById(dto); - updateMchCount(dto); + updateMchCount(orgParentId); // walletThirdZyService.syncAllMch(dto.getId(), Boolean.FALSE); } @@ -172,7 +187,7 @@ public class MchManageServiceImpl extends ServiceImpl list = list(childrenDto); - if (ObjectUtil.isEmpty(list)) break; + if (ObjectUtil.isEmpty(list)) continue; v.setChildren(list); } return pageList; @@ -289,14 +304,14 @@ public class MchManageServiceImpl extends ServiceImpl() - .eq(MchManageEntity::getParentId, dto.getParentId()) + .eq(MchManageEntity::getParentId, orgParentId) ); if (ObjectUtil.isNotEmpty(count)) { MchManageEntity updateEntity = new MchManageEntity(); - updateEntity.setId(dto.getParentId()); + updateEntity.setId(orgParentId); updateEntity.setMchCount(count); updateById(updateEntity); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRuleJoinControllerServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRuleJoinControllerServiceImpl.java index f9b324fce..e9ada9649 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRuleJoinControllerServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRuleJoinControllerServiceImpl.java @@ -1,18 +1,24 @@ package com.bsd.pjcloud.wallet.service.impl.mch; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.wallet.api.dto.mch.MchRuleJoinDto; +import com.bsd.pjcloud.wallet.api.entity.mch.MchManageEntity; import com.bsd.pjcloud.wallet.api.entity.mch.MchRuleJoinDtoEntity; import com.bsd.pjcloud.wallet.api.vo.mch.MchRuleJoinDtoVo; import com.bsd.pjcloud.wallet.mapper.rule.WalletRuleMchConfigMapper; +import com.bsd.pjcloud.wallet.service.MchManageService; import com.bsd.pjcloud.wallet.service.MchRuleJoinControllerService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import java.util.ArrayList; + @Validated @Slf4j @@ -20,6 +26,53 @@ import org.springframework.validation.annotation.Validated; @Service public class MchRuleJoinControllerServiceImpl extends ServiceImpl implements MchRuleJoinControllerService { + private final MchManageService mchManageService; + + @Override + public Long create(MchRuleJoinDtoEntity dto) { + if (existMchRuleJoin(dto)) { + throw new RuntimeException("绑定的规则类型不能重复"); + } + if (areMchIdsDistinct(dto)) { + throw new RuntimeException("源商户与目标商户不能重复"); + } + MchManageEntity targetMch = mchManageService.getById(dto.getTargetMchId()); + if (ObjectUtil.isEmpty(targetMch)) { + throw new RuntimeException("目标商户不存在"); + } + dto.setTargetDeptId(targetMch.getDeptId()); + baseMapper.insert(dto); + return dto.getId(); + } + + @Override + public Long edit(MchRuleJoinDtoEntity dto) { + if (existMchRuleJoin(dto)) { + throw new RuntimeException("绑定的规则类型不能重复"); + } + if (areMchIdsDistinct(dto)) { + throw new RuntimeException("源商户与目标商户不能重复"); + } + MchManageEntity targetMch = mchManageService.getById(dto.getTargetMchId()); + if (ObjectUtil.isEmpty(targetMch)) { + throw new RuntimeException("目标商户不存在"); + } + dto.setTargetDeptId(targetMch.getDeptId()); + baseMapper.updateById(dto); + return dto.getId(); + } + + @Override + public void delByIds(ArrayList list) { + if (ObjectUtil.isEmpty(list)) return; + baseMapper.deleteByIds(list); + } + + @Override + public MchRuleJoinDtoVo joinDetail(Long id) { + return baseMapper.joinDetail(id); + } + /** * 权限分页查询 */ @@ -27,4 +80,30 @@ public class MchRuleJoinControllerServiceImpl extends ServiceImpl pageScopeList(Page page, MchRuleJoinDto dto, DataScope dataScope) { return baseMapper.pageScopeList(page, dto, dataScope); } + + /** + * 是否重复 + */ + private boolean existMchRuleJoin(MchRuleJoinDtoEntity dto) { + Long count = baseMapper.selectCount(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(dto.getSourceMchId()), MchRuleJoinDtoEntity::getSourceMchId, dto.getSourceMchId()) + .eq(ObjectUtil.isNotEmpty(dto.getTargetMchId()), MchRuleJoinDtoEntity::getTargetMchId, dto.getTargetMchId()) + .eq(ObjectUtil.isNotEmpty(dto.getRulePriceConfigId()), MchRuleJoinDtoEntity::getRulePriceConfigId, dto.getRulePriceConfigId()) + .ne(ObjectUtil.isNotEmpty(dto.getId()), MchRuleJoinDtoEntity::getId, dto.getId()) + ); + if (ObjectUtil.isNotEmpty(dto.getId())) { + return count >= 1; + } + return count > 0; + } + + /** + * sourceMchId和targetMchId是否重复 + */ + private boolean areMchIdsDistinct(MchRuleJoinDtoEntity dto) { + if (!ObjectUtil.isAllNotEmpty(dto.getSourceMchId(), dto.getTargetMchId())) { + return false; + } + return ObjectUtil.equals(dto.getSourceMchId(), dto.getTargetMchId()); + } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRulePriceConfigServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRulePriceConfigServiceImpl.java index e4b6e220e..8e8a12e83 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRulePriceConfigServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchRulePriceConfigServiceImpl.java @@ -3,10 +3,13 @@ package com.bsd.pjcloud.wallet.service.impl.mch; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.common.core.constant.CacheConstants; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.wallet.api.dto.mch.MchRulePriceConfigDto; import com.bsd.pjcloud.wallet.api.entity.mch.MchRulePriceConfigEntity; +import com.bsd.pjcloud.wallet.api.vo.mch.MchRulePriceConfigVo; import com.bsd.pjcloud.wallet.mapper.rule.WalletRulePriceConfigMapper; import com.bsd.pjcloud.wallet.service.WalletRulePriceConfigService; import lombok.RequiredArgsConstructor; @@ -71,11 +74,18 @@ public class MchRulePriceConfigServiceImpl extends ServiceImpl { redisTemplate.opsForValue().getAndDelete(CacheConstants.WALLET_RULE_PRICE_CONFIG_DETAIL + v); - // walletThirdZyService.syncAllMch(v, Boolean.TRUE); }); baseMapper.deleteByIds(list); } + /** + * 权限分页查询 + */ + @Override + public Page scopePageList(Page page, MchRulePriceConfigDto dto, DataScope dataScope) { + return baseMapper.scopePageList(page, dto, dataScope); + } + private boolean existRulePriceType(String rulePriceConfigType, Long id) { Long count = baseMapper.selectCount(new LambdaQueryWrapper() .eq(ObjectUtil.isNotEmpty(rulePriceConfigType), MchRulePriceConfigEntity::getRulePriceType, rulePriceConfigType) diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRuleJoinMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRuleJoinMapper.xml index eb8aaf4fc..cfc6b0b22 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRuleJoinMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRuleJoinMapper.xml @@ -6,7 +6,7 @@ - + @@ -47,12 +47,34 @@ p.id as rulePirceConfigId, p.rule_price_type, p.base_price, - p.multiple - from wallet_rule_mch_config a - left join wallet_rule_price_config p on a.rule_price_config_id = p.id + p.multiple, + source.name as sourceMchName, + target.name as targetMchName + from mch_rule_join a + left join mch_rule_price_config p on a.rule_price_config_id = p.id + left join mch_manage source on source.id = a.source_mch_id + left join mch_manage target on target.id = a.target_mch_id order by a.create_time desc , a.id desc + + + \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRulePriceConfigMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRulePriceConfigMapper.xml index cef2a381c..6bcca3487 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRulePriceConfigMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchRulePriceConfigMapper.xml @@ -15,4 +15,6 @@ + + \ No newline at end of file