Procházet zdrojové kódy

积分管理完善

Wang-Xiao-Ran před 1 rokem
rodič
revize
8beccee08e

+ 15 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/score/ScoreController.java

@@ -1,6 +1,8 @@
 package com.ruoyi.web.controller.score;
 
+import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.sooka.jnb.score.domain.ScoreOperate;
 import com.sooka.jnb.score.service.IScoreService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -8,7 +10,7 @@ import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("/score")
-public class ScoreController {
+public class ScoreController extends BaseController {
     @Autowired
     private IScoreService service;
 
@@ -38,11 +40,21 @@ public class ScoreController {
     }
 
     /**
+     * 获取用户积分列表
+     */
+    @GetMapping("/getList")
+    public TableDataInfo getList(ScoreOperate scoreOperate){
+        startPage();
+        return getDataTable(service.getList(scoreOperate));
+    }
+
+    /**
      * 获取积分流水
      */
     @GetMapping("/getScoreList")
-    public R getScoreList(@RequestParam String userId) {
-        return R.ok(service.getScoreList(userId));
+    public TableDataInfo getScoreList(ScoreOperate scoreOperate) {
+        startPage();
+        return getDataTable(service.getScoreList(scoreOperate));
     }
 
     /**

+ 10 - 11
sooka-jnb/src/main/java/com/sooka/jnb/score/domain/ScoreOperate.java

@@ -2,6 +2,7 @@ package com.sooka.jnb.score.domain;
 
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
 import lombok.Data;
 import org.apache.ibatis.type.Alias;
 
@@ -16,7 +17,7 @@ import java.util.Date;
  */
 @Data
 @Alias("scoreOperate")
-public class ScoreOperate {
+public class ScoreOperate extends BaseEntity {
     /**
      * 数据id
      */
@@ -38,26 +39,24 @@ public class ScoreOperate {
     private String scoreOperate;
 
     /**
-     * 创建时间
+     * 积分操作类型
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date createTime;
+    private String relevance;
 
     /**
-     * 更新时间
+     * 积分操作类型的数据id
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date updateTime;
+    private String relevanceDataId;
 
     /**
-     * 积分操作类型
+     * 用户姓名
      */
-    private String relevance;
+    private String name;
 
     /**
-     * 积分操作类型的数据id
+     * 用户电话
      */
-    private String relevanceDataId;
+    private String phone;
 
 
 }

+ 3 - 1
sooka-jnb/src/main/java/com/sooka/jnb/score/mapper/ScoreMapper.java

@@ -10,7 +10,7 @@ public interface ScoreMapper {
 
     ScoreOperate getScore(String userId);
 
-    List<ScoreOperate> getScoreList(String userId);
+    List<ScoreOperate> getScoreList(ScoreOperate score);
 
     int addScore(ScoreOperate score);
 
@@ -19,4 +19,6 @@ public interface ScoreMapper {
     int insertScoreOperate(ScoreOperate score);
 
     Map<String, Long> soleVerify(String userId);
+
+    List<ScoreOperate> getList(ScoreOperate score);
 }

+ 6 - 1
sooka-jnb/src/main/java/com/sooka/jnb/score/service/IScoreService.java

@@ -22,9 +22,14 @@ public interface IScoreService{
     ScoreOperate getScore(String userId);
 
     /**
+     * 查询积分信息列表
+     */
+    List<ScoreOperate> getList(ScoreOperate score);
+
+    /**
      * 获取积分流水
      */
-    List<ScoreOperate> getScoreList(String userId);
+    List<ScoreOperate> getScoreList(ScoreOperate score);
 
     /**
      * 增加积分

+ 7 - 2
sooka-jnb/src/main/java/com/sooka/jnb/score/service/impl/ScoreServiceImpl.java

@@ -43,8 +43,13 @@ public class ScoreServiceImpl implements IScoreService {
     }
 
     @Override
-    public List<ScoreOperate> getScoreList(String userId) {
-        return scoreMapper.getScoreList(userId);
+    public List<ScoreOperate> getList(ScoreOperate score) {
+        return scoreMapper.getList(score);
+    }
+
+    @Override
+    public List<ScoreOperate> getScoreList(ScoreOperate score) {
+        return scoreMapper.getScoreList(score);
     }
 
     @Override

+ 37 - 4
sooka-jnb/src/main/resources/mapper/score/ScoreMapper.xml

@@ -8,6 +8,8 @@
     <resultMap id="scoreOperateResult" type="scoreOperate">
         <id property="id" column="id"/>
         <result property="userId" column="user_id"/>
+        <result property="name" column="name"/>
+        <result property="phone" column="phone"/>
         <result property="scoreOperate" column="score_operate"/>
         <result property="scoreNum" column="score_num"/>
         <result property="relevance" column="relevance"/>
@@ -16,7 +18,6 @@
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
-
     <!-- 初始化积分 -->
     <insert id="initScore" parameterType="scoreOperate">
         insert into jnb_score(user_id, score_num, create_time)
@@ -28,13 +29,45 @@
         select id, user_id, score_num from jnb_score where user_id = #{userId}
     </select>
 
+    <select id="getList" parameterType="scoreOperate" resultType="map">
+        select js.id,
+               js.user_id as userId,
+               js.score_num as scoreNum,
+               jwu.wechat_name as wechatName,
+               jwu.name,
+               jwu.phone
+        from jnb_score js
+        left join jnb_wx_user jwu on js.user_id = jwu.id
+        <where>
+            <if test="name != null and name != ''">
+                and jwu.name like concat(concat('%', #{name}), '%')
+            </if>
+            <if test="phone != null and phone != ''">
+                and jwu.phone like concat(concat('%', #{phone}), '%')
+            </if>
+        </where>
+        order by js.create_time desc, js.id desc
+    </select>
+
     <!-- 获取积分流水 -->
     <select id="getScoreList" parameterType="string" resultMap="scoreOperateResult">
-        select jso.id, jso.user_id, jso.score_operate, jso.score_num, jso.create_time, sdd.dict_label as relevance, jso.relevance_data_id
+        select jso.id, jso.user_id,
+               jwu.name,
+               jso.score_operate,
+               jso.score_num,
+               jso.create_time,
+               sdd.dict_label as relevance,
+               jso.relevance_data_id
         from jnb_score_operate jso
         left join sys_dict_data sdd on jso.relevance = sdd.dict_value
-        where sdd.dict_type = 'score_type' and  user_id = #{userId}
-        order by create_time desc
+        left join jnb_wx_user jwu on jso.user_id = jwu.id
+            <where>
+                sdd.dict_type = 'score_type'
+                <if test="userId != null and userId != ''">
+                    and jso.user_id = #{userId}
+                </if>
+            </where>
+        order by create_time desc, jso.id desc
     </select>
 
     <!-- 增加积分 -->