framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityMembersQuery.java
New file @@ -0,0 +1,14 @@ package cn.lili.modules.lmk.domain.query; import cn.lili.base.AbsQuery; import io.swagger.annotations.ApiModel; import lombok.Data; @Data @ApiModel(value = "活动报名人员查询参数", description = "活动报名人员查询参数") public class ActivityMembersQuery extends AbsQuery { /** 活动id*/ private String id; } framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java
@@ -3,6 +3,7 @@ import cn.lili.base.AbsVo; import cn.lili.modules.lmk.domain.entity.Activity; import cn.lili.modules.member.entity.vo.MemberVO; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -12,6 +13,7 @@ import org.springframework.lang.NonNull; import java.util.Date; import java.util.List; @Data @ApiModel(value = "Activity查询参数", description = "活动查表单") @@ -80,6 +82,8 @@ /** 资源路径*/ private String url; /** 报名人员集合*/ private List<MemberVO> members; public static ActivityVO getVoByEntity(@NonNull Activity entity, ActivityVO vo) { if(vo == null) { framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java
@@ -2,14 +2,18 @@ import cn.lili.modules.lmk.domain.entity.Activity; import cn.lili.modules.lmk.domain.entity.CustomerBlack; import cn.lili.modules.lmk.domain.query.ActivityMembersQuery; import cn.lili.modules.lmk.domain.query.ActivityQuery; import cn.lili.modules.lmk.domain.query.CustomerBlackQuery; import cn.lili.modules.lmk.domain.vo.ActivityVO; import cn.lili.modules.lmk.domain.vo.CustomerBlackVO; import cn.lili.modules.member.entity.vo.MemberVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 活动 Mapper 接口 @@ -32,4 +36,6 @@ */ IPage getPage(IPage page, @Param("query") ActivityQuery query); IPage getMembers(IPage page, @Param("query") ActivityMembersQuery query); } framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java
@@ -3,6 +3,7 @@ import cn.lili.base.Result; import cn.lili.modules.lmk.domain.entity.Activity; import cn.lili.modules.lmk.domain.form.ActivityForm; import cn.lili.modules.lmk.domain.query.ActivityMembersQuery; import cn.lili.modules.lmk.domain.query.ActivityQuery; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; @@ -68,4 +69,6 @@ Result activityChangeStatus(ActivityForm form); Result activityChangeRecommend(ActivityForm form); Result activityMembersPage(ActivityMembersQuery query); } framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java
@@ -6,6 +6,7 @@ import cn.lili.modules.lmk.domain.entity.CustomerTagRef; import cn.lili.modules.lmk.domain.form.ActivityForm; import cn.lili.modules.lmk.domain.form.CustomerTagRefForm; import cn.lili.modules.lmk.domain.query.ActivityMembersQuery; import cn.lili.modules.lmk.domain.query.ActivityQuery; import cn.lili.modules.lmk.domain.vo.ActivityVO; import cn.lili.modules.lmk.domain.vo.CustomerBlackVO; @@ -13,6 +14,8 @@ import cn.lili.modules.lmk.mapper.CustomerBlackMapper; import cn.lili.modules.lmk.service.ActivityService; import cn.lili.modules.lmk.service.LmkFileService; import cn.lili.modules.member.entity.vo.MemberVO; import cn.lili.modules.member.service.MemberService; import cn.lili.utils.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -33,6 +36,7 @@ private final ActivityMapper activityMapper; private final LmkFileService lmkFileService; @Override public Result add(ActivityForm form) { @@ -144,4 +148,11 @@ baseMapper.updateById(entity); return Result.ok(); } @Override public Result activityMembersPage(ActivityMembersQuery query) { IPage<MemberVO> page = PageUtil.getPage(query, MemberVO.class); baseMapper.getMembers(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } } framework/src/main/resources/mapper/lmk/ActivityMapper.xml
@@ -75,5 +75,36 @@ <if test="query.reportStartTime != null">AND LA.report_start_time >= #{query.reportStartTime}</if> <if test="query.reportEndTime != null">AND LA.report_end_time <= #{query.reportEndTime}</if> </select> <resultMap id="memberMap" type="cn.lili.modules.member.entity.vo.MemberVO"> <id property="id" column="id"/> <!-- 基础字段映射 --> <result property="username" column="username"/> <result property="nickName" column="nick_name"/> <result property="sex" column="sex"/> <result property="birthday" column="birthday"/> <result property="regionId" column="region_id"/> <result property="region" column="region"/> <result property="mobile" column="mobile"/> <result property="point" column="point"/> <result property="totalPoint" column="total_point"/> <result property="face" column="face"/> <result property="disabled" column="disabled"/> <result property="haveStore" column="have_store"/> <result property="storeId" column="store_id"/> <result property="openId" column="open_id"/> <result property="clientEnum" column="client_enum"/> <result property="lastLoginDate" column="last_login_date"/> <result property="gradeId" column="grade_id"/> <result property="experience" column="experience"/> <result property="createTime" column="create_time"/> </resultMap> <select id="getMembers" resultMap="memberMap"> select LM.* from lmk_activity_report LAR LEFT JOIN li_member LM ON LM.id = LAR.user_id WHERE LAR.activity_id = #{query.id} </select> </mapper> manager-api/src/main/java/cn/lili/controller/lmk/ActivityController.java
@@ -5,6 +5,7 @@ import cn.lili.group.Update; import cn.lili.modules.lmk.domain.form.ActivityForm; import cn.lili.modules.lmk.domain.form.CustomerBlackForm; import cn.lili.modules.lmk.domain.query.ActivityMembersQuery; import cn.lili.modules.lmk.domain.query.ActivityQuery; import cn.lili.modules.lmk.domain.query.CustomerBlackQuery; import cn.lili.modules.lmk.service.ActivityService; @@ -63,7 +64,7 @@ return activityService.page(query); } @GetMapping("/{idh }") @GetMapping("/{id}") @ApiOperation(value = "详情", notes = "详情") public Result detail(@PathVariable("id") String id) { return activityService.detail(id); @@ -85,4 +86,12 @@ public Result activityChangeRecommend(@RequestBody ActivityForm form){ return activityService.activityChangeRecommend(form); } @GetMapping("/activityMembersPage") @ApiOperation(value = "活动报名人员分页", notes = "活动报名人员分页") public Result activityMembersPage(ActivityMembersQuery query){ return activityService.activityMembersPage(query); } }