From 06467acabf435e0b8e5fce74058396d27d8ef4db Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 19 Apr 2021 15:06:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=B1=BB=E5=88=AB=E5=AD=97?= =?UTF-8?q?=E5=85=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/act/form/ActCategoryFormDTO.java | 29 +++++++++++ .../group/dto/act/form/ActMenuFormDTO.java | 28 +++++++++++ .../dto/act/result/ActMenuResultDTO.java | 28 +++++++++++ .../dto/act/result/CategoryCodeResultDTO.java | 24 ++++++++++ .../group/dto/act/result/CategoryDTO.java | 18 +++++++ .../controller/ActCategoryDictController.java | 41 ++++++++++++++++ .../modules/act/dao/ActCategoryDictDao.java | 24 +++++++++- .../act/service/ActCategoryDictService.java | 21 ++++++++ .../impl/ActCategoryDictServiceImpl.java | 48 +++++++++++++++++++ .../modules/constant/GroupActConstant.java | 11 +++++ .../member/dao/ResiGroupMemberDao.java | 9 ++++ .../service/ResiGroupMemberService.java | 9 ++++ .../impl/ResiGroupMemberServiceImpl.java | 12 +++++ .../mapper/act/ActCategoryDictDao.xml | 38 +++++++++++++++ .../mapper/member/ResiGroupMemberDao.xml | 11 +++++ 15 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActCategoryFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActMenuFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActMenuResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryCodeResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/GroupActConstant.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActCategoryFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActCategoryFormDTO.java new file mode 100644 index 0000000000..11f4dfc2f5 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActCategoryFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.resi.group.dto.act.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 002、活动类别下拉框查询 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/19 14:16 + */ +@Data +public class ActCategoryFormDTO implements Serializable { + + + public interface AddUserInternalGroup { + } + + /** + * 组Id + */ + @NotBlank(message = "categoryCode不能为空", groups = ActCategoryFormDTO.AddUserInternalGroup.class) + private String categoryCode; + + @NotBlank(message = "tokenDto获取customerId为空", groups = ActCategoryFormDTO.AddUserInternalGroup.class) + private String customerId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActMenuFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActMenuFormDTO.java new file mode 100644 index 0000000000..0a36724680 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActMenuFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.resi.group.dto.act.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 001、活动类别列表 入参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/19 13:13 + */ +@Data +public class ActMenuFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + + /** + * 组Id + */ + @NotBlank(message = "groupId不能为空", groups =AddUserInternalGroup.class) + private String groupId; + + @NotBlank(message = "tokenDto获取customerId为空", groups =AddUserInternalGroup.class) + private String customerId; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActMenuResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActMenuResultDTO.java new file mode 100644 index 0000000000..f28787e7f6 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActMenuResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.resi.group.dto.act.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 001、活动类别列表 返参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/19 13:14 + */ +@Data +public class ActMenuResultDTO implements Serializable { + private static final long serialVersionUID = 7376609450780826924L; + + /** + * 活动应参加人数 + */ + private Integer shouldAttend; + + /** + * 一级菜单列表 + */ + private List categoryList; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryCodeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryCodeResultDTO.java new file mode 100644 index 0000000000..561fcee752 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryCodeResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.resi.group.dto.act.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 002、活动类别下拉框查询 返参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/19 14:18 + */ +@Data +public class CategoryCodeResultDTO implements Serializable { + private static final long serialVersionUID = 8615713807759844661L; + @JsonIgnore + private String customerId; + private String categoryCode; + private String categoryName; + private String parentCode; + private List children; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryDTO.java new file mode 100644 index 0000000000..c188bc5b19 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/CategoryDTO.java @@ -0,0 +1,18 @@ +package com.epmet.resi.group.dto.act.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 001、活动类别列表 返参-一级类别信息 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/19 13:28 + */ +@Data +public class CategoryDTO implements Serializable { + private String categoryCode; + private String categoryName; + private String parentCode; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActCategoryDictController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActCategoryDictController.java index b7d4908d91..d80c7b807b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActCategoryDictController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActCategoryDictController.java @@ -17,11 +17,23 @@ package com.epmet.modules.act.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.modules.act.service.ActCategoryDictService; +import com.epmet.resi.group.dto.act.form.ActCategoryFormDTO; +import com.epmet.resi.group.dto.act.form.ActMenuFormDTO; +import com.epmet.resi.group.dto.act.result.ActMenuResultDTO; +import com.epmet.resi.group.dto.act.result.CategoryCodeResultDTO; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * 活动类别字典 @@ -37,4 +49,33 @@ public class ActCategoryDictController { private ActCategoryDictService actCategoryDictService; + /** + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 001、活动类别列表 + * @Date 2021/4/19 13:25 + **/ + @PostMapping("menulist") + public Result queryMenuList(@LoginUser TokenDto tokenDto, @RequestBody ActMenuFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO, ActMenuFormDTO.AddUserInternalGroup.class); + return new Result().ok(actCategoryDictService.queryMenuList(formDTO)); + } + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param tokenDto + * @param formDTO + * @author yinzuomei + * @description 002、活动类别下拉框查询 + * @Date 2021/4/19 14:22 + **/ + @PostMapping("categorylist") + public Result> queryCategoryList(@LoginUser TokenDto tokenDto, @RequestBody ActCategoryFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO, ActCategoryFormDTO.AddUserInternalGroup.class); + return new Result>().ok(actCategoryDictService.queryCategoryList(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActCategoryDictDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActCategoryDictDao.java index 953256d85c..c1bfafed16 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActCategoryDictDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActCategoryDictDao.java @@ -19,7 +19,12 @@ package com.epmet.modules.act.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.act.entity.ActCategoryDictEntity; +import com.epmet.resi.group.dto.act.result.CategoryCodeResultDTO; +import com.epmet.resi.group.dto.act.result.CategoryDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 活动类别字典 @@ -29,5 +34,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ActCategoryDictDao extends BaseDao { - + + /** + * 查询一级类别 + * + * @param customerId + * @return com.epmet.resi.group.dto.act.result.CategoryDTO + */ + List selectFirstLevelCategory(String customerId); + + /** + * 查询一级类别 + * + * @param parentCode + * @param customerId + * @return com.epmet.resi.group.dto.act.result.CategoryCodeResultDTO + */ + List selectCategoryList(@Param("parentCode") String parentCode, + @Param("customerId") String customerId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActCategoryDictService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActCategoryDictService.java index 5531847600..5fe3d02360 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActCategoryDictService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActCategoryDictService.java @@ -19,6 +19,12 @@ package com.epmet.modules.act.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.modules.act.entity.ActCategoryDictEntity; +import com.epmet.resi.group.dto.act.form.ActCategoryFormDTO; +import com.epmet.resi.group.dto.act.form.ActMenuFormDTO; +import com.epmet.resi.group.dto.act.result.ActMenuResultDTO; +import com.epmet.resi.group.dto.act.result.CategoryCodeResultDTO; + +import java.util.List; /** * 活动类别字典 @@ -28,4 +34,19 @@ import com.epmet.modules.act.entity.ActCategoryDictEntity; */ public interface ActCategoryDictService extends BaseService { + /** + * 001、活动类别列表 + * + * @param formDTO + * @return com.epmet.resi.group.dto.act.result.ActMenuResultDTO + */ + ActMenuResultDTO queryMenuList(ActMenuFormDTO formDTO); + + /** + * 002、活动类别下拉框查询 + * + * @param formDTO + * @return com.epmet.resi.group.dto.act.result.CategoryCodeResultDTO + */ + List queryCategoryList(ActCategoryFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActCategoryDictServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActCategoryDictServiceImpl.java index 0234447876..96f034b305 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActCategoryDictServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActCategoryDictServiceImpl.java @@ -21,16 +21,64 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.modules.act.dao.ActCategoryDictDao; import com.epmet.modules.act.entity.ActCategoryDictEntity; import com.epmet.modules.act.service.ActCategoryDictService; +import com.epmet.modules.constant.GroupActConstant; +import com.epmet.modules.member.service.ResiGroupMemberService; +import com.epmet.resi.group.dto.act.form.ActCategoryFormDTO; +import com.epmet.resi.group.dto.act.form.ActMenuFormDTO; +import com.epmet.resi.group.dto.act.result.ActMenuResultDTO; +import com.epmet.resi.group.dto.act.result.CategoryCodeResultDTO; +import com.epmet.resi.group.dto.act.result.CategoryDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 活动类别字典 * * @author generator generator@elink-cn.com * @since v1.0.0 2021-04-16 */ +@Slf4j @Service public class ActCategoryDictServiceImpl extends BaseServiceImpl implements ActCategoryDictService { + @Autowired + private ResiGroupMemberService resiGroupMemberService; + + + /** + * 001、活动类别列表 + * + * @param formDTO + * @return com.epmet.resi.group.dto.act.result.ActMenuResultDTO + */ + @Override + public ActMenuResultDTO queryMenuList(ActMenuFormDTO formDTO) { + ActMenuResultDTO resultDTO = new ActMenuResultDTO(); + resultDTO.setShouldAttend(resiGroupMemberService.selectCountMember(formDTO.getGroupId())); + List categoryList = baseDao.selectFirstLevelCategory(formDTO.getCustomerId()); + if (CollectionUtils.isEmpty(categoryList)) { + categoryList = baseDao.selectFirstLevelCategory(GroupActConstant.DEFAULT_CUSTOMER_ID); + } + resultDTO.setCategoryList(categoryList); + return resultDTO; + } + /** + * 002、活动类别下拉框查询 + * + * @param formDTO + * @return com.epmet.resi.group.dto.act.result.CategoryCodeResultDTO + */ + @Override + public List queryCategoryList(ActCategoryFormDTO formDTO) { + List list = baseDao.selectCategoryList(formDTO.getCategoryCode(), formDTO.getCustomerId()); + if (CollectionUtils.isEmpty(list)) { + list = baseDao.selectCategoryList(formDTO.getCategoryCode(), GroupActConstant.DEFAULT_CUSTOMER_ID); + } + return list; + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/GroupActConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/GroupActConstant.java new file mode 100644 index 0000000000..5fa2e8cd79 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/GroupActConstant.java @@ -0,0 +1,11 @@ +package com.epmet.modules.constant; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/19 13:41 + */ +public interface GroupActConstant { + String DEFAULT_CUSTOMER_ID = "default"; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java index 6b2df49d00..db3b286b5f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java @@ -144,4 +144,13 @@ public interface ResiGroupMemberDao extends BaseDao { * @Date 2021/4/6 12:50 **/ List queryMemberRemovedRecs(@Param("groupId")String groupId, @Param("userId")String userId); + + /** + * @return java.lang.Integer + * @param groupId + * @author yinzuomei + * @description 查询组内成员总数 + * @Date 2021/4/19 13:54 + **/ + Integer selectCountMember(String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java index 5a9563141b..276ec73387 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java @@ -225,4 +225,13 @@ public interface ResiGroupMemberService extends BaseService queryMemberRemovedRecs(String groupId, String userId); + + /** + * @return java.lang.Integer + * @param groupId + * @author yinzuomei + * @description 查询组内成员总数 + * @Date 2021/4/19 13:53 + **/ + Integer selectCountMember(String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 7fd7e48259..489467de93 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -339,6 +339,18 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index 620bac3066..867b18eb4c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -191,4 +191,15 @@ ORDER BY rgm.CREATED_TIME DESC + + +