10 Commits

  1. 62
      src/main/java/com/example/demo/controller/ConsumeController.java
  2. 1
      src/main/java/com/example/demo/controller/GoldDetailController.java
  3. 66
      src/main/java/com/example/demo/controller/PermissionController.java
  4. 78
      src/main/java/com/example/demo/controller/RefundController.java
  5. 41
      src/main/java/com/example/demo/controller/UserController.java
  6. 1
      src/main/java/com/example/demo/domain/entity/Admin.java
  7. 18
      src/main/java/com/example/demo/domain/entity/Export.java
  8. 2
      src/main/java/com/example/demo/domain/entity/User.java
  9. 5
      src/main/java/com/example/demo/domain/vo/ConsumeUser.java
  10. 41
      src/main/java/com/example/demo/domain/vo/GoldUser.java
  11. 5
      src/main/java/com/example/demo/domain/vo/Page.java
  12. 27
      src/main/java/com/example/demo/domain/vo/Permission.java
  13. 46
      src/main/java/com/example/demo/domain/vo/RefundUser.java
  14. 17
      src/main/java/com/example/demo/mapper/AdminMapper.java
  15. 9
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  16. 31
      src/main/java/com/example/demo/mapper/PermissionMapper.java
  17. 27
      src/main/java/com/example/demo/mapper/RefundMapper.java
  18. 25
      src/main/java/com/example/demo/mapper/UserMapper.java
  19. 14
      src/main/java/com/example/demo/service/ConsumeService.java
  20. 29
      src/main/java/com/example/demo/service/PermissionService.java
  21. 28
      src/main/java/com/example/demo/service/RefundService.java
  22. 19
      src/main/java/com/example/demo/service/UserService.java
  23. 116
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  24. 1
      src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java
  25. 115
      src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java
  26. 88
      src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
  27. 38
      src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java
  28. 9
      src/main/resources/mapper/AdminMapper.xml
  29. 52
      src/main/resources/mapper/ConsumeMapper.xml
  30. 73
      src/main/resources/mapper/PermissionMapper.xml
  31. 106
      src/main/resources/mapper/RefundMapper.xml
  32. 52
      src/main/resources/mapper/UserMapper.xml

62
src/main/java/com/example/demo/controller/ConsumeController.java

