Browse Source

完成系统用户积分接口(新)

tsurumure 7 months ago
parent
commit
c8c5b6b20d

+ 4 - 3
db/sys_user_integral_log.sql

@@ -10,10 +10,11 @@ CREATE TABLE `sys_user_integral_log` (
     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
     `user_id` BIGINT NOT NULL COMMENT '用户ID',
     `user_id` BIGINT NOT NULL COMMENT '用户ID',
     `content` VARCHAR(500) COMMENT '内容',
     `content` VARCHAR(500) COMMENT '内容',
-    `integral` INT NOT NULL COMMENT '积分',
+    `integral` INT NOT NULL COMMENT '操作积分',
     `operation` INT NOT NULL COMMENT '操作 (1:增加, -1:减少)',
     `operation` INT NOT NULL COMMENT '操作 (1:增加, -1:减少)',
-    `operation_user_id` BIGINT COMMENT '操作人 (手动添加必填)',
-    `origin` INT NOT NULL COMMENT '来源 (1:手动添加, 2:..)',
+    `operation_user_id` BIGINT COMMENT '操作人 (手动操作必填)',
+    `operation_ip` VARCHAR(64) COMMENT '操作IP',
+    `origin` INT NOT NULL COMMENT '来源 (1:手动操作, 2:..)',
     `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
     `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
     INDEX `idx_user_id` (`user_id`)
     INDEX `idx_user_id` (`user_id`)
 ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统用户积分记录表';
 ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统用户积分记录表';

+ 0 - 1
db/sys_user_role_permission.sql

@@ -55,7 +55,6 @@ INSERT INTO sys_user_role_permission(id, parent_id, permission_name, sort) VALUE
             ('3.3.3', '3.3', '查询用户积分详情', null),
             ('3.3.3', '3.3', '查询用户积分详情', null),
                 ('3.3.3.2', '3.3.3', '查询他人积分详情', null),
                 ('3.3.3.2', '3.3.3', '查询他人积分详情', null),
             ('3.3.4', '3.3', '查询用户积分操作记录', null),
             ('3.3.4', '3.3', '查询用户积分操作记录', null),
-                ('3.3.4.2', '3.3', '查询他人积分操作记录', null),
         ('3.4', '3', '系统用户权限列表', null),
         ('3.4', '3', '系统用户权限列表', null),
             ('3.4.1', '3.4', '查询用户权限', null),
             ('3.4.1', '3.4', '查询用户权限', null),
             ('3.4.1.2', '3.4', '查询他人用户权限', null),
             ('3.4.1.2', '3.4', '查询他人用户权限', null),

+ 1 - 1
db/sys_user_role_permission_relation.sql

@@ -31,7 +31,7 @@ INSERT INTO sys_user_role_permission_relation(role_id, permission_id) VALUES
             (1, '3.2.4'), (1, '3.2.5'), (1, '3.2.6'), (1, '3.2.7'),
             (1, '3.2.4'), (1, '3.2.5'), (1, '3.2.6'), (1, '3.2.7'),
         (1, '3.3'),
         (1, '3.3'),
             (1, '3.3.1'), (1, '3.3.2'), (1, '3.3.3'), (1, '3.3.3.2'),
             (1, '3.3.1'), (1, '3.3.2'), (1, '3.3.3'), (1, '3.3.3.2'),
-            (1, '3.3.4'), (1, '3.3.4.2'),
+            (1, '3.3.4'),
         (1, '3.4'),
         (1, '3.4'),
             (1, '3.4.1'), (1, '3.4.1.2'),
             (1, '3.4.1'), (1, '3.4.1.2'),
         (1, '3.5'),
         (1, '3.5'),

+ 5 - 5
src/main/java/com/backendsys/mapper/Cms/CmsArticleMapper.xml

@@ -8,8 +8,8 @@
     <sql id="includeArticle">
     <sql id="includeArticle">
         a.id id,
         a.id id,
         a.id article_id,
         a.id article_id,
-        sf.user_id user_id,
-        COALESCE(sf.nickname, '') user_nickname,
+        uf.user_id user_id,
+        COALESCE(uf.nickname, '') user_nickname,
         ac.id category_id,
         ac.id category_id,
         ac.category_name category_name,
         ac.category_name category_name,
         at.title title,
         at.title title,
@@ -27,8 +27,8 @@
     <sql id="includeArticleDetail">
     <sql id="includeArticleDetail">
         a.id id,
         a.id id,
         a.id article_id,
         a.id article_id,
-        sf.user_id user_id,
-        COALESCE(sf.nickname, '') user_nickname,
+        uf.user_id user_id,
+        COALESCE(uf.nickname, '') user_nickname,
         ac.id category_id,
         ac.id category_id,
         ac.category_name category_name,
         ac.category_name category_name,
         COALESCE(a.meta_keyword, '') meta_keyword,
         COALESCE(a.meta_keyword, '') meta_keyword,
@@ -93,7 +93,7 @@
         LEFT JOIN cms_article_category ac ON a.category_id = ac.id
         LEFT JOIN cms_article_category ac ON a.category_id = ac.id
     </sql>
     </sql>
     <sql id="leftJoinUser">
     <sql id="leftJoinUser">
-        LEFT JOIN sys_user_info sf ON a.user_id = sf.user_id
+        LEFT JOIN sys_user_info uf ON a.user_id = uf.user_id
     </sql>
     </sql>
     <sql id="leftJoinTranslations">
     <sql id="leftJoinTranslations">
         LEFT JOIN cms_article_i18n at ON a.id = at.article_id
         LEFT JOIN cms_article_i18n at ON a.id = at.article_id

+ 27 - 3
src/main/java/com/backendsys/modules/system/controller/SysUserIntegralController.java

@@ -5,8 +5,9 @@ import com.backendsys.modules.common.config.security.enums.SecurityEnum;
 import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.common.utils.Result;
 import com.backendsys.modules.common.utils.Result;
 import com.backendsys.modules.system.dao.SysUserDao;
 import com.backendsys.modules.system.dao.SysUserDao;
-import com.backendsys.modules.system.entity.SysLogEntity;
 import com.backendsys.modules.system.entity.SysUser;
 import com.backendsys.modules.system.entity.SysUser;
+import com.backendsys.modules.system.entity.SysUserIntegralLog;
+import com.backendsys.modules.system.service.SysUserIntegralLogService;
 import com.backendsys.modules.system.service.SysUserIntegralService;
 import com.backendsys.modules.system.service.SysUserIntegralService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -26,14 +27,15 @@ public class SysUserIntegralController {
 
 
     @Autowired
     @Autowired
     private SecurityUtil securityUtil;
     private SecurityUtil securityUtil;
-
     @Autowired
     @Autowired
     private SysUserDao sysUserDao;
     private SysUserDao sysUserDao;
     @Autowired
     @Autowired
     private SysUserIntegralService sysUserIntegralService;
     private SysUserIntegralService sysUserIntegralService;
+    @Autowired
+    private SysUserIntegralLogService sysUserIntegralLogService;
 
 
     @Operation(summary = "获取系统用户积分详情")
     @Operation(summary = "获取系统用户积分详情")
-    @GetMapping("/api/system/getUserIntegral")
+    @GetMapping("/api/system/user/getUserIntegral")
     public Result getUserIntegral(Long user_id) {
     public Result getUserIntegral(Long user_id) {
         if (user_id == null) user_id = SecurityUtil.getUserId();
         if (user_id == null) user_id = SecurityUtil.getUserId();
 
 
@@ -56,4 +58,26 @@ public class SysUserIntegralController {
         return Result.success().put("data", resp);
         return Result.success().put("data", resp);
     }
     }
 
 
+    @Operation(summary = "获取系统用户积分日志列表")
+    @PreAuthorize("@sr.hasPermission('3.3.4')")
+    @GetMapping("/api/system/user/getUserIntegralLogList")
+    public Result getUserIntegralLogList(SysUserIntegralLog sysUserIntegralLog) {
+        return Result.success().put("data", sysUserIntegralLogService.selectIntegralLogList(sysUserIntegralLog));
+    }
+
+
+//    // 测试完删除
+//    @Operation(summary = "增加积分 (测试)")
+//    @GetMapping("/api/system/increaseUserIntegral")
+//    public Result increaseUserIntegral(Long user_id, Integer integral) {
+//        return Result.success().put("data", sysUserIntegralService.increase(user_id, integral));
+//    }
+//
+//    // 测试完删除
+//    @Operation(summary = "减少积分 (测试)")
+//    @GetMapping("/api/system/decreaseUserIntegral")
+//    public Result decreaseUserIntegral(Long user_id, Integer integral) {
+//        return Result.success().put("data", sysUserIntegralService.decrease(user_id, integral));
+//    }
+
 }
 }

+ 6 - 0
src/main/java/com/backendsys/modules/system/dao/SysUserIntegralLogDao.java

@@ -4,6 +4,12 @@ import com.backendsys.modules.system.entity.SysUserIntegralLog;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 @Mapper
 public interface SysUserIntegralLogDao extends BaseMapper<SysUserIntegralLog> {
 public interface SysUserIntegralLogDao extends BaseMapper<SysUserIntegralLog> {
+
+    List<Map<String, Object>> selectIntegralLogList(SysUserIntegralLog sysUserIntegralLog);
+
 }
 }

+ 18 - 2
src/main/java/com/backendsys/modules/system/entity/SysUserIntegralLog.java

@@ -1,6 +1,7 @@
 package com.backendsys.modules.system.entity;
 package com.backendsys.modules.system.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
@@ -8,13 +9,28 @@ import lombok.Data;
 @Data
 @Data
 @TableName("sys_user_integral_log")
 @TableName("sys_user_integral_log")
 public class SysUserIntegralLog {
 public class SysUserIntegralLog {
+
     @TableId(type = IdType.AUTO)
     @TableId(type = IdType.AUTO)
     private Long id;
     private Long id;
     private Long user_id;
     private Long user_id;
+
+    @TableField(exist = false)
+    private String user_nickname;
+
     private String content;             // 内容
     private String content;             // 内容
     private Integer integral;           // 积分
     private Integer integral;           // 积分
     private Integer operation;          // 操作 (1:增加, -1:减少)
     private Integer operation;          // 操作 (1:增加, -1:减少)
-    private Long operation_user_id;     // 操作人 (手动添加必填)
-    private Integer origin;             // 来源 (1:手动添加, 2:..)
+    private Long operation_user_id;     // 操作人 (手动操作必填)
+
+    @TableField(exist = false)
+    private String operation_user_nickname;
+
+    private Integer origin;             // 来源 (1:手动操作, 2:..)
+    private String operation_ip;
     private String create_time;
     private String create_time;
+
+    @TableField(exist = false)
+    private String create_time_begin;
+    @TableField(exist = false)
+    private String create_time_end;
 }
 }

+ 8 - 0
src/main/java/com/backendsys/modules/system/service/SysUserIntegralLogService.java

@@ -1,4 +1,12 @@
 package com.backendsys.modules.system.service;
 package com.backendsys.modules.system.service;
 
 
+import com.backendsys.modules.system.entity.SysLogEntity;
+import com.backendsys.modules.system.entity.SysUserIntegralLog;
+import com.backendsys.utils.response.PageEntity;
+
 public interface SysUserIntegralLogService {
 public interface SysUserIntegralLogService {
+
+    // 获取系统用户积分日志列表
+    PageEntity selectIntegralLogList(SysUserIntegralLog sysUserIntegralLog);
+
 }
 }

+ 2 - 1
src/main/java/com/backendsys/modules/system/service/SysUserIntegralService.java

@@ -4,9 +4,10 @@ import java.util.Map;
 
 
 public interface SysUserIntegralService {
 public interface SysUserIntegralService {
 
 
+    // 初始化用户积分
+    void init(Long user_id);
     // 查询积分
     // 查询积分
     Integer selectIntegralByUserId(Long user_id);
     Integer selectIntegralByUserId(Long user_id);
-
     // 增加积分
     // 增加积分
     Map<String, Object> increase(Long user_id, Integer integral);
     Map<String, Object> increase(Long user_id, Integer integral);
     // 减少积分
     // 减少积分

+ 8 - 0
src/main/java/com/backendsys/modules/system/service/impl/SysAuthV2ServiceImpl.java

@@ -11,6 +11,7 @@ import com.backendsys.modules.system.dao.SysUserDao;
 import com.backendsys.modules.system.dao.SysUserInfoDao;
 import com.backendsys.modules.system.dao.SysUserInfoDao;
 import com.backendsys.modules.system.entity.*;
 import com.backendsys.modules.system.entity.*;
 import com.backendsys.modules.system.service.SysAuthV2Service;
 import com.backendsys.modules.system.service.SysAuthV2Service;
+import com.backendsys.modules.system.service.SysUserIntegralService;
 import com.backendsys.modules.system.service.SysUserService;
 import com.backendsys.modules.system.service.SysUserService;
 import com.backendsys.utils.response.ResultEnum;
 import com.backendsys.utils.response.ResultEnum;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -56,6 +57,8 @@ public class SysAuthV2ServiceImpl implements SysAuthV2Service {
     private SysUserService sysUserService;
     private SysUserService sysUserService;
     @Autowired
     @Autowired
     private SysMobileAreaDao sysMobileAreaDao;
     private SysMobileAreaDao sysMobileAreaDao;
+    @Autowired
+    private SysUserIntegralService sysUserIntegralService;
 
 
     @Value("${tencent.sms.debug}")
     @Value("${tencent.sms.debug}")
     private String SMS_DEBUG;
     private String SMS_DEBUG;
@@ -319,7 +322,12 @@ public class SysAuthV2ServiceImpl implements SysAuthV2Service {
         // 注册时,状态为禁用
         // 注册时,状态为禁用
         registerEntity.setStatus(-1);
         registerEntity.setStatus(-1);
 
 
+        // 创建用户
         sysUserDao.insertUser(registerEntity);
         sysUserDao.insertUser(registerEntity);
+
+        // 初始化用户积分
+        sysUserIntegralService.init(registerEntity.getId());
+
         return Map.of("user_id", registerEntity.getId());
         return Map.of("user_id", registerEntity.getId());
     }
     }
 
 

+ 24 - 0
src/main/java/com/backendsys/modules/system/service/impl/SysUserIntegralLogServiceImpl.java

@@ -1,8 +1,32 @@
 package com.backendsys.modules.system.service.impl;
 package com.backendsys.modules.system.service.impl;
 
 
+import com.backendsys.modules.system.dao.SysUserIntegralLogDao;
+import com.backendsys.modules.system.entity.SysLogEntity;
+import com.backendsys.modules.system.entity.SysUserIntegralLog;
 import com.backendsys.modules.system.service.SysUserIntegralLogService;
 import com.backendsys.modules.system.service.SysUserIntegralLogService;
+import com.backendsys.utils.response.PageEntity;
+import com.backendsys.utils.response.PageInfoResult;
+import com.backendsys.utils.v2.PageUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+import java.util.Map;
+
 @Service
 @Service
 public class SysUserIntegralLogServiceImpl implements SysUserIntegralLogService {
 public class SysUserIntegralLogServiceImpl implements SysUserIntegralLogService {
+
+    @Autowired
+    private SysUserIntegralLogDao sysUserIntegralLogDao;
+
+    /**
+     * 获取系统用户积分日志列表
+     */
+    @Override
+    public PageEntity selectIntegralLogList(SysUserIntegralLog sysUserIntegralLog) {
+        PageUtils.startPage();  // 分页
+        List<Map<String, Object>> list = sysUserIntegralLogDao.selectIntegralLogList(sysUserIntegralLog);
+        return new PageInfoResult(list).toEntity();
+    }
+
 }
 }

+ 54 - 14
src/main/java/com/backendsys/modules/system/service/impl/SysUserIntegralServiceImpl.java

@@ -1,8 +1,12 @@
 package com.backendsys.modules.system.service.impl;
 package com.backendsys.modules.system.service.impl;
 
 
+import cn.hutool.core.util.NumberUtil;
+import com.backendsys.modules.common.config.security.utils.HttpRequestUtil;
+import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.system.dao.SysUserIntegralDao;
 import com.backendsys.modules.system.dao.SysUserIntegralDao;
 import com.backendsys.modules.system.dao.SysUserIntegralLogDao;
 import com.backendsys.modules.system.dao.SysUserIntegralLogDao;
 import com.backendsys.modules.system.entity.SysUserIntegral;
 import com.backendsys.modules.system.entity.SysUserIntegral;
+import com.backendsys.modules.system.entity.SysUserIntegralLog;
 import com.backendsys.modules.system.service.SysUserIntegralService;
 import com.backendsys.modules.system.service.SysUserIntegralService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,11 +18,24 @@ import java.util.Map;
 @Service
 @Service
 public class SysUserIntegralServiceImpl implements SysUserIntegralService {
 public class SysUserIntegralServiceImpl implements SysUserIntegralService {
 
 
+    @Autowired
+    private HttpRequestUtil httpRequestUtil;
+
     @Autowired
     @Autowired
     private SysUserIntegralDao sysUserIntegralDao;
     private SysUserIntegralDao sysUserIntegralDao;
     @Autowired
     @Autowired
     private SysUserIntegralLogDao sysUserIntegralLogDao;
     private SysUserIntegralLogDao sysUserIntegralLogDao;
 
 
+    /**
+     * 初始化用户积分
+     */
+    @Override
+    public void init(Long user_id) {
+        SysUserIntegral entity = new SysUserIntegral();
+        entity.setUser_id(user_id);
+        sysUserIntegralDao.insert(entity);
+    }
+
     /**
     /**
      * 查询积分 (如果不存在记录,则创建)
      * 查询积分 (如果不存在记录,则创建)
      */
      */
@@ -45,16 +62,27 @@ public class SysUserIntegralServiceImpl implements SysUserIntegralService {
     public Map<String, Object> increase(Long user_id, Integer integral) {
     public Map<String, Object> increase(Long user_id, Integer integral) {
 
 
         // 查询当前积分 (如果不存在记录,则创建)
         // 查询当前积分 (如果不存在记录,则创建)
-        Integer currentIntegral = selectIntegralByUserId(user_id);
+        Integer current_integral = selectIntegralByUserId(user_id);
+        // 计算结果积分 (当前 + 增量)
+        int target_integral = NumberUtil.add(current_integral, integral).intValue();
 
 
-        Integer operation = 1;  // 操作 (1:增加, -1:减少)
+        // 更新用户积分
+        SysUserIntegral entity = new SysUserIntegral();
+        entity.setIntegral(target_integral);
+        sysUserIntegralDao.update(entity, new LambdaQueryWrapper<SysUserIntegral>().eq(SysUserIntegral::getUser_id, user_id));
 
 
+        // 创建用户积分日志
+        SysUserIntegralLog entityLog = new SysUserIntegralLog();
+        entityLog.setUser_id(user_id);
+        entityLog.setContent("手动增加积分");
+        entityLog.setIntegral(integral);
+        entityLog.setOperation(1);                                  // 操作 (1:增加, -1:减少)
+        entityLog.setOperation_user_id(SecurityUtil.getUserId());   // 操作人 (手动操作必填)
+        entityLog.setOrigin(1);                                     // 来源 (1:手动操作, 2:..)
+        entityLog.setOperation_ip(httpRequestUtil.getIpAddr());               // IP
+        sysUserIntegralLogDao.insert(entityLog);
 
 
-        Map<String, Object> resp = new LinkedHashMap<>();
-        resp.put("user_id", user_id);
-        resp.put("integral", integral);
-        resp.put("operation", operation);
-        return resp;
+        return Map.of("user_id", user_id);
     }
     }
 
 
     /**
     /**
@@ -64,14 +92,26 @@ public class SysUserIntegralServiceImpl implements SysUserIntegralService {
     public Map<String, Object> decrease(Long user_id, Integer integral) {
     public Map<String, Object> decrease(Long user_id, Integer integral) {
 
 
         // 查询当前积分 (如果不存在记录,则创建)
         // 查询当前积分 (如果不存在记录,则创建)
-        Integer currentIntegral = selectIntegralByUserId(user_id);
+        Integer current_integral = selectIntegralByUserId(user_id);
+        // 计算结果积分 (当前 - 增量)
+        int target_integral = NumberUtil.sub(current_integral, integral).intValue();
+
+        // 更新用户积分
+        SysUserIntegral entity = new SysUserIntegral();
+        entity.setIntegral(target_integral);
+        sysUserIntegralDao.update(entity, new LambdaQueryWrapper<SysUserIntegral>().eq(SysUserIntegral::getUser_id, user_id));
 
 
-        Integer operation = -1;  // 操作 (1:增加, -1:减少)
+        // 创建用户积分日志
+        SysUserIntegralLog entityLog = new SysUserIntegralLog();
+        entityLog.setUser_id(user_id);
+        entityLog.setContent("手动减少积分");
+        entityLog.setIntegral(integral);
+        entityLog.setOperation(-1);                                 // 操作 (1:增加, -1:减少)
+        entityLog.setOperation_user_id(SecurityUtil.getUserId());   // 操作人 (手动操作必填)
+        entityLog.setOrigin(1);                                     // 来源 (1:手动操作, 2:..)
+        entityLog.setOperation_ip(httpRequestUtil.getIpAddr());     // IP
+        sysUserIntegralLogDao.insert(entityLog);
 
 
-        Map<String, Object> resp = new LinkedHashMap<>();
-        resp.put("user_id", user_id);
-        resp.put("integral", integral);
-        resp.put("operation", operation);
-        return resp;
+        return Map.of("user_id", user_id);
     }
     }
 }
 }

+ 3 - 0
src/main/java/com/backendsys/modules/system/service/impl/SysUserServiceImpl.java

@@ -241,6 +241,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUser> impleme
             // 创建用户
             // 创建用户
             sysUserDao.insertUser(sysUserDTO);
             sysUserDao.insertUser(sysUserDTO);
 
 
+            // 初始化用户积分
+            sysUserIntegralService.init(sysUserDTO.getId());
+
             return Map.of("user_id", sysUserDTO.getId());
             return Map.of("user_id", sysUserDTO.getId());
 
 
         } catch (InterruptedException e) { throw new RuntimeException(e);
         } catch (InterruptedException e) { throw new RuntimeException(e);

+ 5 - 5
src/main/resources/mapper/cms/article/ArticleDao.xml

@@ -6,8 +6,8 @@
         a.id id,
         a.id id,
         a.id article_id,
         a.id article_id,
         a.uid uid,
         a.uid uid,
-        sf.user_id user_id,
-        COALESCE(sf.nickname, '') user_nickname,
+        uf.user_id user_id,
+        COALESCE(uf.nickname, '') user_nickname,
         COALESCE(ac.id, -1) category_id,
         COALESCE(ac.id, -1) category_id,
         COALESCE(ac.category_name, '') category_name,
         COALESCE(ac.category_name, '') category_name,
         at.title title,
         at.title title,
@@ -22,8 +22,8 @@
         a.id id,
         a.id id,
         a.id article_id,
         a.id article_id,
         a.uid uid,
         a.uid uid,
-        sf.user_id user_id,
-        COALESCE(sf.nickname, '') user_nickname,
+        uf.user_id user_id,
+        COALESCE(uf.nickname, '') user_nickname,
         ac.id category_id,
         ac.id category_id,
         ac.category_name category_name,
         ac.category_name category_name,
         a.status status,
         a.status status,
@@ -45,7 +45,7 @@
         LEFT JOIN cms_article_category_i18n ac ON ac.article_category_id = a.category_id AND ac.language = #{lang}
         LEFT JOIN cms_article_category_i18n ac ON ac.article_category_id = a.category_id AND ac.language = #{lang}
     </sql>
     </sql>
     <sql id="leftJoinUser">
     <sql id="leftJoinUser">
-        LEFT JOIN sys_user_info sf ON a.user_id = sf.user_id
+        LEFT JOIN sys_user_info uf ON a.user_id = uf.user_id
     </sql>
     </sql>
     <sql id="leftJoinTranslations">
     <sql id="leftJoinTranslations">
         LEFT JOIN cms_article_i18n at ON a.id = at.article_id
         LEFT JOIN cms_article_i18n at ON a.id = at.article_id

+ 69 - 0
src/main/resources/mapper/system/SysUserIntegralLogDao.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.backendsys.modules.system.dao.SysUserIntegralLogDao">
+
+    <sql id="includeIntegralLog">
+        uil.id,
+        uil.user_id,
+        COALESCE(ufsec.nickname, '') user_nickname,
+        COALESCE(uil.content, '') content,
+        uil.integral,
+        uil.operation,
+        COALESCE(uil.operation_user_id, '') operation_user_id,
+        COALESCE(uf.nickname, '') operation_user_nickname,
+        uil.origin,
+        COALESCE(uil.operation_ip, '') operation_ip,
+        uil.create_time
+    </sql>
+
+    <resultMap id="resultMapIntegralLogList" type="java.util.LinkedHashMap">
+        <id property="id" column="id" jdbcType="BIGINT" />
+        <result property="user_id" column="user_id" javaType="java.lang.Long" />
+        <result property="user_nickname" column="user_nickname" />
+        <result property="content" column="content" />
+        <result property="integral" column="integral" javaType="java.lang.Integer" />
+        <result property="operation" column="operation" javaType="java.lang.Integer" />
+        <result property="operation_user_id" column="operation_user_id" javaType="java.lang.Long" />
+        <result property="operation_user_nickname" column="operation_user_nickname" />
+        <result property="origin" column="origin" javaType="java.lang.Integer" />
+        <result property="operation_ip" column="operation_ip" />
+        <result property="create_time" column="create_time" />
+    </resultMap>
+
+    <select id="selectIntegralLogList" resultMap="resultMapIntegralLogList">
+        SELECT <include refid="includeIntegralLog" />
+        FROM sys_user_integral_log uil
+        LEFT JOIN sys_user_info uf ON uil.operation_user_id = uf.user_id
+        LEFT JOIN sys_user_info ufsec ON uil.user_id = ufsec.user_id
+        <where>
+            <if test="user_id != null and user_id != ''">
+                AND uil.user_id = #{user_id}
+            </if>
+            <if test="user_nickname != null and user_nickname != ''">
+                AND ufsec.nickname LIKE CONCAT('%', #{user_nickname}, '%')
+            </if>
+            <if test="content != null and content != ''">
+                AND uil.content LIKE CONCAT('%', #{content}, '%')
+            </if>
+            <if test="operation != null and operation != ''">
+                AND uil.operation = #{operation}
+            </if>
+            <if test="operation_user_id != null and operation_user_id != ''">
+                AND uil.operation_user_id = #{operation_user_id}
+            </if>
+            <if test="operation_user_nickname != null and operation_user_nickname != ''">
+                AND uf.nickname LIKE CONCAT('%', #{operation_user_nickname}, '%')
+            </if>
+            <if test="operation_ip != null and operation_ip != ''">
+                AND uil.operation_ip = #{operation_ip}
+            </if>
+            <if test="create_time_begin != null and create_time_begin != '' and create_time_end != null and create_time_end != ''">
+                AND uil.create_time BETWEEN #{create_time_begin} AND #{create_time_end}
+            </if>
+        </where>
+        ORDER BY create_time DESC
+    </select>
+
+</mapper>
+
+

+ 1 - 1
src/main/resources/mapper/system/SysUserRoleDao.xml

@@ -16,7 +16,7 @@
         <result property="role_name" column="role_name" />
         <result property="role_name" column="role_name" />
         <result property="role_description" column="role_description" />
         <result property="role_description" column="role_description" />
         <result property="user_count" column="user_count" />
         <result property="user_count" column="user_count" />
-        <result property="sort" column="sort"  javaType="java.lang.Integer" />
+        <result property="sort" column="sort" javaType="java.lang.Integer" />
         <result property="status" column="status" javaType="java.lang.Integer" />
         <result property="status" column="status" javaType="java.lang.Integer" />
     </resultMap>
     </resultMap>
     <select id="selectUserRoleList" resultMap="resultMapUserRole">
     <select id="selectUserRoleList" resultMap="resultMapUserRole">