diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java index 4a3570483..d8158c2e2 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java @@ -23,4 +23,9 @@ public class MchManageDto extends MchManageEntity { private String type; private Boolean parentIsNull = true; + + /** + * 分类名 + */ + private String catgoryName; } diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchManageEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchManageEntity.java index d522105d8..c9d0b2510 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchManageEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/mch/MchManageEntity.java @@ -60,6 +60,12 @@ public class MchManageEntity extends Model { @Schema(description = "店铺类型,逗号分隔") private String types; + /** + * 分类id + */ + @Schema(description = "分类id") + private Long catgoryId; + /** * 商户logo图片 */ @@ -118,7 +124,7 @@ public class MchManageEntity extends Model { private Long sort; /** - * 创建人 + * 超市类型 */ @Schema(description = "超市类型") private String supType; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java index 1cd54e0c5..96f1e0fd1 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java @@ -27,4 +27,9 @@ public class MchManageVo extends MchManageEntity implements BaseDeptInterface, B private List children; + /** + * 分类名 + */ + private String catgoryName; + } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchCatgoryController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchCatgoryController.java index 13479be89..f448f0f44 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchCatgoryController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchCatgoryController.java @@ -39,7 +39,9 @@ public class MchCatgoryController { @GetMapping("/select") public R select(@ParameterObject Page page, @ParameterObject MchCatgoryEntity mchCatgory) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(mchCatgory.getBizType()), MchCatgoryEntity::getBizType, mchCatgory.getBizType()) .like(ObjectUtil.isNotEmpty(mchCatgory.getName()), MchCatgoryEntity::getName, mchCatgory.getName()) + .orderByDesc(MchCatgoryEntity::getSort) .orderByDesc(MchCatgoryEntity::getCreateTime) .orderByDesc(MchCatgoryEntity::getId); return R.ok(mchCatgoryService.page(page, wrapper)); @@ -50,7 +52,9 @@ public class MchCatgoryController { @PreAuthorize("@pms.hasPermission('waller_mchCatgory_view')") public R getMchCatgoryPage(@ParameterObject Page page, @ParameterObject MchCatgoryEntity mchCatgory) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(mchCatgory.getBizType()), MchCatgoryEntity::getBizType, mchCatgory.getBizType()) .like(ObjectUtil.isNotEmpty(mchCatgory.getName()), MchCatgoryEntity::getName, mchCatgory.getName()) + .orderByDesc(MchCatgoryEntity::getSort) .orderByDesc(MchCatgoryEntity::getCreateTime) .orderByDesc(MchCatgoryEntity::getId); return R.ok(mchCatgoryService.page(page, wrapper)); 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 e831541a6..7f7253a22 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 @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; 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.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; import com.bsd.pjcloud.wallet.api.dto.MchManageDto; @@ -148,20 +149,23 @@ public class MchManageController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('wallet_mchManage_view')") public R> getMchManagePageJoin(@ParameterObject Page page, @ParameterObject MchManageDto dto) { - return R.ok(mchManageService.scopePageList(page, dto)); + DataScope dataScope = null; + return R.ok(mchManageService.scopePageList(page, dto, dataScope)); } @Operation(summary = "分页级联", description = "分页级联") @GetMapping("/cascade-join") @PreAuthorize("@pms.hasPermission('wallet_mchManage_view')") public R> cascadeJoin(@ParameterObject Page page, @ParameterObject MchManageDto dto) { - return R.ok(mchManageService.cascadeJoin(page, dto)); + DataScope dataScope = null; + return R.ok(mchManageService.cascadeJoin(page, dto, dataScope)); } @Operation(summary = "分页不要权限下拉", description = "分页不要权限下拉") @GetMapping("/select") public R getSelect(@ParameterObject Page page, @ParameterObject MchManageDto dto) { - return R.ok(mchManageService.scopePageList(page, dto)); + DataScope dataScope = null; + return R.ok(mchManageService.scopePageList(page, dto, dataScope)); } @Operation(summary = "通过id查询", description = "通过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 b8546cfed..ebb40497c 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 @@ -14,6 +14,7 @@ import com.github.yulichang.query.MPJLambdaQueryWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -42,43 +43,9 @@ public interface MchManageMapper extends PjcloudBaseMapper { return selectJoinOne(MchManageVo.class, wrapper); } - 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.getVisibleMobile()), MchManageEntity::getVisibleMobile, dto.getVisibleMobile()) - .eq(ObjectUtil.isNotEmpty(dto.getId()), MchManageEntity::getId, dto.getId()) - .eq(ObjectUtil.isNotEmpty(dto.getParentId()), MchManageEntity::getParentId, dto.getParentId()) - .eq(ObjectUtil.isNotEmpty(dto.getDeptId()), MchManageEntity::getDeptId, dto.getDeptId()) - .likeIfExists(MchManageEntity::getName, dto.getName()) - .in(ObjectUtil.isNotEmpty(dto.getDeptIds()), MchManageEntity::getDeptId, dto.getDeptIds()) - .in(ObjectUtil.isNotEmpty(dto.getIds()), MchManageEntity::getId, dto.getIds()) - .orderByDesc(MchManageEntity::getSort) - .orderByDesc(MchManageEntity::getCreateTime) - .orderByDesc(MchManageEntity::getId); - return selectJoinList(MchManageVo.class, wrapper); - } + List scopeList(@Param("dto") MchManageDto dto, DataScope dataScope); - default Page scopePageList(Page page, MchManageDto dto) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper() - .eq(ObjectUtil.isNotEmpty(dto.getTypes()), MchManageEntity::getTypes, dto.getTypes()) - .eq(ObjectUtil.isNotEmpty(dto.getVisibleMobile()), MchManageEntity::getVisibleMobile, dto.getVisibleMobile()) - .eq(ObjectUtil.isNotEmpty(dto.getIsSyncZy()), MchManageEntity::getIsSyncZy, dto.getIsSyncZy()) - .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()) - .in(ObjectUtil.isNotEmpty(dto.getIds()), MchManageEntity::getId, dto.getIds()) - .in(ObjectUtil.isNotEmpty(dto.getNotIds()), MchManageEntity::getId, dto.getNotIds()) - .orderByDesc(MchManageEntity::getSort) - .orderByDesc(MchManageEntity::getDeptId) - .orderByDesc(MchManageEntity::getCreateTime); - Page list = selectPageByScope(page, wrapper, DataScope.of()); - list.setRecords(BeanUtils.toBean(list.getRecords(), MchManageVo.class)); - return list; - } + Page scopePageList(Page page, @Param("dto") MchManageDto dto, DataScope dataScope); default List scopeList(MchManageDto dto) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java index 0717bb805..f4e83aae6 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java @@ -3,6 +3,7 @@ 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.core.constant.enums.MerchantTypeEnum; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.wallet.api.dto.MchManageDto; import com.bsd.pjcloud.wallet.api.entity.mch.MchManageEntity; import com.bsd.pjcloud.wallet.api.vo.MchManageVo; @@ -25,9 +26,9 @@ public interface MchManageService extends IService { /** * 分页级联 */ - Page cascadeJoin(Page page, MchManageDto dto); + Page cascadeJoin(Page page, MchManageDto dto, DataScope dataScope); - Page scopePageList(Page page, MchManageDto dto); + Page scopePageList(Page page, MchManageDto dto, DataScope dataScope); MchManageVo join(Long id); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchCatgoryServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchCatgoryServiceImpl.java index bbd92695f..c210f287c 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchCatgoryServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchCatgoryServiceImpl.java @@ -3,6 +3,7 @@ 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.service.impl.ServiceImpl; +import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import com.bsd.pjcloud.wallet.api.entity.mch.MchCatgoryEntity; import com.bsd.pjcloud.wallet.mapper.mch.MchCatgoryMapper; import com.bsd.pjcloud.wallet.service.MchCatgoryService; @@ -26,6 +27,9 @@ public class MchCatgoryServiceImpl extends ServiceImpl() .eq(ObjectUtil.isNotEmpty(dto.getName()), MchCatgoryEntity::getName, dto.getName()) + .eq(ObjectUtil.isNotEmpty(dto.getBizType()), MchCatgoryEntity::getBizType, dto.getBizType()) .ne(ObjectUtil.isNotEmpty(dto.getId()), MchCatgoryEntity::getId, dto.getId()) ); if (ObjectUtil.isNotEmpty(dto.getId())) { 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 2faf3d468..1cc3c7148 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 @@ -155,7 +155,7 @@ public class MchManageServiceImpl extends ServiceImpl list) { if (ObjectUtil.isEmpty(list)) return; // 判断下面是否有订单 - List mchList = baseMapper.list(MchManageDto.builder().ids(list).build()); + List mchList = baseMapper.scopeList(MchManageDto.builder().ids(list).build(), null); for (MchManageVo v : mchList) { Long count = remoteHardOrderService.getMchCountById(v.getId()).getData(); if (ObjectUtil.isNotEmpty(count) && count > 0) { @@ -190,12 +190,13 @@ public class MchManageServiceImpl extends ServiceImpl cascadeJoin(Page page, MchManageDto dto) { - Page pageList = scopePageList(page, dto); + public Page cascadeJoin(Page page, MchManageDto dto, DataScope dataScope) { + Page pageList = scopePageList(page, dto, dataScope); if (ObjectUtil.isEmpty(pageList.getRecords())) return pageList; for (MchManageVo v : pageList.getRecords()) { MchManageDto childrenDto = new MchManageDto(); childrenDto.setParentId(v.getId()); + childrenDto.setParentIsNull(false); List list = list(childrenDto); if (ObjectUtil.isEmpty(list)) continue; v.setChildren(list); @@ -204,8 +205,8 @@ public class MchManageServiceImpl extends ServiceImpl scopePageList(Page page, MchManageDto dto) { - Page list = baseMapper.scopePageList(page, dto); + public Page scopePageList(Page page, MchManageDto dto, DataScope dataScope) { + Page list = baseMapper.scopePageList(page, dto, dataScope); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 部门 List deptIds = list.getRecords().stream().map(MchManageVo::getDeptId).distinct().toList(); @@ -245,7 +246,7 @@ public class MchManageServiceImpl extends ServiceImpl list(MchManageDto dto) { - List list = baseMapper.list(dto); + List list = baseMapper.scopeList(dto, null); if (ObjectUtil.isEmpty(list)) return null; // 部门 List deptIds = list.stream().map(MchManageVo::getDeptId).distinct().toList(); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchManageMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchManageMapper.xml index 400887fe2..370543bfa 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchManageMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/mch/MchManageMapper.xml @@ -25,4 +25,104 @@ + + + select a.id, + a.parent_id, + a.dept_id, + a.default_wallet_type_id, + a.name, + a.types, + a.catgory_id, + a.logo_pic, + a.collection_code, + a.swiper_pic, + a.phone, + a.address_des, + a.job_time, + a.is_sync_zy, + a.visible_mobile, + a.sort, + a.sup_type, + a.discounts_price, + a.cooperation_status, + a.mch_count, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id, + + + + a.del_flag = 0 + + and a.types = #{dto.types} + + + and a.catgory_id = #{dto.catgoryId} + + + and a.visible_mobile = #{dto.visibleMobile} + + + and a.is_sync_zy = #{dto.isSyncZy} + + + and a.dept_id = #{dto.deptId} + + + and a.sup_type = #{dto.supType} + + + and a.parent_id = #{dto.parentId} + + + and a.parent_id = -1 + + + and a.name like concat('%', #{dto.name}, '%') + + + and a.dept_id in + + #{v} + + + + and a.id in + + #{v} + + + + and a.id in + + #{v} + + + + + + + \ No newline at end of file