@ -1,6 +1,7 @@
package com.example.demo.controller;
import com.example.demo.domain.vo.Consume;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.vo.ConsumeUser;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.Page;
import com.example.demo.domain.vo.Result;
@ -11,8 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @program: gold-java
* @ClassName ConsumeController
@ -35,13 +34,18 @@ public class ConsumeController {
//消耗明细
@PostMapping("/selectAll")
public Result selcetAll(@RequestBody Page page) {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize()));
try {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
@ -49,13 +53,17 @@ public class ConsumeController {
//消耗明细筛选
@PostMapping("/selectBy")
public Result selcetBy(@RequestBody Page page) {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsume()));
try {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsumeUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
@ -63,8 +71,24 @@ public class ConsumeController {
//消耗金币统计
@PostMapping("/statsGold")
public Result statsGold() {
Gold gold = consumeService.statsGold();
return Result.success(gold);
try {
Gold gold = consumeService.statsGold();
return Result.success(gold);
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
//消耗金币增加
@PostMapping("/add")
public Result add(@RequestBody ConsumeUser consumeUser) {
try {
return consumeService.add(consumeUser);
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
}

1
src/main/java/com/example/demo/controller/GoldDetailController.java

@ -49,6 +49,7 @@ public class GoldDetailController {
}
@PostMapping("/getGold")
public Result getGold(@RequestBody Page page) {
System.out.println( page);
if(ObjectUtils.isEmpty(page.getPageNum())){
return Result.error("页码数为空!");
}

66
src/main/java/com/example/demo/controller/PermissionController.java

@ -0,0 +1,66 @@
package com.example.demo.controller;
import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.entity.AdminRole;
import com.example.demo.domain.vo.Page;
import com.example.demo.domain.vo.Permission;
import com.example.demo.domain.vo.Result;
import com.example.demo.service.PermissionService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
/**
* @program: GOLD
* @ClassName PermissionController
* @description:
* @author: huangqizhen
* @create: 202506-26 13:22
* @Version 1.0
**/
@RestController
@RequestMapping("/permission")
@RequiredArgsConstructor
@Slf4j
@CrossOrigin
public class PermissionController {
private final PermissionService permissionService;
@PostMapping("/getposition")
public Result getposition(@RequestBody String token){
return Result.success(permissionService.getposition(token));
}
@PostMapping("/getmarket")
public Result getmarket(@RequestBody String token){
return Result.success(permissionService.getmarket(token));
}
@PostMapping("/getPermission")
public Result getPermission(@RequestBody Page page){
return Result.success(permissionService.getpermission(page.getPageNum(), page.getPageSize(), page.getPermission()));
}
@PostMapping("/addPermission")
public Result addPermission(@RequestBody Admin admin) throws Exception {
System.out.println( admin);
try {
return Result.success(permissionService.addpermission(admin));
}
catch (Exception e) {
log.error(Arrays.toString(e.getStackTrace()));
return Result.error(e.getMessage());
}
}
@PostMapping("/getRole")
public Result getRole(@RequestBody String token){
return Result.success(permissionService.getRole(token));
}
@PostMapping("/deleteAdmin")
public Result deleteAdmin(@RequestBody Admin admin){
return Result.success(permissionService.deleteAdmin(admin.getId()));
}
@PostMapping("/updateAdminRole")
public Result updateAdminRole(@RequestBody AdminRole adminrole){
return Result.success(permissionService.updateAdminRole(adminrole));
}
}

78
src/main/java/com/example/demo/controller/RefundController.java

@ -0,0 +1,78 @@
package com.example.demo.controller;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.Page;
import com.example.demo.domain.vo.Result;
import com.example.demo.service.ConsumeService;
import com.example.demo.service.RefundService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
/**
* @program: gold-java
* @ClassName RefundMapper.xml
* @description:
* @author: Double
* @create: 202506-26 11:28
* @Version 1.0
**/
@RestController
@RequestMapping("/refund")
@RequiredArgsConstructor
@Slf4j
@CrossOrigin
public class RefundController {
@Autowired
private RefundService refundService;
//退款明细
@PostMapping("/selectAll")
public Result selcetAll(@RequestBody Page page) {
try {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(refundService.selectAll(page.getPageNum(), page.getPageSize()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
@PostMapping("/selectBy")
public Result selcetBy(@RequestBody Page page) {
try {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(refundService.selectBy(page.getPageNum(), page.getPageSize(), page.getRefundUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
@PostMapping("/statsGold")
public Result statsGold() {
try {
Gold gold = refundService.statsGold();
return Result.success(gold);
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
}

41
src/main/java/com/example/demo/controller/UserController.java

@ -0,0 +1,41 @@
package com.example.demo.controller;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.GoldUser;
import com.example.demo.domain.vo.Result;
import com.example.demo.service.ConsumeService;
import com.example.demo.service.UserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @program: gold-java
* @ClassName UserController
* @description:
* @author: Double
* @create: 202506-25 10:25
* @Version 1.0
**/
@RestController
@RequestMapping("/user")
@RequiredArgsConstructor
@Slf4j
@CrossOrigin
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/selectUser")
public Result selectUser(@RequestBody GoldUser user) {
try {
user = userService.selectUser(user.getJwcode().toString());
return Result.success(user);
} catch (Exception e) {
return Result.error("接口调用失败");
}
}
}

1
src/main/java/com/example/demo/domain/entity/Admin.java

@ -29,4 +29,5 @@ public class Admin implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date updateTime; // 更新时间
private Integer roleId;
}

18
src/main/java/com/example/demo/domain/entity/Export.java

@ -19,15 +19,15 @@ import java.util.Date;
@NoArgsConstructor
public class Export {
private String token;
private Integer account;
private String url;
private String fileName;
private Byte type;
private Byte state;
private Integer dataNum;
private String reason;
private Integer account; // 账号
private String url; // 文件路径
private String fileName; // 文件名
private Byte type; // 类型
private Byte state; // 状态
private Integer dataNum; // 数据量
private String reason; // 失败原因
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime;
private Date createTime; // 创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date updateTime;
private Date updateTime; // 更新时间
}

2
src/main/java/com/example/demo/domain/entity/User.java

@ -27,7 +27,7 @@ public class User implements Serializable {
private Integer currentFreeDecember; // 当前十二月免费金币
private Integer currentTaskGold; // 当前任务金币
private Integer rechargeNum; // 充值次数
private Integer sumConsume; // 消费总额
private Integer sumConsume; // 历史消费
private Integer consumeNum; // 消费次数
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")

5
src/main/java/com/example/demo/domain/vo/Consume.java → src/main/java/com/example/demo/domain/vo/ConsumeUser.java

@ -20,7 +20,7 @@ import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Consume implements Serializable {
public class ConsumeUser implements Serializable {
private static final long serialVersionUID = 1L;
@ -34,10 +34,11 @@ public class Consume implements Serializable {
private Integer freeGold; // 免费金币
private Integer taskGold; // 任务金币
private String remark; // 备注
private Integer adminId; //提交人Id
private String adminName; //提交人姓名
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date payTime; // 消费时间
private Date createTime; // 消费时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime; // 开始时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")

41
src/main/java/com/example/demo/domain/vo/GoldUser.java

@ -0,0 +1,41 @@
package com.example.demo.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @program: gold-java
* @ClassName ConsumeUser
* @description:
* @author: Double
* @create: 202506-24 18:30
* @Version 1.0
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GoldUser {
private String name; // 客户姓名
private Integer jwcode; // 精网号
private String market; // 所属地区
private Integer NowSumGold; // 当前金币总数
private Integer NowPermanentGold; // 当前永久金币
private Integer NowFreeGold; // 当前免费金币
private Integer NowFreeJune; // 免费金币6月
private Integer NowFreeDecember; // 免费金币12月
private Integer NowTaskGold; // 当前任务金币
private Integer historySumGold; // 历史金币总数
private Integer historyPermanentGold; // 历史永久金币
private Integer historyFreeGold; // 历史免费金币
private Integer historyTaskGold; // 历史任务金币
private Integer rechargeNum; // 充值次数
private Integer consumeNum; // 消费次数
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
private Date firstRecharge; // 首充日期
}

5
src/main/java/com/example/demo/domain/vo/Page.java

@ -20,7 +20,8 @@ public class Page {
private Integer pageNum;
private Integer pageSize;
private GoldDetail goldDetail;
private Consume consume;
private ConsumeUser consumeUser;
private User user;
private RefundUser refundUser;
private Permission permission;
}

27
src/main/java/com/example/demo/domain/vo/Permission.java

@ -0,0 +1,27 @@
package com.example.demo.domain.vo;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @program: GOLD
* @ClassName Permission
* @description:
* @author: huangqizhen
* @create: 202506-26 10:54
* @Version 1.0
**/
@Data
@NoArgsConstructor
public class Permission {
private String token;
private String id;
private String name; //姓名
private String account; //账号
private String market; //地区
private String postiton; //职位
private String roleName; //角色
private String remark; //备注
private Integer adminStatus; //状态
private Integer roleId; //角色id
}

46
src/main/java/com/example/demo/domain/vo/RefundUser.java

@ -0,0 +1,46 @@
package com.example.demo.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @program: gold-java
* @ClassName RefundUser
* @description:
* @author: Double
* @create: 202506-26 11:29
* @Version 1.0
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RefundUser {
private static final long serialVersionUID = 1L;
private String name; // 客户姓名
private Integer jwcode; // 精网号
private String market; // 所属地区
private String goodsName; // 商品名称
private String refundType; // 退款类型
private Byte refundModel; // 退款方式0全部/1部分退款
private Integer sumGold; // 金币总数
private Integer permanentGold; // 永久金币
private Integer freeGold; // 免费金币
private Integer taskGold; // 任务金币
private String remark; // 退款原因
private Integer adminId; //提交人Id
private String adminName; //提交人姓名
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime; // 创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime; // 开始时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间
}

17
src/main/java/com/example/demo/mapper/AdminMapper.java

@ -0,0 +1,17 @@
package com.example.demo.mapper;
import com.example.demo.domain.entity.Admin;
import org.apache.ibatis.annotations.Mapper;
/**
* @program: GOLD
* @ClassName AdminMapper
* @description:
* @author: huangqizhen
* @create: 202506-27 17:21
* @Version 1.0
**/
@Mapper
public interface AdminMapper {
Admin getAdmin(String account);
}

9
src/main/java/com/example/demo/mapper/ConsumeMapper.java

@ -1,6 +1,7 @@
package com.example.demo.mapper;
import com.example.demo.domain.vo.Consume;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.vo.ConsumeUser;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -17,7 +18,9 @@ import java.util.List;
@Mapper
public interface ConsumeMapper {
List<Consume> selectAll();
List<ConsumeUser> selectAll();
List<Consume> selectBy(Consume consume);
List<ConsumeUser> selectBy(ConsumeUser consumeUser);
void add(UserGoldRecord userGoldRecord);
}

31
src/main/java/com/example/demo/mapper/PermissionMapper.java

@ -0,0 +1,31 @@
package com.example.demo.mapper;
import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.entity.AdminRole;
import com.example.demo.domain.entity.Role;
import com.example.demo.domain.vo.Permission;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @program: GOLD
* @ClassName PermissionMapper
* @description:
* @author: huangqizhen
* @create: 202506-26 11:25
* @Version 1.0
**/
@Mapper
public interface PermissionMapper {
List<String> getposition(String token);
List<String> getmarket(String token);
List<Permission> getPermission(Permission permission);
Integer updatePermission(Admin admin);
Integer addPermission(Admin admin);
List<Role> getRole(String token);
Integer addadminRole(AdminRole adminRole);
Integer deleteAdmin(Integer id);
Integer deleteAdminRole(Integer id);
Integer updateAdminRole(AdminRole adminRole);
}

27
src/main/java/com/example/demo/mapper/RefundMapper.java

@ -0,0 +1,27 @@
package com.example.demo.mapper;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.vo.ConsumeUser;
import com.example.demo.domain.vo.RefundUser;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @program: gold-java
* @ClassName RefundMapper
* @description:
* @author: Double
* @create: 202506-27 11:31
* @Version 1.0
**/
@Mapper
public interface RefundMapper {
List<RefundUser> selectAll();
List<RefundUser> selectBy(RefundUser refundUser);
void add(UserGoldRecord userGoldRecord);
}

25
src/main/java/com/example/demo/mapper/UserMapper.java

@ -0,0 +1,25 @@
package com.example.demo.mapper;
import com.example.demo.domain.entity.User;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.GoldUser;
import org.apache.ibatis.annotations.Mapper;
/**
* @program: gold-java
* @ClassName UserMapper
* @description:
* @author: Double
* @create: 202506-25 10:40
* @Version 1.0
**/
@Mapper
public interface UserMapper {
GoldUser selectUser(String jwcode);
GoldUser selectGold(String jwcode);
void updateGold(User user);
}

14
src/main/java/com/example/demo/service/ConsumeService.java

@ -1,13 +1,12 @@
package com.example.demo.service;
import com.example.demo.domain.vo.Consume;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.vo.ConsumeUser;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.GoldDetail;
import com.example.demo.domain.vo.Result;
import com.github.pagehelper.PageInfo;
import java.util.List;
/**
* @program: gold-java
* @ClassName ConsumeService
@ -16,11 +15,14 @@ import java.util.List;
* @create: 202506-23 13:58
* @Version 1.0
**/
public interface ConsumeService {
PageInfo<Consume> selectAll(Integer pageNum, Integer pageSize);
PageInfo<ConsumeUser> selectAll(Integer pageNum, Integer pageSize);
Gold statsGold();
PageInfo<Consume> selectBy(Integer pageNum, Integer pageSize, Consume consume);
PageInfo<ConsumeUser> selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser);
Result add(ConsumeUser consumeUser);
}

29
src/main/java/com/example/demo/service/PermissionService.java

@ -0,0 +1,29 @@
package com.example.demo.service;
import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.entity.AdminRole;
import com.example.demo.domain.entity.Role;
import com.example.demo.domain.vo.Page;
import com.example.demo.domain.vo.Permission;
import com.github.pagehelper.PageInfo;
import javax.swing.*;
import java.util.List;
/**
* @program: GOLD
* @ClassName PermissionService
* @description:
* @author: huangqizhen
* @create: 202506-26 13:18
* @Version 1.0
**/
public interface PermissionService {
List<String> getposition(String token);
List<String> getmarket(String token);
PageInfo<Permission> getpermission(Integer pageNum, Integer pageSize, Permission permission);
Integer addpermission(Admin admin) throws Exception;
List<Role> getRole(String token);
Integer deleteAdmin(Integer id);
Integer updateAdminRole(AdminRole adminRole);
}

28
src/main/java/com/example/demo/service/RefundService.java

@ -0,0 +1,28 @@
package com.example.demo.service;
import com.example.demo.domain.vo.ConsumeUser;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.RefundUser;
import com.example.demo.domain.vo.Result;
import com.github.pagehelper.PageInfo;
/**
* @program: gold-java
* @ClassName RefundService
* @description:
* @author: Double
* @create: 202506-27 11:50
* @Version 1.0
**/
public interface RefundService {
PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize);
Gold statsGold();
PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser);
Result add(RefundUser refundUser);
}

19
src/main/java/com/example/demo/service/UserService.java

@ -0,0 +1,19 @@
package com.example.demo.service;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.GoldUser;
/**
* @program: gold-java
* @ClassName UserService
* @description:
* @author: Double
* @create: 202506-25 10:30
* @Version 1.0
**/
public interface UserService {
GoldUser selectUser(String jwcode);
GoldUser selectgold(String jwcode);
}

116
src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java

@ -1,15 +1,26 @@
package com.example.demo.serviceImpl;
import com.example.demo.domain.vo.Consume;
import com.example.demo.domain.entity.User;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.vo.ConsumeUser;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.GoldUser;
import com.example.demo.domain.vo.Result;
import com.example.demo.mapper.ConsumeMapper;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.ConsumeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
/**
* @program: gold-java
@ -26,19 +37,22 @@ public class ConsumeServiceImpl implements ConsumeService {
@Autowired
private ConsumeMapper consumeMapper;
@Autowired
private UserMapper userMapper;
//消耗明细
@Override
public PageInfo<Consume> selectAll(Integer pageNum, Integer pageSize) {
public PageInfo<ConsumeUser> selectAll(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<Consume> consumes = consumeMapper.selectAll();
return new PageInfo<>(consumes);
List<ConsumeUser> consumeUsers = consumeMapper.selectAll();
return new PageInfo<>(consumeUsers);
}
//消耗金币统计
@Override
public Gold statsGold() {
Gold gold = new Gold();
List<Consume> consumes = consumeMapper.selectAll();
List<ConsumeUser> consumeUsers = consumeMapper.selectAll();
// 初始化累加器
int permanentGoldSum = 0;
@ -46,18 +60,18 @@ public class ConsumeServiceImpl implements ConsumeService {
int taskGoldSum = 0;
// 遍历消费记录并累加金币
for (Consume consume : consumes) {
for (ConsumeUser consumeUser : consumeUsers) {
// 累加永久金币
if (consume.getPermanentGold() != null) {
permanentGoldSum += consume.getPermanentGold();
if (consumeUser.getPermanentGold() != null) {
permanentGoldSum += consumeUser.getPermanentGold();
}
// 累加免费金币
if (consume.getFreeGold() != null) {
freeGoldSum += consume.getFreeGold();
if (consumeUser.getFreeGold() != null) {
freeGoldSum += consumeUser.getFreeGold();
}
// 累加任务金币
if (consume.getTaskGold() != null) {
taskGoldSum += consume.getTaskGold();
if (consumeUser.getTaskGold() != null) {
taskGoldSum += consumeUser.getTaskGold();
}
}
@ -71,9 +85,81 @@ public class ConsumeServiceImpl implements ConsumeService {
//消耗明细筛选
@Override
public PageInfo<Consume> selectBy(Integer pageNum, Integer pageSize, Consume consume) {
public PageInfo<ConsumeUser> selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) {
PageHelper.startPage(pageNum, pageSize);
List<Consume> consumes = consumeMapper.selectBy(consume);
return new PageInfo<>(consumes);
List<ConsumeUser> consumeUsers = consumeMapper.selectBy(consumeUser);
return new PageInfo<>(consumeUsers);
}
//新增消耗
@Override
public Result add(ConsumeUser consumeUser) {
UserGoldRecord userGoldRecord = new UserGoldRecord();
// 获取当前时间戳部分
String timestampPart = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
// 获取自增计数器部分三位数不足补零
AtomicInteger atomicInteger = new AtomicInteger(0);
int count = atomicInteger.getAndUpdate(c -> (c >= 999) ? 0 : c + 1);
String counterPart = String.format("%03d", count);
// 生成随机数部分四位数
Random RANDOM = new Random();
int randomNum = RANDOM.nextInt(9000) + 1000;
//订单号生成
userGoldRecord.setOrderCode(timestampPart + counterPart + randomNum);
userGoldRecord.setJwcode(consumeUser.getJwcode());
userGoldRecord.setGoodsName(consumeUser.getGoodsName());
userGoldRecord.setSumGold(consumeUser.getSumGold());
userGoldRecord.setPermanentGold(consumeUser.getPermanentGold());
// 获取当前月份1-12
int currentMonth = LocalDate.now().getMonthValue();
GoldUser gold = userMapper.selectGold(consumeUser.getJwcode().toString());
if (consumeUser.getFreeGold() > (gold.getNowFreeDecember() + gold.getNowFreeJune()) || consumeUser.getPermanentGold() > gold.getNowPermanentGold()
|| consumeUser.getTaskGold() > gold.getNowTaskGold()) {
return Result.error("金币数量不足");
}
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
if (consumeUser.getFreeGold() > gold.getNowFreeJune()) {
userGoldRecord.setFreeJune(gold.getNowFreeJune());
userGoldRecord.setFreeDecember(consumeUser.getFreeGold() - gold.getNowFreeJune());
} else {
userGoldRecord.setFreeJune(consumeUser.getFreeGold());
userGoldRecord.setFreeDecember(0);
}
} else {
// 7-12月设置12月额度6月保持默认值
if (consumeUser.getFreeGold() > gold.getNowFreeDecember()) {
userGoldRecord.setFreeDecember(gold.getNowFreeDecember());
userGoldRecord.setFreeJune(consumeUser.getFreeGold() - gold.getNowFreeDecember());
} else {
userGoldRecord.setFreeDecember(consumeUser.getFreeGold());
userGoldRecord.setFreeJune(0);
}
}
userGoldRecord.setTaskGold(consumeUser.getTaskGold());
userGoldRecord.setRemark(consumeUser.getRemark());
userGoldRecord.setType((byte) 1);
userGoldRecord.setIsRefund((byte) 0);
userGoldRecord.setPayPlatform("金币系统");
userGoldRecord.setAdminId(consumeUser.getAdminId());
userGoldRecord.setCreateTime(new Date());
userGoldRecord.setPayTime(new Date());
consumeMapper.add(userGoldRecord);
User user = new User();
user.setJwcode(userGoldRecord.getJwcode());
user.setCurrentPermanentGold(gold.getNowPermanentGold() - consumeUser.getPermanentGold());
user.setCurrentFreeJune(gold.getNowFreeJune() - userGoldRecord.getFreeJune());
user.setCurrentFreeDecember(gold.getNowFreeDecember() - userGoldRecord.getFreeDecember());
user.setCurrentTaskGold(gold.getNowTaskGold() - consumeUser.getTaskGold());
user.setConsumeNum(gold.getConsumeNum() + 1);
user.setSumConsume(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold());
userMapper.updateGold(user);
return Result.success();
}
}

1
src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java

@ -41,6 +41,7 @@ public class GoldDetailServiceImpl implements GoldDetailService {
@Override
public PageInfo<User> getGold(Integer pageNum, Integer pageSize, User user) {
PageHelper.startPage(pageNum, pageSize);
List<User> list= goldDetailMapper.getGold(user);
return new PageInfo<>(list);
}

115
src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java

@ -0,0 +1,115 @@
package com.example.demo.serviceImpl;
import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.entity.AdminRole;
import com.example.demo.domain.entity.Role;
import com.example.demo.domain.entity.User;
import com.example.demo.domain.vo.Permission;
import com.example.demo.domain.vo.Result;
import com.example.demo.mapper.AdminMapper;
import com.example.demo.mapper.PermissionMapper;
import com.example.demo.service.PermissionService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
* @program: GOLD
* @ClassName PermissionServiceImpl
* @description:
* @author: huangqizhen
* @create: 202506-26 13:20
* @Version 1.0
**/
@Service
public class PermissionServiceImpl implements PermissionService {
@Autowired
private PermissionMapper permissionMapper;
@Autowired
private AdminMapper adminMapper;
@Override
public List<String> getposition(String token) {
return permissionMapper.getposition(token);
}
@Override
public List<String> getmarket(String token) {
return permissionMapper.getmarket(token);
}
@Override
public PageInfo<Permission> getpermission(Integer pageNum, Integer pageSize, Permission permission) {
PageHelper.startPage(pageNum, pageSize);
List<Permission> list= permissionMapper.getPermission(permission);
return new PageInfo<>(list);
}
@Override
@Transactional
public Integer addpermission(Admin admin) throws Exception {
if(!ObjectUtils.isEmpty(adminMapper.getAdmin(admin.getAccount()))){
throw new Exception("账号已存在");
}
if(ObjectUtils.isEmpty(admin.getAccount())){
throw new Exception("账号为空!");
}
if(ObjectUtils.isEmpty( admin.getMarket())){
throw new Exception("地区为空!");
}
if(ObjectUtils.isEmpty( admin.getPostiton())){
throw new Exception("职位为空!");
}
if (ObjectUtils.isEmpty( admin.getRoleId())){
throw new Exception("权限类别为空!");
}
if(ObjectUtils.isEmpty( admin.getAdminName())){
throw new Exception("用户名为空!");
}
if(ObjectUtils.isEmpty( admin.getMachineId())){
throw new Exception("机器编号为空!");
}
if (admin.getMachineId().contains(",")) {
throw new Exception("机器编号格式错误");
}
else {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
admin.setPassword(passwordEncoder.encode(("123456")));
permissionMapper.addPermission(admin);
AdminRole adminRole = new AdminRole();
adminRole.setAdminId(admin.getId());
adminRole.setRoleId(admin.getRoleId());
return permissionMapper.addadminRole(adminRole);
}
}
@Override
public List<Role> getRole(String token) {
return permissionMapper.getRole(token);
}
@Override
@Transactional
public Integer deleteAdmin(Integer id) {
if (id == null){
return -1;
}
permissionMapper.deleteAdminRole(id);
return permissionMapper.deleteAdmin(id);
}
@Override
public Integer updateAdminRole(AdminRole adminRole) {
return permissionMapper.updateAdminRole(adminRole);
}
}

88
src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java

@ -0,0 +1,88 @@
package com.example.demo.serviceImpl;
import com.example.demo.domain.vo.ConsumeUser;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.RefundUser;
import com.example.demo.domain.vo.Result;
import com.example.demo.mapper.ConsumeMapper;
import com.example.demo.mapper.RefundMapper;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.RefundService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @program: gold-java
* @ClassName RefundServiceImpl
* @description:
* @author: Double
* @create: 202506-27 11:50
* @Version 1.0
**/
@Service
public class RefundServiceImpl implements RefundService {
@Autowired
private RefundMapper refundMapper;
@Autowired
private UserMapper userMapper;
@Override
public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectAll();
return new PageInfo<>(refundUsers);
}
@Override
public Gold statsGold() {
Gold gold = new Gold();
List<RefundUser> refundUsers = refundMapper.selectAll();
// 初始化累加器
int permanentGoldSum = 0;
int freeGoldSum = 0;
int taskGoldSum = 0;
// 遍历推开记录并累加金币
for (RefundUser refundUser : refundUsers) {
// 累加永久金币
if (refundUser.getPermanentGold() != null) {
permanentGoldSum += refundUser.getPermanentGold();
}
// 累加免费金币
if (refundUser.getFreeGold() != null) {
freeGoldSum += refundUser.getFreeGold();
}
// 累加任务金币
if (refundUser.getTaskGold() != null) {
taskGoldSum += refundUser.getTaskGold();
}
}
// 将累加结果设置到Gold对象
gold.setPermanentGolds(permanentGoldSum);
gold.setFreeGolds(freeGoldSum);
gold.setTaskGolds(taskGoldSum);
return gold;
}
@Override
public PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser) {
PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectBy(refundUser);
return new PageInfo<>(refundUsers);
}
@Override
public Result add(RefundUser refundUser) {
return null;
}
}

38
src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java

@ -0,0 +1,38 @@
package com.example.demo.serviceImpl;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.GoldUser;
import com.example.demo.mapper.ConsumeMapper;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @program: gold-java
* @ClassName UserServiceImpl
* @description:
* @author: Double
* @create: 202506-25 10:32
* @Version 1.0
**/
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public GoldUser selectUser(String jwcode) {
GoldUser user = userMapper.selectUser(jwcode);
return user;
}
@Override
public GoldUser selectgold(String jwcode) {
GoldUser gold = userMapper.selectGold(jwcode);
return gold;
}
}

9
src/main/resources/mapper/AdminMapper.xml

@ -0,0 +1,9 @@
<?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.example.demo.mapper.AdminMapper">
<select id="getAdmin" resultType="com.example.demo.domain.entity.Admin">
select * from admin
where account=#{account}
</select>
</mapper>

52
src/main/resources/mapper/ConsumeMapper.xml

@ -3,7 +3,7 @@
<mapper namespace="com.example.demo.mapper.ConsumeMapper">
<!-- 查询所有消费记录 -->
<select id="selectAll" resultType="com.example.demo.domain.vo.Consume">
<select id="selectAll" resultType="com.example.demo.domain.vo.ConsumeUser">
SELECT u.name AS name,
u.jwcode AS jwcode,
u.market AS market,
@ -15,7 +15,7 @@
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.pay_time AS payTime
ugr.create_time AS createTime
FROM user u
JOIN
user_gold_record ugr ON u.jwcode = ugr.jwcode
@ -25,7 +25,7 @@
</select>
<!-- 查询筛选后消费记录 -->
<select id="selectBy" resultType="com.example.demo.domain.vo.Consume">
<select id="selectBy" resultType="com.example.demo.domain.vo.ConsumeUser">
SELECT u.name AS name,
u.jwcode AS jwcode,
u.market AS market,
@ -37,7 +37,7 @@
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.pay_time AS payTime
ugr.create_time AS createTime
FROM user u
JOIN
user_gold_record ugr ON u.jwcode = ugr.jwcode
@ -45,6 +45,9 @@
admin a ON ugr.admin_id = a.id
<where>
ugr.type = 1
<if test="jwcode != null and jwcode != ''">
AND ugr.jwcode = #{jwcode}
</if>
<if test="goodsName != null and goodsName != ''">
AND ugr.goods_name = #{goodsName}
</if>
@ -55,8 +58,47 @@
AND ugr.pay_platform = #{payPlatform}
</if>
<if test="startTime != null and endTime != null">
AND ugr.pay_time BETWEEN #{startTime} AND #{endTime}
AND ugr.create_time BETWEEN #{startTime} AND #{endTime}
</if>
</where>
</select>
<insert id="add" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user_gold_record
<trim prefix="(" suffix=")" suffixOverrides=",">
order_code,
jwcode,
sum_gold,
permanent_gold,
free_june,
free_december,
task_gold,
goods_name,
remark,
type,
pay_platform,
is_refund,
admin_id,
create_time,
pay_time
</trim>
VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{orderCode},
#{jwcode},
#{sumGold},
#{permanentGold},
#{freeJune},
#{freeDecember},
#{taskGold},
#{goodsName},
#{remark},
#{type},
#{payPlatform},
#{isRefund},
#{adminId},
#{createTime},
#{payTime}
</trim>
</insert>
</mapper>

73
src/main/resources/mapper/PermissionMapper.xml

@ -0,0 +1,73 @@
<?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.example.demo.mapper.PermissionMapper">
<insert id="addPermission" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into admin(admin_name,machine_id,account,password,market,postiton,remark,admin_status)
values(#{adminName},#{machineId},#{account},#{password},#{market},#{postiton},#{remark},1)
</insert>
<insert id="addadminRole">
insert into admin_role(admin_id,role_id)
values(#{adminId},#{roleId})
</insert>
<update id="updatePermission">
update admin
<set>
<if test="name!=null">
admin_name=#{name},
</if>
<if test="market!=null">
market=#{market},
</if>
<if test="postiton!=null">
postiton=#{postiton},
</if>
<if test="role!=null">
roleId=#{role},
</if>
</set>
where id= #{id}
</update>
<update id="updateAdminRole">
update admin_role
<set>
<if test="roleId!=null">
role_id= #{roleId},
</if>
</set>
where admin_id= #{adminId}
</update>
<delete id="deleteAdmin">
delete from admin where id=#{id}
</delete>
<delete id="deleteAdminRole">
delete from admin_role where admin_id= #{id}
</delete>
<select id="getposition" resultType="java.lang.String">
select distinct postiton from admin
</select>
<select id="getmarket" resultType="java.lang.String">
select distinct market from admin
</select>
<select id="getPermission" resultType="com.example.demo.domain.vo.Permission">
select admin.id,admin.admin_name,admin.account,admin.market,admin.postiton,admin.remark,admin.admin_status,role.role_name
from admin
left join admin_role on admin.id=admin_role.admin_id
left join role on admin_role.role_id=role.id
<where>
<if test="account!=null and account.length>0">
admin.account=#{account}
</if>
<if test="market!=null and market.length>0">
admin.market=#{market}
</if>
<if test="postiton!=null and postiton.length>0">
admin.postiton=#{postiton}
</if>
</where>
</select>
<select id="getRole" resultType="com.example.demo.domain.entity.Role">
select * from role
</select>
</mapper>

106
src/main/resources/mapper/RefundMapper.xml

@ -0,0 +1,106 @@
<?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.example.demo.mapper.RefundMapper">
<!-- 查询所有退款记录 -->
<select id="selectAll" resultType="com.example.demo.domain.vo.RefundUser">
SELECT u.name AS name,
u.jwcode AS jwcode,
u.market AS market,
ugr.goods_name AS goodsName,
ugr.refund_model AS refundModel,
ugr.refund_type AS refundType,
ugr.sum_gold AS sumGold,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.create_time AS createTime
FROM user u
JOIN
user_gold_record ugr ON u.jwcode = ugr.jwcode
JOIN
admin a ON ugr.admin_id = a.id
WHERE ugr.type = 2
</select>
<!-- 查询筛选后消费记录 -->
<select id="selectBy" resultType="com.example.demo.domain.vo.RefundUser">
SELECT u.name AS name,
u.jwcode AS jwcode,
u.market AS market,
ugr.goods_name AS goodsName,
ugr.refund_model AS refundModel,
ugr.refund_type AS refundType,
ugr.sum_gold AS sumGold,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.create_time AS createTime
FROM user u
JOIN
user_gold_record ugr ON u.jwcode = ugr.jwcode
JOIN
admin a ON ugr.admin_id = a.id
<where>
ugr.type = 2
<if test="jwcode != null and jwcode != ''">
AND ugr.jwcode = #{jwcode}
</if>
<if test="goodsName != null and goodsName != ''">
AND ugr.goods_name = #{goodsName}
</if>
<if test="market != null and market != ''">
AND u.market = #{market}
</if>
<if test="refundModel != null and refundModel != ''">
AND ugr.refund_model = #{refundModel}
</if>
<if test="startTime != null and endTime != null">
AND ugr.create_time BETWEEN #{startTime} AND #{endTime}
</if>
</where>
</select>
<insert id="add" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user_gold_record
<trim prefix="(" suffix=")" suffixOverrides=",">
order_code,
jwcode,
sum_gold,
permanent_gold,
free_june,
free_december,
task_gold,
goods_name,
remark,
type,
pay_platform,
is_refund,
admin_id,
create_time,
pay_time
</trim>
VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{orderCode},
#{jwcode},
#{sumGold},
#{permanentGold},
#{freeJune},
#{freeDecember},
#{taskGold},
#{goodsName},
#{remark},
#{type},
#{payPlatform},
#{isRefund},
#{adminId},
#{createTime},
#{payTime}
</trim>
</insert>
</mapper>

52
src/main/resources/mapper/UserMapper.xml

@ -0,0 +1,52 @@
<?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.example.demo.mapper.UserMapper">
<!-- 根据精网号查询用户信息 -->
<select id="selectUser" resultType="com.example.demo.domain.vo.GoldUser">
SELECT
name AS "name",
jwcode AS "jwcode",
market AS "market",
(COALESCE(current_permanent_gold, 0) + COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0) + COALESCE(current_task_gold, 0)) AS "nowSumGold",
current_permanent_gold AS "nowPermanentGold",
(COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "nowFreeGold",
current_task_gold AS "nowTaskGold",
(COALESCE(sum_permanent_gold, 0) + COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0) + COALESCE(sum_task_gold, 0)) AS "historySumGold",
sum_permanent_gold AS "historyPermanentGold",
(COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0)) AS "historyFreeGold",
sum_task_gold AS "historyTaskGold",
recharge_num AS "rechargeNum",
consume_num AS "consumeNum",
first_recharge AS "firstRecharge"
FROM user
WHERE jwcode = #{jwcode}
</select>
<!-- 根据精网号查询金币余额 -->
<select id="selectGold" resultType="com.example.demo.domain.vo.GoldUser">
SELECT
current_permanent_gold AS "NowPermanentGold",
(COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "NowFreeGold",
current_free_june AS "NowFreeJune",
current_free_december AS "NowFreeDecember",
current_task_gold AS "NowTaskGold",
consume_num AS "consumeNum"
FROM user
WHERE jwcode = #{jwcode}
</select>
<!-- 根据精网号更新数据 -->
<update id="updateGold" parameterType="com.example.demo.domain.entity.User">
UPDATE user
SET
current_permanent_gold = #{currentPermanentGold},
current_free_june = #{currentFreeJune},
current_free_december = #{currentFreeDecember},
current_task_gold = #{currentTaskGold},
consume_num = #{consumeNum},
sum_consume = sum_consume + #{sumConsume},
update_time = NOW()
WHERE jwcode = #{jwcode}
</update>
</mapper>
Loading…
Cancel
Save