From f20d34b50981defbe7b9054a609e929d22eb0aff Mon Sep 17 00:00:00 2001 From: admin <1752476835@qq.com> Date: Sun, 16 Jun 2024 21:41:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E5=91=98=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlayClerkTypeInfoController.java | 13 +++--- .../PlayClerkUserInfoController.java | 40 ++++++++++++++++--- .../clerk/mapper/PlayClerkTypeInfoMapper.java | 4 +- .../entity/PlayClerkUserTypeEditVo.java | 31 ++++++++++++++ .../module/vo/PlayClerkTypeInfoQueryVo.java | 17 ++++++++ .../module/vo/PlayClerkTypeInfoReturnVo.java | 35 ++++++++++++++++ .../service/IPlayClerkTypeInfoService.java | 8 ++-- .../service/IPlayClerkUserInfoService.java | 10 ++++- .../impl/PlayClerkTypeInfoServiceImpl.java | 21 ++++++++-- .../impl/PlayClerkUserInfoServiceImpl.java | 18 +++++++-- .../PlayPersonnelGroupInfoController.java | 4 +- 11 files changed, 173 insertions(+), 28 deletions(-) create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserTypeEditVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoQueryVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoReturnVo.java diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkTypeInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkTypeInfoController.java index 8e47eef..97dd99f 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkTypeInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkTypeInfoController.java @@ -2,6 +2,7 @@ package com.starry.admin.modules.clerk.controller; import com.starry.admin.modules.clerk.module.entity.PlayClerkTypeInfoEntity; import com.starry.admin.modules.clerk.module.vo.PlayClerkTypeInfoAddVo; +import com.starry.admin.modules.clerk.module.vo.PlayClerkTypeInfoQueryVo; import com.starry.admin.modules.clerk.service.IPlayClerkTypeInfoService; import com.starry.common.annotation.Log; import com.starry.common.enums.BusinessType; @@ -32,14 +33,14 @@ public class PlayClerkTypeInfoController { return R.ok(playClerkTypeInfoService.selectByAll()); } - /** - * 获取店员分类信息详细信息 - */ - @GetMapping(value = "/{id}") - public R getInfo(@PathVariable("id") String id) { - return R.ok(playClerkTypeInfoService.selectPlayClerkTypeInfoById(id)); + @PostMapping("/listByPage") + public R listByPage(@Validated @RequestBody PlayClerkTypeInfoQueryVo vo) { + return R.ok(playClerkTypeInfoService.selectByPage(vo)); } + + /** + /** * 新增店员分类信息 */ diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkUserInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkUserInfoController.java index c27902f..398c26b 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkUserInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/controller/PlayClerkUserInfoController.java @@ -5,13 +5,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserQueryVo; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserReturnVo; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserTypeEditVo; import com.starry.admin.modules.clerk.module.vo.PlayClerkUserEditVo; import com.starry.admin.modules.clerk.module.vo.PlayClerkUserStateEditVo; import com.starry.admin.modules.clerk.service.IPlayClerkCommodityService; import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; -import com.starry.admin.modules.play.service.IPlayUserInfoService; import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoQueryVo; import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoResultVo; import com.starry.common.annotation.Log; @@ -34,16 +34,11 @@ import java.util.List; @RequestMapping("/clerk/user") public class PlayClerkUserInfoController { - @Resource - private IPlayUserInfoService playUserInfoService; @Resource private IPlayCustomUserInfoService customUserInfoService; @Resource private IPlayClerkUserInfoService playClerkUserInfoService; - @Resource - private IPlayClerkCommodityService clerkCommodityService; - /** * 查询店员列表 */ @@ -53,6 +48,39 @@ public class PlayClerkUserInfoController { return R.ok(list); } + /** + * 查询店员列表 + */ + @GetMapping("listAllByTypeId") + public R listAllByTypeId(@RequestParam("id") String id) { + List list = playClerkUserInfoService.listAllByTypeId(id); + return R.ok(list); + } + + /** + * 修改店员类型 + */ + @PostMapping("editClerkType") + public R listByPage(@Validated @RequestBody PlayClerkUserTypeEditVo vo) { + //先清空当前分类下店员 + List list = playClerkUserInfoService.listAllByTypeId(vo.getTypeId()); + for (PlayClerkUserInfoEntity clerkUserInfo : list) { + PlayClerkUserInfoEntity entity = new PlayClerkUserInfoEntity(); + entity.setId(clerkUserInfo.getId()); + entity.setTypeId(""); + playClerkUserInfoService.update(entity); + } + for (String clerkUserId : vo.getClerkUserIds()) { + PlayClerkUserInfoEntity entity = new PlayClerkUserInfoEntity(); + entity.setId(clerkUserId); + entity.setTypeId(vo.getTypeId()); + playClerkUserInfoService.update(entity); + } + + return R.ok("成功"); + } + + @GetMapping("/simple/list") public R simpleList() { List clerkList = playClerkUserInfoService.simpleList(); diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/mapper/PlayClerkTypeInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/mapper/PlayClerkTypeInfoMapper.java index fef83fe..8743c94 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/mapper/PlayClerkTypeInfoMapper.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/mapper/PlayClerkTypeInfoMapper.java @@ -1,7 +1,7 @@ package com.starry.admin.modules.clerk.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.yulichang.base.MPJBaseMapper; import com.starry.admin.modules.clerk.module.entity.PlayClerkTypeInfoEntity; /** @@ -10,7 +10,7 @@ import com.starry.admin.modules.clerk.module.entity.PlayClerkTypeInfoEntity; * @author admin * @since 2024-05-31 */ -public interface PlayClerkTypeInfoMapper extends BaseMapper { +public interface PlayClerkTypeInfoMapper extends MPJBaseMapper { } diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserTypeEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserTypeEditVo.java new file mode 100644 index 0000000..be5631e --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserTypeEditVo.java @@ -0,0 +1,31 @@ +package com.starry.admin.modules.clerk.module.entity; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 店员对象 play_clerk_user_info + * + * @author admin + * @since 2024-03-30 + */ +@Data +public class PlayClerkUserTypeEditVo { + + + /** + * 店员分类ID + */ + @NotNull(message = "类型不能为空") + private String typeId; + + /** + * 店员列表 + */ + @NotNull(message = "店员列表不能为空") + private List clerkUserIds; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoQueryVo.java new file mode 100644 index 0000000..7b5879a --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoQueryVo.java @@ -0,0 +1,17 @@ +package com.starry.admin.modules.clerk.module.vo; + +import com.starry.common.domain.BasePageEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author admin + * @since 2024/6/16 下午6:51 + **/ +@EqualsAndHashCode(callSuper = true) +@Data +public class PlayClerkTypeInfoQueryVo extends BasePageEntity { + + + private String id; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoReturnVo.java new file mode 100644 index 0000000..c103760 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkTypeInfoReturnVo.java @@ -0,0 +1,35 @@ +package com.starry.admin.modules.clerk.module.vo; + +import lombok.Data; + +/** + * @author admin + * @since 2024/6/16 下午6:51 + **/ +@Data +public class PlayClerkTypeInfoReturnVo { + + private String id; + /** + * 分类名称 + */ + private String typeName; + + /** + * 是否在首页显示(0:不显示,1:显示) + */ + private String homeDisplayed; + + /** + * 排序 + */ + private Integer sort; + + + /** + * 店员数 + */ + private Integer clerkNumber; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkTypeInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkTypeInfoService.java index 6c9b1da..90ef7a1 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkTypeInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkTypeInfoService.java @@ -3,6 +3,8 @@ package com.starry.admin.modules.clerk.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.starry.admin.modules.clerk.module.entity.PlayClerkTypeInfoEntity; +import com.starry.admin.modules.clerk.module.vo.PlayClerkTypeInfoQueryVo; +import com.starry.admin.modules.clerk.module.vo.PlayClerkTypeInfoReturnVo; import java.util.List; @@ -31,11 +33,11 @@ public interface IPlayClerkTypeInfoService extends IService selectPlayClerkTypeInfoByPage(PlayClerkTypeInfoEntity playClerkTypeInfo); + IPage selectByPage(PlayClerkTypeInfoQueryVo vo); + /** * 新增店员分类信息 diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java index 64d5f78..4e0b1f9 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java @@ -26,13 +26,21 @@ import java.util.List; public interface IPlayClerkUserInfoService extends IService { + /** + * 根据分组ID查询店员列表 + * + * @param typeId 分类ID + * @return 店员列表 + */ + List listAllByTypeId(String typeId); + /** * 根据分组ID查询店员列表 * * @param groupId 分组ID * @return 店员列表 */ - List selecyByGroupId(String groupId); + List selectByGroupId(String groupId); /** * 查询当前租户店员总数 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkTypeInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkTypeInfoServiceImpl.java index f3a802e..d015b40 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkTypeInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkTypeInfoServiceImpl.java @@ -5,9 +5,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.starry.admin.modules.clerk.mapper.PlayClerkTypeInfoMapper; import com.starry.admin.modules.clerk.module.entity.PlayClerkTypeInfoEntity; +import com.starry.admin.modules.clerk.module.vo.PlayClerkTypeInfoQueryVo; +import com.starry.admin.modules.clerk.module.vo.PlayClerkTypeInfoReturnVo; import com.starry.admin.modules.clerk.service.IPlayClerkTypeInfoService; +import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService; import com.starry.common.utils.IdUtils; import org.springframework.stereotype.Service; @@ -23,9 +27,13 @@ import java.util.List; */ @Service public class PlayClerkTypeInfoServiceImpl extends ServiceImpl implements IPlayClerkTypeInfoService { + @Resource private PlayClerkTypeInfoMapper playClerkTypeInfoMapper; + @Resource + private IPlayClerkUserInfoService playClerkUserInfoService; + /** * 查询店员分类信息 * @@ -46,13 +54,18 @@ public class PlayClerkTypeInfoServiceImpl extends ServiceImpl selectPlayClerkTypeInfoByPage(PlayClerkTypeInfoEntity playClerkTypeInfo) { - Page page = new Page<>(1, 10); - return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); + public IPage selectByPage(PlayClerkTypeInfoQueryVo vo) { + MPJLambdaWrapper lambdaWrapper = new MPJLambdaWrapper<>(); + lambdaWrapper.orderByAsc(PlayClerkTypeInfoEntity::getSort); + IPage page = this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayClerkTypeInfoReturnVo.class, lambdaWrapper); + for (PlayClerkTypeInfoReturnVo record : page.getRecords()) { + record.setClerkNumber(playClerkUserInfoService.listAllByTypeId(record.getId()).size()); + } + return page; } /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserInfoServiceImpl.java index 20b322a..4ba09c1 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserInfoServiceImpl.java @@ -3,7 +3,6 @@ package com.starry.admin.modules.clerk.service.impl; import cn.hutool.core.util.StrUtil; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -65,7 +64,15 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl selecyByGroupId(String groupId) { + public List listAllByTypeId(String typeId) { + MPJLambdaWrapper lambdaWrapper = new MPJLambdaWrapper<>(); + lambdaWrapper.select(PlayClerkUserInfoEntity::getId); + lambdaWrapper.eq(PlayClerkUserInfoEntity::getTypeId, typeId); + return this.baseMapper.selectList(lambdaWrapper); + } + + @Override + public List selectByGroupId(String groupId) { MPJLambdaWrapper lambdaWrapper = new MPJLambdaWrapper<>(); lambdaWrapper.select(PlayClerkUserInfoEntity::getId, PlayClerkUserInfoEntity::getListingState); lambdaWrapper.eq(PlayClerkUserInfoEntity::getGroupId, groupId); @@ -429,7 +436,10 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl simpleList() { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).eq(PlayClerkUserInfoEntity::getDeleted, 0).select(PlayClerkUserInfoEntity::getId, PlayClerkUserInfoEntity::getNickname, PlayClerkUserInfoEntity::getAvatar).orderByDesc(PlayClerkUserInfoEntity::getId); - return this.list(wrapper); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getDeleted, 0); + lambdaQueryWrapper.select(PlayClerkUserInfoEntity::getId, PlayClerkUserInfoEntity::getNickname, PlayClerkUserInfoEntity::getAvatar, PlayClerkUserInfoEntity::getTypeId, PlayClerkUserInfoEntity::getGroupId); + lambdaQueryWrapper.orderByDesc(PlayClerkUserInfoEntity::getId); + return this.baseMapper.selectList(lambdaQueryWrapper); } } diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/controller/PlayPersonnelGroupInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/controller/PlayPersonnelGroupInfoController.java index ca52f63..dcccfe2 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/controller/PlayPersonnelGroupInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/controller/PlayPersonnelGroupInfoController.java @@ -52,7 +52,7 @@ public class PlayPersonnelGroupInfoController { public R listByPage(@Validated @RequestBody PlayPersonnelGroupInfoQueryVo vo) { IPage list = playClerkGroupInfoService.selectByPage(vo); for (PlayPersonnelGroupInfoReturnVo record : list.getRecords()) { - List clerkUserInfoEntities = playClerkUserInfoService.selecyByGroupId(record.getId()); + List clerkUserInfoEntities = playClerkUserInfoService.selectByGroupId(record.getId()); record.setTotalEmployeesNumber(clerkUserInfoEntities.size()); record.setListingEmployeesNumber(clerkUserInfoEntities.stream().collect(Collectors.toMap(PlayClerkUserInfoEntity::getListingState, PlayClerkUserInfoEntity::getId)).size()); } @@ -101,7 +101,7 @@ public class PlayPersonnelGroupInfoController { @DeleteMapping("/{ids}") public R remove(@PathVariable String[] ids) { for (String id : ids) { - List clerkUserInfoEntities = playClerkUserInfoService.selecyByGroupId(id); + List clerkUserInfoEntities = playClerkUserInfoService.selectByGroupId(id); if (!clerkUserInfoEntities.isEmpty()) { throw new CustomException("分组中存在店员,禁止删除"); }