From 16c9afecf5c800922527ad27d42212141ac62c2e Mon Sep 17 00:00:00 2001
From: ydj <yangsink@163.com>
Date: Mon, 20 May 2024 18:10:52 +0800
Subject: [PATCH] 新增用户扣、入款记录

---
 src/main/java/com/nq/dao/UserOptionLogMapper.java                   |   13 +++
 src/main/java/com/nq/service/ISiteUserOptionLogService.java         |   13 +++
 src/main/java/com/nq/service/impl/UserAssetsServices.java           |   15 +++
 src/main/resources/mapper/UserOptionLogMapper.xml                   |   20 +++++
 src/main/java/com/nq/vo/user/UserOptionLogVO.java                   |   28 +++++++
 src/main/java/com/nq/controller/backend/AdminLogsController.java    |    9 ++
 src/main/java/com/nq/pojo/UserOptionLog.java                        |   35 ++++++++
 src/main/java/com/nq/service/impl/SiteUserOptionLogServiceImpl.java |   49 ++++++++++++
 8 files changed, 181 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/nq/controller/backend/AdminLogsController.java b/src/main/java/com/nq/controller/backend/AdminLogsController.java
index f0f29b0..de653da 100644
--- a/src/main/java/com/nq/controller/backend/AdminLogsController.java
+++ b/src/main/java/com/nq/controller/backend/AdminLogsController.java
@@ -42,6 +42,9 @@
     @Autowired
     ISiteMessageService iSiteMessageService;
 
+    @Autowired
+    ISiteUserOptionLogService iSiteUserOptionLogService;
+
     //分页查询日志管理 所有定时任务信息及模糊查询
     @RequestMapping({"taskList.do"})
     @ResponseBody
@@ -56,6 +59,12 @@
         return this.iSiteLoginLogService.loginList(userId, pageNum, pageSize);
     }
 
+    @RequestMapping("optionList.do")
+    @ResponseBody
+    public ServerResponse optionList(@RequestParam(value = "userId", required = false) Integer userId, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){
+        return this.iSiteUserOptionLogService.list(userId,pageNum,pageSize);
+    }
+
     //分页查询日志管理 所有短信日志信息
     @RequestMapping({"smsList.do"})
     @ResponseBody
diff --git a/src/main/java/com/nq/dao/UserOptionLogMapper.java b/src/main/java/com/nq/dao/UserOptionLogMapper.java
new file mode 100644
index 0000000..aa2fa7f
--- /dev/null
+++ b/src/main/java/com/nq/dao/UserOptionLogMapper.java
@@ -0,0 +1,13 @@
+package com.nq.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.nq.pojo.UserAssets;
+import com.nq.pojo.UserOptionLog;
+import com.nq.vo.user.UserOptionLogVO;
+
+import java.util.List;
+
+public interface UserOptionLogMapper extends BaseMapper<UserOptionLog> {
+
+    List<UserOptionLogVO> selective(Integer userId);
+}
diff --git a/src/main/java/com/nq/pojo/UserOptionLog.java b/src/main/java/com/nq/pojo/UserOptionLog.java
new file mode 100644
index 0000000..fc55677
--- /dev/null
+++ b/src/main/java/com/nq/pojo/UserOptionLog.java
@@ -0,0 +1,35 @@
+package com.nq.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.joda.time.DateTime;
+
+import java.math.BigDecimal;
+
+
+@Data
+@TableName("user_option_log")
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserOptionLog {
+
+    @TableId(type = IdType.AUTO,value = "id")
+    private Integer id;
+
+    private BigDecimal money;
+
+    private Integer type;
+
+    private Integer userId;
+
+    private Integer userAccectId;
+
+    private DateTime createTime;
+
+}
diff --git a/src/main/java/com/nq/service/ISiteUserOptionLogService.java b/src/main/java/com/nq/service/ISiteUserOptionLogService.java
new file mode 100644
index 0000000..a1c8215
--- /dev/null
+++ b/src/main/java/com/nq/service/ISiteUserOptionLogService.java
@@ -0,0 +1,13 @@
+package com.nq.service;
+
+
+import com.github.pagehelper.PageInfo;
+import com.nq.common.ServerResponse;
+import com.nq.pojo.User;
+
+import javax.servlet.http.HttpServletRequest;
+
+public interface ISiteUserOptionLogService {
+  ServerResponse<PageInfo> list(Integer userId, int pageNum, int pageSize);
+  
+}
diff --git a/src/main/java/com/nq/service/impl/SiteUserOptionLogServiceImpl.java b/src/main/java/com/nq/service/impl/SiteUserOptionLogServiceImpl.java
new file mode 100644
index 0000000..240638a
--- /dev/null
+++ b/src/main/java/com/nq/service/impl/SiteUserOptionLogServiceImpl.java
@@ -0,0 +1,49 @@
+package com.nq.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.nq.common.ServerResponse;
+import com.nq.dao.SiteAdminMapper;
+import com.nq.dao.UserMapper;
+import com.nq.dao.UserOptionLogMapper;
+import com.nq.dao.UserRechargeMapper;
+import com.nq.pojo.SiteAdmin;
+import com.nq.pojo.SiteTaskLog;
+import com.nq.pojo.UserRecharge;
+import com.nq.service.*;
+import com.nq.utils.PropertiesUtil;
+import com.nq.utils.SymmetricCryptoUtil;
+import com.nq.utils.redis.JsonUtil;
+import com.nq.utils.redis.RedisConst;
+import com.nq.utils.redis.RedisShardedPoolUtils;
+import com.nq.vo.admin.AdminCountVO;
+import com.nq.vo.user.UserOptionLogVO;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+
+@Service("ISiteUserOptionLogService")
+public class SiteUserOptionLogServiceImpl implements ISiteUserOptionLogService {
+    private static final Logger log = LoggerFactory.getLogger(SiteUserOptionLogServiceImpl.class);
+
+    @Autowired
+    UserOptionLogMapper userOptionLogMapper;
+
+    @Override
+    public ServerResponse<PageInfo> list(Integer userId, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<UserOptionLogVO> list = userOptionLogMapper.selective(userId);
+        PageInfo pageInfo = new PageInfo(list);
+        return ServerResponse.createBySuccess(pageInfo);
+    }
+}
diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 007a702..6218f03 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -4,11 +4,14 @@
 import com.nq.common.ServerResponse;
 import com.nq.dao.MoneyLogMapper;
 import com.nq.dao.UserAssetsMapper;
