wangzhijun 1 неделя назад
Родитель
Сommit
f7fff3b05a

+ 5 - 5
nightFragrance-admin/src/main/java/com/ylx/web/controller/point/PointActivityController.java

@@ -1,11 +1,12 @@
 package com.ylx.web.controller.point;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.annotation.Log;
 import com.ylx.common.core.controller.BaseController;
 import com.ylx.common.core.domain.AjaxResult;
 import com.ylx.common.core.domain.R;
-import com.ylx.common.core.page.TableDataInfo;
 import com.ylx.common.enums.BusinessType;
+import com.ylx.point.domain.PointActivity;
 import com.ylx.point.domain.dto.PointActivityDTO;
 import com.ylx.point.domain.dto.PointActivityPageDTO;
 import com.ylx.point.domain.dto.PointActivityValidityDTO;
@@ -41,10 +42,9 @@ public class PointActivityController extends BaseController {
     @PreAuthorize("@ss.hasPermi('point:activity:list')")
     @ApiOperation("根据条件分页查询积分活动")
     @GetMapping("/page")
-    public TableDataInfo page(PointActivityPageDTO dto) {
-        startPage();
-        List<PointActivityPageVo> list = this.pointActivityService.list(dto);
-        return getDataTable(list);
+    public R<Page<PointActivityPageVo>> page(Page<PointActivity> page, PointActivityPageDTO dto) {
+        Page<PointActivityPageVo> pageData = this.pointActivityService.list(page, dto);
+        return R.ok(pageData);
     }
 
     /**

+ 9 - 10
nightFragrance-admin/src/main/java/com/ylx/web/controller/point/UserPointController.java

@@ -1,8 +1,10 @@
 package com.ylx.web.controller.point;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.core.controller.BaseController;
 import com.ylx.common.core.domain.R;
-import com.ylx.common.core.page.TableDataInfo;
+import com.ylx.point.domain.PointActivity;
+import com.ylx.point.domain.PointUserLog;
 import com.ylx.point.domain.dto.UserPointActivityPageDTO;
 import com.ylx.point.domain.dto.UserPointPageDTO;
 import com.ylx.point.domain.vo.UserPointActivityVo;
@@ -12,7 +14,6 @@ import com.ylx.point.service.IPointActivityService;
 import com.ylx.point.service.IPointUserLogService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -37,18 +38,16 @@ public class UserPointController extends BaseController {
 
     @ApiOperation("获取当前用户的积分信息分页数据")
     @PostMapping("/page")
-    public TableDataInfo page(@Validated @RequestBody UserPointPageDTO dto) {
-        startPage();
-        List<UserPointLogVO> list = pointUserLogService.getUserPointLogList(dto);
-        return getDataTable(list);
+    public R<Page<UserPointLogVO>> page(Page<PointUserLog> page, @RequestBody UserPointPageDTO dto) {
+        Page<UserPointLogVO> pageData = pointUserLogService.getUserPointLogList(page, dto);
+        return R.ok(pageData);
     }
 
     @ApiOperation("获取当前用户活动任务分页数据")
     @PostMapping("/activity/page")
-    public TableDataInfo activityPage(@Validated @RequestBody UserPointActivityPageDTO dto) {
-        startPage();
-        List<UserPointActivityVo> list = pointActivityService.getUserPointActivityList(dto);
-        return getDataTable(list);
+    public R<Page<UserPointActivityVo>> activityPage(Page<PointActivity> page,@RequestBody UserPointActivityPageDTO dto) {
+        Page<UserPointActivityVo> pageData = pointActivityService.getUserPointActivityList(page, dto);
+        return R.ok(pageData);
     }
 
     @ApiOperation("获取当前用户做任务赚积分集合")

+ 16 - 6
nightFragrance-massage/src/main/java/com/ylx/point/domain/PointUserLog.java

@@ -1,15 +1,13 @@
 package com.ylx.point.domain;
 
-import java.math.BigDecimal;
-import java.util.Date;
-
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ylx.common.annotation.Excel;
 import com.ylx.common.core.domain.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.ylx.common.annotation.Excel;
+
+import java.util.Date;
 
 /**
  * 用户积分流水对象 point_user_log
@@ -106,4 +104,16 @@ public class PointUserLog extends BaseEntity {
     @Excel(name = "年月(YYYYMM)")
     private String month;
 
+    @TableField(exist = false)
+    private String createBy;
+
+    @TableField(exist = false)
+    private String updateBy;
+
+    @TableField(exist = false)
+    private Date createTime;
+
+    @TableField(exist = false)
+    private Date updateTime;
+
 }

+ 1 - 2
nightFragrance-massage/src/main/java/com/ylx/point/domain/dto/PointActivityPageDTO.java

@@ -1,13 +1,12 @@
 package com.ylx.point.domain.dto;
 
-import com.ylx.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
 @ApiModel("积分活动分页查询请求DTO")
-public class PointActivityPageDTO extends BaseEntity {
+public class PointActivityPageDTO {
 
     @ApiModelProperty("活动类型")
     private Integer activityType;

+ 1 - 2
nightFragrance-massage/src/main/java/com/ylx/point/domain/dto/UserPointActivityPageDTO.java

@@ -1,6 +1,5 @@
 package com.ylx.point.domain.dto;
 
-import com.ylx.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -9,7 +8,7 @@ import javax.validation.constraints.NotNull;
 
 @Data
 @ApiModel("当前用户的积分活动分页查询DTO")
-public class UserPointActivityPageDTO extends BaseEntity {
+public class UserPointActivityPageDTO {
 
     @ApiModelProperty("活动类型:1-新手活动 2-每日活动 3-每月活动")
     @NotNull(message = "活动类型不能为空")

+ 1 - 2
nightFragrance-massage/src/main/java/com/ylx/point/domain/dto/UserPointPageDTO.java

@@ -1,6 +1,5 @@
 package com.ylx.point.domain.dto;
 
-import com.ylx.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -9,7 +8,7 @@ import javax.validation.constraints.NotNull;
 
 @Data
 @ApiModel("当前用户的积分信息分页查询DTO")
-public class UserPointPageDTO extends BaseEntity {
+public class UserPointPageDTO {
 
     @ApiModelProperty("操作类型:1-收入 2-支出 3-过期 ")
     @NotNull(message = "操作类型不能为空")

+ 3 - 6
nightFragrance-massage/src/main/java/com/ylx/point/mapper/PointActivityMapper.java

@@ -1,10 +1,9 @@
 package com.ylx.point.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.point.domain.PointActivity;
-import com.ylx.point.domain.dto.PointActivityPageDTO;
 import com.ylx.point.domain.dto.UserPointActivityPageDTO;
-import com.ylx.point.domain.vo.PointActivityPageVo;
 import com.ylx.point.domain.vo.PointActivityTaskDetailVO;
 import com.ylx.point.domain.vo.UserPointActivityVo;
 import org.apache.ibatis.annotations.Param;
@@ -13,7 +12,7 @@ import java.util.List;
 
 /**
  * 积分活动主Mapper接口
- * 
+ *
  * @author wzj
  * @date 2026-03-25
  */
@@ -31,12 +30,10 @@ public interface PointActivityMapper extends BaseMapper<PointActivity> {
 
     public int deletePointActivityByIds(String[] ids);
 
-    List<PointActivityPageVo> list(PointActivityPageDTO dto);
-
     List<PointActivityTaskDetailVO> getTaskDetailListById(Long id);
 
     Integer selectTotalActiveTasks(String cityCode);
 
-    List<UserPointActivityVo> selectTaskWithProgress(UserPointActivityPageDTO dto);
+    Page<UserPointActivityVo> selectTaskWithProgress(Page<PointActivity> page, @Param("dto") UserPointActivityPageDTO dto);
 
 }

+ 2 - 3
nightFragrance-massage/src/main/java/com/ylx/point/mapper/PointUserLogMapper.java

@@ -1,13 +1,13 @@
 package com.ylx.point.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.point.domain.PointUserLog;
 import com.ylx.point.domain.dto.UserPointPageDTO;
 import com.ylx.point.domain.vo.UserPointLogVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -33,6 +33,5 @@ public interface PointUserLogMapper extends BaseMapper<PointUserLog> {
             @Param("startOfThisMonth") String startOfThisMonth,
             @Param("endOfThisMonth") String endOfThisMonth);
 
-    List<UserPointLogVO> getUserPointLogList(UserPointPageDTO dto);
-
+    Page<UserPointLogVO> getUserPointLogList(Page<PointUserLog> page, @Param("dto") UserPointPageDTO dto);
 }

+ 4 - 2
nightFragrance-massage/src/main/java/com/ylx/point/service/IPointActivityService.java

@@ -1,5 +1,6 @@
 package com.ylx.point.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.point.domain.PointActivity;
 import com.ylx.point.domain.dto.*;
@@ -15,7 +16,7 @@ import java.util.List;
  */
 public interface IPointActivityService extends IService<PointActivity> {
 
-    List<PointActivityPageVo> list(PointActivityPageDTO dto);
+    Page<PointActivityPageVo> list(Page<PointActivity> page, PointActivityPageDTO dto);
 
     PointActivityDetailsVo<?> getDetailsInfo(Long id);
 
@@ -31,11 +32,12 @@ public interface IPointActivityService extends IService<PointActivity> {
 
     Integer selectTotalActiveTasks(String cityCode);
 
-    List<UserPointActivityVo> getUserPointActivityList(UserPointActivityPageDTO dto);
+    Page<UserPointActivityVo> getUserPointActivityList(Page<PointActivity> page, UserPointActivityPageDTO dto);
 
     List<UserPointActivityVo> activityList();
 
     List<SignDayVo> getSignInfo(SignDTO dto);
 
     void sign(SignDTO dto);
+
 }

+ 2 - 3
nightFragrance-massage/src/main/java/com/ylx/point/service/IPointUserLogService.java

@@ -1,13 +1,12 @@
 package com.ylx.point.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.point.domain.PointUserLog;
 import com.ylx.point.domain.dto.UserPointPageDTO;
 import com.ylx.point.domain.vo.UserPointInfoVO;
 import com.ylx.point.domain.vo.UserPointLogVO;
 
-import java.util.List;
-
 /**
  * 用户积分流水Service接口
  *
@@ -18,5 +17,5 @@ public interface IPointUserLogService extends IService<PointUserLog> {
 
     UserPointInfoVO getUserPointInfo(String cityCode);
 
-    List<UserPointLogVO> getUserPointLogList(UserPointPageDTO dto);
+    Page<UserPointLogVO> getUserPointLogList(Page<PointUserLog> page, UserPointPageDTO dto);
 }

+ 42 - 5
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointActivityServiceImpl.java

@@ -5,8 +5,10 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.common.exception.ServiceException;
@@ -26,7 +28,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.time.*;
-import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -77,8 +78,37 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
 
 
     @Override
-    public List<PointActivityPageVo> list(PointActivityPageDTO dto) {
-        return pointActivityMapper.list(dto);
+    public Page<PointActivityPageVo> list(Page<PointActivity> page, PointActivityPageDTO dto) {
+        LambdaQueryWrapper<PointActivity> queryWrapper = new LambdaQueryWrapper<>();
+        if (ObjectUtil.isNotNull(dto.getActivityType())) {
+            queryWrapper.eq(PointActivity::getActivityType, dto.getActivityType());
+        }
+        if (StrUtil.isNotEmpty(dto.getCityCode())) {
+            queryWrapper.eq(PointActivity::getCityCode, dto.getCityCode());
+        }
+        if (ObjectUtil.isNotNull(dto.getStatus())) {
+            queryWrapper.eq(PointActivity::getStatus, dto.getStatus());
+        }
+        if (ObjectUtil.isNotNull(dto.getStartTime()) && ObjectUtil.isNotNull(dto.getEndTime())) {
+            queryWrapper.le(PointActivity::getStartTime, dto.getEndTime());
+            queryWrapper.ge(PointActivity::getEndTime, dto.getStartTime());
+        }
+        queryWrapper.orderByDesc(PointActivity::getCreateTime)
+                .orderByDesc(PointActivity::getSortOrder);
+        Page<PointActivityPageVo> pageData = new Page<>();
+        pageData.setSize(page.getSize());
+        pageData.setCurrent(page.getCurrent());
+
+        Page<PointActivity> pointActivityPage = pointActivityMapper.selectPage(page, queryWrapper);
+        if (ObjectUtil.isNotNull(pointActivityPage) && CollectionUtil.isNotEmpty(pointActivityPage.getRecords())) {
+            List<PointActivityPageVo> voList = pointActivityPage.getRecords().stream()
+                    .map(this::convertToVo) // 抽取转换方法
+                    .collect(Collectors.toList());
+            pageData.setRecords(voList);
+            pageData.setTotal(pointActivityPage.getTotal());
+            pageData.setPages(pointActivityPage.getPages());
+        }
+        return pageData;
     }
 
     @Override
@@ -231,7 +261,7 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
     }
 
     @Override
-    public List<UserPointActivityVo> getUserPointActivityList(UserPointActivityPageDTO dto) {
+    public Page<UserPointActivityVo> getUserPointActivityList(Page<PointActivity> page, UserPointActivityPageDTO dto) {
 
         // 当前登录用户信息
         WxLoginUser wxLoginUser = SecurityUtils.getWxLoginUser();
@@ -240,7 +270,7 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
         }
         String openId = wxLoginUser.getCOpenid();
         dto.setOpenId(openId);
-        return pointActivityMapper.selectTaskWithProgress(dto);
+        return pointActivityMapper.selectTaskWithProgress(page, dto);
     }
 
     @Override
@@ -975,4 +1005,11 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
         return task;
     }
 
+    private PointActivityPageVo convertToVo(PointActivity activity) {
+        PointActivityPageVo vo = new PointActivityPageVo();
+        // 属性拷贝(推荐)
+        BeanUtil.copyProperties(activity, vo);
+        return vo;
+    }
+
 }

+ 6 - 6
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointUserLogServiceImpl.java

@@ -2,10 +2,10 @@ package com.ylx.point.service.impl;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.common.utils.SecurityUtils;
-import com.ylx.massage.service.TWxUserService;
 import com.ylx.point.domain.PointUserLog;
 import com.ylx.point.domain.dto.UserPointPageDTO;
 import com.ylx.point.domain.vo.UserPointInfoVO;
@@ -18,7 +18,6 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -33,8 +32,6 @@ public class PointUserLogServiceImpl extends ServiceImpl<PointUserLogMapper, Poi
     @Resource
     private PointUserLogMapper pointUserLogMapper;
     @Resource
-    private TWxUserService wxUserService;
-    @Resource
     private IPointUserActivityTaskCompletionService pointUserActivityTaskCompletionService;
     @Resource
     private IPointActivityService pointActivityService;
@@ -90,7 +87,7 @@ public class PointUserLogServiceImpl extends ServiceImpl<PointUserLogMapper, Poi
     }
 
     @Override
-    public List<UserPointLogVO> getUserPointLogList(UserPointPageDTO dto) {
+    public Page<UserPointLogVO> getUserPointLogList(Page<PointUserLog> page, UserPointPageDTO dto) {
 
         // 当前登录用户信息
         WxLoginUser wxLoginUser = SecurityUtils.getWxLoginUser();
@@ -99,7 +96,10 @@ public class PointUserLogServiceImpl extends ServiceImpl<PointUserLogMapper, Poi
             throw new RuntimeException("用户未登录");
         }
         dto.setOpenId(wxLoginUser.getCOpenid());
-        return pointUserLogMapper.getUserPointLogList(dto);
+
+        Page<UserPointLogVO> pageData = this.pointUserLogMapper.getUserPointLogList(page, dto);
+
+        return pageData;
     }
 
 }

+ 12 - 31
nightFragrance-massage/src/main/resources/mapper/point/PointActivityMapper.xml

@@ -46,29 +46,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectPointActivityVo"/>
         where id = #{id}
     </select>
-    <select id="list" parameterType="PointActivityPageDTO" resultType="com.ylx.point.domain.vo.PointActivityPageVo">
-        <include refid="selectPointActivityVo"/>
-        <where>
-            <if test="activityType != null">
-                AND activity_type = #{activityType}
-            </if>
-            <if test="cityCode != null and cityCode != ''">
-                AND city_code = #{cityCode}
-            </if>
-            <if test="status != null">
-                AND status = #{status}
-            </if>
-            <if test="startTime != null and startTime != ''"><!-- 开始时间检索 -->
-                and date_format(start_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
-            </if>
-            <if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
-                and date_format(end_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
-            </if>
-        </where>
-        order by create_time desc ,sort_order desc
-        <!-- 数据范围过滤 -->
-        ${params.dataScope}
-    </select>
 
     <select id="getTaskDetailListById" resultType="com.ylx.point.domain.vo.PointActivityTaskDetailVO">
         SELECT
@@ -95,7 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         AND (start_time IS NULL OR start_time &lt;= NOW()) AND ( end_time IS NULL OR end_time &gt;= NOW())
     </select>
 
-    <select id="selectTaskWithProgress" parameterType="UserPointActivityPageDTO" resultType="com.ylx.point.domain.vo.UserPointActivityVo">
+    <select id="selectTaskWithProgress" resultType="com.ylx.point.domain.vo.UserPointActivityVo">
         SELECT
             t.id activityId,
             t.task_name,
@@ -103,15 +80,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             t.trigger_value,
             COALESCE(c.completed_count, 0) AS completed_count
         FROM point_activity_task t
-        LEFT JOIN point_user_activity_task_completion c ON t.id = c.task_id AND c.open_id = #{openId}
+        LEFT JOIN point_user_activity_task_completion c ON t.id = c.task_id AND c.open_id = #{dto.openId}
         JOIN point_activity a ON t.activity_id = a.id
-        WHERE t.is_deleted = 0 AND t.status = 0
-          AND a.activity_type = #{type}
-          AND a.city_code = #{cityCode}
-          AND a.status = 1
+        <where>
+            AND t.is_deleted = 0 AND t.status = 0
+            <if test="dto.type != null">
+                 AND a.activity_type = #{dto.type}
+            </if>
+            <if test="dto.cityCode != null">
+                AND a.city_code = #{dto.cityCode}
+            </if>
+            AND a.status = 1
+        </where>
         ORDER BY t.sort_order ASC
-        <!-- 数据范围过滤 -->
-        ${params.dataScope}
     </select>
 
     <insert id="insertPointActivity" parameterType="PointActivity" useGeneratedKeys="true" keyProperty="id">

+ 9 - 6
nightFragrance-massage/src/main/resources/mapper/point/PointUserLogMapper.xml

@@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="month"    column="month"    />
     </resultMap>
 
-    <select id="getUserPointLogList" parameterType="UserPointPageDTO" resultType="com.ylx.point.domain.vo.UserPointLogVO">
+    <select id="getUserPointLogList" resultType="com.ylx.point.domain.vo.UserPointLogVO">
         SELECT
             pul.activity_name AS activityName,
             pul.points AS points,
@@ -30,13 +30,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             pul.create_time AS createTime
         FROM
             point_user_log pul
-        WHERE
-            pul.open_id = #{openId}
-        AND pul.op_type = #{opType}
+        <where>
+            <if test="dto.openId != null and dto.openId != ''">
+                and pul.open_id = #{dto.openId}
+            </if>
+            <if test="dto.opType != null and dto.opType != ''">
+                AND pul.op_type = #{dto.opType}
+            </if>
+        </where>
         ORDER BY
             pul.create_time DESC
-        <!-- 数据范围过滤 -->
-        ${params.dataScope}
     </select>
 
 </mapper>