+import com.nq.dao.UserOptionLogMapper;
 import com.nq.enums.EStockType;
 import com.nq.enums.EUserAssets;
 import com.nq.pojo.MoneyLog;
 import com.nq.pojo.UserAssets;
+import com.nq.pojo.UserOptionLog;
 import com.nq.service.IUserAssetsServices;
+import org.joda.time.DateTime;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -25,6 +28,9 @@
 
     @Resource
     UserAssetsMapper userAssetsMapper;
+
+    @Resource
+    UserOptionLogMapper userOptionLogMapper;
 
     @Resource
     MoneyLogMapper moneyLogMapper;
@@ -59,7 +65,14 @@
             }
         }
         userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(bigAmt));
-        if( userAssetsMapper.updateById(userAssets)>0){
+        if(userAssetsMapper.updateById(userAssets)>0){
+            userOptionLogMapper.insert(UserOptionLog.builder()
+                    .userId(userAssets.getUserId())
+                    .money(bigAmt)
+                    .userAccectId(userAssets.getId())
+                    .createTime(new DateTime())
+                    .type(amt.contains("-")?0:1)
+                    .build());
             return ServerResponse.createBySuccess();
         }else{
             return ServerResponse.createByErrorMsg("修改金额失败");
diff --git a/src/main/java/com/nq/vo/user/UserOptionLogVO.java b/src/main/java/com/nq/vo/user/UserOptionLogVO.java
new file mode 100644
index 0000000..e68dfc0
--- /dev/null
+++ b/src/main/java/com/nq/vo/user/UserOptionLogVO.java
@@ -0,0 +1,28 @@
+package com.nq.vo.user;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.joda.time.DateTime;
+
+import java.math.BigDecimal;
+
+@Data
+public class UserOptionLogVO {
+
+    private Integer id;
+
+    private BigDecimal money;
+
+    private Integer type;
+
+    private Integer userId;
+
+    private Integer userAccectId;
+
+    private DateTime createTime;
+
+    private String userAccectType;
+
+    private String userName;
+
+}
diff --git a/src/main/resources/mapper/UserOptionLogMapper.xml b/src/main/resources/mapper/UserOptionLogMapper.xml
new file mode 100644
index 0000000..a21ab35
--- /dev/null
+++ b/src/main/resources/mapper/UserOptionLogMapper.xml
@@ -0,0 +1,20 @@
+<?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.nq.dao.UserOptionLogMapper">
+
+    <select id="selective" resultType="com.nq.vo.user.UserOptionLogVO">
+        SELECT
+            t1.*,
+            t2.accect_type AS userAccectType,
+            t3.nick_name AS userName
+        FROM
+            user_option_log t1
+                LEFT JOIN user_assets t2 ON t1.user_accect_id = t2.id
+                LEFT JOIN `user` t3 ON t1.user_id = t3.id
+            where 1=1
+        <if test="userId!=null and userId!=''">
+            and t1.user_id = #{userId}
+        </if>
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3