添加vip开通明细
This commit is contained in:
@@ -8,6 +8,7 @@ import lombok.Data;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("user_vip")
|
@TableName("user_vip")
|
||||||
@@ -48,5 +49,7 @@ public class UserVip implements Serializable {
|
|||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private MyUserEntity user;
|
private MyUserEntity user;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<UserVipLog> userVipLogs;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,13 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("user_vip")
|
@TableName("user_vip_log")
|
||||||
public class UserVipLog implements Serializable {
|
public class UserVipLog implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@@ -20,35 +19,23 @@ public class UserVipLog implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@TableId
|
@TableId
|
||||||
private int id;
|
private int id;
|
||||||
/**
|
|
||||||
* 管理员ID
|
|
||||||
*/
|
|
||||||
private Integer adminId;
|
|
||||||
/**
|
|
||||||
* 会员 ID
|
|
||||||
*/
|
|
||||||
private Integer userId;
|
private Integer userId;
|
||||||
/**
|
//会员表id
|
||||||
* 1超级2医学3国学
|
private Integer userVipId;
|
||||||
*/
|
//充值渠道order master等
|
||||||
private Integer type;
|
private String type;
|
||||||
/**
|
private String orderSn;
|
||||||
* 天数
|
private Integer adminId;
|
||||||
*/
|
private Date startTime;
|
||||||
private Integer days;
|
private Date endTime;
|
||||||
|
private BigDecimal fee;
|
||||||
|
private BigDecimal dayAmount;
|
||||||
private BigDecimal point;
|
private String payType;
|
||||||
|
|
||||||
|
|
||||||
private BigDecimal jf;
|
private BigDecimal jf;
|
||||||
|
private String remark;
|
||||||
|
//预留字段
|
||||||
|
private String state;
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
/**
|
|
||||||
* 删除标识
|
|
||||||
*/
|
|
||||||
@TableLogic
|
@TableLogic
|
||||||
private Integer delFlag;
|
private Integer delFlag;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.peanut.modules.common.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.peanut.modules.common.entity.UserVip;
|
||||||
|
import com.peanut.modules.common.entity.UserVipLog;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface UserVipLogService extends IService<UserVipLog> {
|
||||||
|
|
||||||
|
boolean addUserVipLog(UserVipLog userVipLog);
|
||||||
|
|
||||||
|
boolean addUserVipLog(Map<String, Object> params, UserVip userVip);
|
||||||
|
|
||||||
|
BigDecimal countDayAmount(UserVipLog userVipLog);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.peanut.modules.common.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.peanut.modules.common.dao.UserVipLogDao;
|
||||||
|
import com.peanut.modules.common.entity.UserVip;
|
||||||
|
import com.peanut.modules.common.entity.UserVipLog;
|
||||||
|
import com.peanut.modules.common.service.UserVipLogService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service("commonUserVipLogService")
|
||||||
|
public class UserVipLogServiceImpl extends ServiceImpl<UserVipLogDao, UserVipLog> implements UserVipLogService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addUserVipLog(UserVipLog userVipLog) {
|
||||||
|
userVipLog.setDayAmount(countDayAmount(userVipLog));
|
||||||
|
return this.save(userVipLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addUserVipLog(Map<String, Object> params, UserVip userVip) {
|
||||||
|
UserVipLog userVipLog = new UserVipLog();
|
||||||
|
userVipLog.setUserId(userVip.getUserId());
|
||||||
|
userVipLog.setUserVipId(userVip.getId());
|
||||||
|
userVipLog.setType(params.get("userVipType").toString());
|
||||||
|
userVipLog.setAdminId(Integer.parseInt(params.get("adminId").toString()));
|
||||||
|
userVipLog.setStartTime(userVip.getStartTime());
|
||||||
|
userVipLog.setEndTime(userVip.getEndTime());
|
||||||
|
userVipLog.setFee(new BigDecimal(params.get("fee").toString()));
|
||||||
|
userVipLog.setJf(new BigDecimal(StringUtils.isEmpty(params.get("jf").toString()) ? "0" : params.get("jf").toString()));
|
||||||
|
userVipLog.setPayType(params.get("payType").toString());
|
||||||
|
userVipLog.setRemark(params.get("remark").toString());
|
||||||
|
userVipLog.setDayAmount(countDayAmount(userVipLog));
|
||||||
|
return this.save(userVipLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigDecimal countDayAmount(UserVipLog userVipLog) {
|
||||||
|
if ("海外支付".equals(userVipLog.getPayType())) {
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}else {
|
||||||
|
BigDecimal days = new BigDecimal((userVipLog.getEndTime().getTime()-userVipLog.getStartTime().getTime())/24/60/60/1000);
|
||||||
|
return userVipLog.getFee().divide(days, 2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +1,14 @@
|
|||||||
package com.peanut.modules.master.controller;
|
package com.peanut.modules.master.controller;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import com.peanut.common.utils.DateUtils;
|
import com.peanut.common.utils.DateUtils;
|
||||||
import com.peanut.common.utils.R;
|
import com.peanut.common.utils.R;
|
||||||
import com.peanut.modules.common.entity.MyUserEntity;
|
import com.peanut.modules.book.service.TransactionDetailsService;
|
||||||
import com.peanut.modules.common.entity.UserVip;
|
import com.peanut.modules.common.entity.*;
|
||||||
|
import com.peanut.modules.common.service.JfTransactionDetailsService;
|
||||||
|
import com.peanut.modules.common.service.UserVipLogService;
|
||||||
import com.peanut.modules.master.service.MyUserService;
|
import com.peanut.modules.master.service.MyUserService;
|
||||||
import com.peanut.modules.master.service.UserVipService;
|
import com.peanut.modules.master.service.UserVipService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -27,9 +30,237 @@ import java.util.*;
|
|||||||
public class UserVipController {
|
public class UserVipController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserVipService vipService;
|
private UserVipService userVipService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MyUserService userService;
|
private MyUserService userService;
|
||||||
|
@Autowired
|
||||||
|
private UserVipLogService userVipLogService;
|
||||||
|
@Autowired
|
||||||
|
private TransactionDetailsService transactionDetailsService;
|
||||||
|
@Autowired
|
||||||
|
private JfTransactionDetailsService jfTransactionDetailsService;
|
||||||
|
|
||||||
|
@RequestMapping("/getUserVipList")
|
||||||
|
public R getUserVipList(@RequestBody Map<String, Object> params) {
|
||||||
|
MPJLambdaWrapper<MyUserEntity> wrapper = new MPJLambdaWrapper();
|
||||||
|
wrapper.select(MyUserEntity::getId,MyUserEntity::getName,MyUserEntity::getTel,MyUserEntity::getEmail);
|
||||||
|
wrapper.rightJoin(UserVip.class, UserVip::getUserId, MyUserEntity::getId);
|
||||||
|
if (params.containsKey("userName")&& StringUtils.isNotEmpty(params.get("userName").toString())) {
|
||||||
|
wrapper.like(MyUserEntity::getName,params.get("userName"));
|
||||||
|
}
|
||||||
|
if (params.containsKey("tel")&& StringUtils.isNotEmpty(params.get("tel").toString())) {
|
||||||
|
wrapper.like(MyUserEntity::getTel,params.get("tel"));
|
||||||
|
}
|
||||||
|
if (params.containsKey("email")&& StringUtils.isNotEmpty(params.get("email").toString())) {
|
||||||
|
wrapper.like(MyUserEntity::getEmail,params.get("email"));
|
||||||
|
}
|
||||||
|
if (params.containsKey("type")&& StringUtils.isNotEmpty(params.get("type").toString())) {
|
||||||
|
wrapper.eq(UserVip::getType,params.get("type"));
|
||||||
|
}
|
||||||
|
if (params.containsKey("state")&& StringUtils.isNotEmpty(params.get("state").toString())) {
|
||||||
|
wrapper.eq(UserVip::getState,params.get("state"));
|
||||||
|
}
|
||||||
|
wrapper.groupBy(UserVip::getUserId);
|
||||||
|
Page<MyUserEntity> page = userService.page(new Page<>(
|
||||||
|
Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper);
|
||||||
|
List<MyUserEntity> users = page.getRecords();
|
||||||
|
for (MyUserEntity user : users) {
|
||||||
|
List<UserVip> userVips = userVipService.list(new LambdaQueryWrapper<UserVip>()
|
||||||
|
.eq(UserVip::getUserId, user.getId())
|
||||||
|
.eq(StringUtils.isNotEmpty(params.get("state").toString()),UserVip::getState, params.get("state").toString()));
|
||||||
|
user.setUserVips(userVips);
|
||||||
|
for(UserVip userVip : userVips){
|
||||||
|
userVip.setUserVipLogs(userVipLogService.list(new LambdaQueryWrapper<UserVipLog>()
|
||||||
|
.eq(UserVipLog::getUserVipId,userVip.getId())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.ok().put("result", page);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/addUserVipByAdmin")
|
||||||
|
@Transactional
|
||||||
|
public R addUserVipByAdmin(@RequestBody Map<String, Object> params) {
|
||||||
|
params.put("userVipType","master");
|
||||||
|
Date startTime = new Date();
|
||||||
|
Date endTime = DateUtils.addDateYears(startTime, Integer.parseInt(params.get("year").toString()));
|
||||||
|
BigDecimal fee = new BigDecimal(params.get("fee").toString());
|
||||||
|
BigDecimal jf = new BigDecimal(StringUtils.isEmpty(params.get("jf").toString()) ? "0" : params.get("jf").toString());
|
||||||
|
if ("天医币".equals(params.get("payType"))){
|
||||||
|
MyUserEntity user = userService.getById(params.get("userId").toString());
|
||||||
|
if(user.getPeanutCoin().compareTo(fee)>=0){
|
||||||
|
user.setPeanutCoin(user.getPeanutCoin().subtract(fee));
|
||||||
|
TransactionDetailsEntity transactionDetailsEntity = new TransactionDetailsEntity();
|
||||||
|
transactionDetailsEntity.setRemark("后台充扣操作");
|
||||||
|
transactionDetailsEntity.setUserId(user.getId());
|
||||||
|
transactionDetailsEntity.setUserName(user.getNickname());
|
||||||
|
transactionDetailsEntity.setChangeAmount(fee.negate());
|
||||||
|
transactionDetailsEntity.setUserBalance(user.getPeanutCoin());
|
||||||
|
transactionDetailsEntity.setTel(user.getTel());
|
||||||
|
transactionDetailsEntity.setOrderType("扣费");
|
||||||
|
transactionDetailsEntity.setNote("购买VIP");
|
||||||
|
transactionDetailsService.save(transactionDetailsEntity);
|
||||||
|
}else {
|
||||||
|
return R.error("天医币不足");
|
||||||
|
}
|
||||||
|
if (jf.compareTo(BigDecimal.ZERO)>0){
|
||||||
|
if(user.getJf().compareTo(jf)>=0){
|
||||||
|
user.setJf(user.getJf().subtract(jf));
|
||||||
|
JfTransactionDetails jfDetail = new JfTransactionDetails();
|
||||||
|
jfDetail.setUserId(user.getId());
|
||||||
|
jfDetail.setActType(1);
|
||||||
|
jfDetail.setChangeAmount(jf.negate());
|
||||||
|
jfDetail.setUserBalance(user.getJf());
|
||||||
|
jfDetail.setRemark("购买VIP扣除");
|
||||||
|
jfTransactionDetailsService.save(jfDetail);
|
||||||
|
}else {
|
||||||
|
return R.error("积分不足");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userService.updateById(user);
|
||||||
|
}
|
||||||
|
List<Integer> typeList = new ArrayList<>();
|
||||||
|
int count = 1;
|
||||||
|
if ("11".equals(params.get("type").toString())) {//超v
|
||||||
|
count = 6;
|
||||||
|
for (int i=4;i<10;i++){
|
||||||
|
typeList.add(i);
|
||||||
|
}
|
||||||
|
}else if ("12".equals(params.get("type").toString())) {//简易超v
|
||||||
|
count = 5;
|
||||||
|
for (int i=4;i<10;i++){
|
||||||
|
if (i==7){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
typeList.add(i);
|
||||||
|
}
|
||||||
|
}else if ("1".equals(params.get("type").toString())) {//医学超级
|
||||||
|
count = 4;
|
||||||
|
for (int i=4;i<8;i++){
|
||||||
|
if (i==7){
|
||||||
|
i = 9;
|
||||||
|
}
|
||||||
|
typeList.add(i);
|
||||||
|
}
|
||||||
|
}else if ("2".equals(params.get("type").toString())) {//国心超级
|
||||||
|
count = 2;
|
||||||
|
for (int i=7;i<9;i++){
|
||||||
|
typeList.add(i);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
typeList.add(Integer.parseInt(params.get("type").toString()));
|
||||||
|
}
|
||||||
|
for (Integer t : typeList) {
|
||||||
|
UserVip userVip = new UserVip();
|
||||||
|
userVip.setUserId(Integer.parseInt(params.get("userId").toString()));
|
||||||
|
userVip.setStartTime(startTime);
|
||||||
|
userVip.setEndTime(endTime);
|
||||||
|
userVip.setType(t);
|
||||||
|
userVipService.save(userVip);
|
||||||
|
params.put("fee",fee.divide(new BigDecimal(count),2, BigDecimal.ROUND_HALF_UP));
|
||||||
|
params.put("jf",jf.divide(new BigDecimal(count),2, BigDecimal.ROUND_HALF_UP));
|
||||||
|
userVipLogService.addUserVipLog(params, userVip);
|
||||||
|
}
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/getUserVipInfoByUserId")
|
||||||
|
public R getUserVipInfoByUserId(@RequestBody Map<String, Object> params) {
|
||||||
|
List<UserVip> userVips = userVipService.list(new LambdaQueryWrapper<UserVip>()
|
||||||
|
.eq(UserVip::getUserId,params.get("userId").toString())
|
||||||
|
.eq("0".equals(params.get("state").toString()),UserVip::getState,params.get("state").toString()));
|
||||||
|
for (UserVip userVip : userVips) {
|
||||||
|
userVip.setUserVipLogs(userVipLogService.list(new LambdaQueryWrapper<UserVipLog>()
|
||||||
|
.eq(UserVipLog::getUserVipId,userVip.getId())));
|
||||||
|
}
|
||||||
|
return R.ok().put("userVips", userVips);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/addUserVipLog")
|
||||||
|
@Transactional
|
||||||
|
public R addUserVipLog(@RequestBody Map<String, Object> params) {
|
||||||
|
List<UserVip> userVips = new ArrayList<>();
|
||||||
|
String vipType = params.get("vipType").toString();
|
||||||
|
String userId = params.get("userId").toString();
|
||||||
|
if ("11".equals(vipType)){//超级所有
|
||||||
|
userVips = userVipService.list(new LambdaQueryWrapper<UserVip>()
|
||||||
|
.eq(UserVip::getUserId,userId)
|
||||||
|
.in(UserVip::getType,4,5,6,7,8,9));
|
||||||
|
}
|
||||||
|
if ("12".equals(vipType)){//简易超v
|
||||||
|
userVips = userVipService.list(new LambdaQueryWrapper<UserVip>()
|
||||||
|
.eq(UserVip::getUserId,userId)
|
||||||
|
.in(UserVip::getType,4,5,6,8,9));
|
||||||
|
}
|
||||||
|
if ("1".equals(vipType)){//简易超v
|
||||||
|
userVips = userVipService.list(new LambdaQueryWrapper<UserVip>()
|
||||||
|
.eq(UserVip::getUserId,userId)
|
||||||
|
.in(UserVip::getType,4,5,6,9));
|
||||||
|
}
|
||||||
|
if ("2".equals(vipType)){//国心超级
|
||||||
|
userVips = userVipService.list(new LambdaQueryWrapper<UserVip>()
|
||||||
|
.eq(UserVip::getUserId,userId)
|
||||||
|
.in(UserVip::getType,7,8));
|
||||||
|
}
|
||||||
|
if (userVips.size()>0){
|
||||||
|
for (UserVip userVip : userVips) {
|
||||||
|
UserVipLog userVipLog = new UserVipLog();
|
||||||
|
userVipLog.setUserId(userVip.getUserId());
|
||||||
|
userVipLog.setUserVipId(userVip.getId());
|
||||||
|
userVipLog.setType(params.get("type").toString());
|
||||||
|
if (params.containsKey("orderSn")){
|
||||||
|
userVipLog.setOrderSn(params.get("orderSn").toString());
|
||||||
|
}
|
||||||
|
userVipLog.setAdminId(Integer.parseInt(params.get("adminId").toString()));
|
||||||
|
userVipLog.setStartTime(DateUtils.stringToDate(params.get("startTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
userVipLog.setEndTime(DateUtils.stringToDate(params.get("endTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
BigDecimal fee = new BigDecimal(params.get("fee").toString());
|
||||||
|
BigDecimal jf = new BigDecimal(params.get("jf").toString());
|
||||||
|
userVipLog.setFee(fee.divide(new BigDecimal(userVips.size()),2, BigDecimal.ROUND_HALF_UP));
|
||||||
|
userVipLog.setJf(jf.divide(new BigDecimal(userVips.size()),2, BigDecimal.ROUND_HALF_UP));
|
||||||
|
userVipLog.setPayType(params.get("payType").toString());
|
||||||
|
if (params.containsKey("remark")){
|
||||||
|
userVipLog.setRemark(params.get("remark").toString());
|
||||||
|
}
|
||||||
|
userVipLogService.addUserVipLog(userVipLog);
|
||||||
|
}
|
||||||
|
return R.ok();
|
||||||
|
}else {
|
||||||
|
UserVipLog userVipLog = new UserVipLog();
|
||||||
|
userVipLog.setUserId(Integer.parseInt(userId));
|
||||||
|
userVipLog.setUserVipId(Integer.parseInt(params.get("userVipId").toString()));
|
||||||
|
userVipLog.setType(params.get("type").toString());
|
||||||
|
if (params.containsKey("orderSn")){
|
||||||
|
userVipLog.setOrderSn(params.get("orderSn").toString());
|
||||||
|
}
|
||||||
|
userVipLog.setAdminId(Integer.parseInt(params.get("adminId").toString()));
|
||||||
|
userVipLog.setStartTime(DateUtils.stringToDate(params.get("startTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
userVipLog.setEndTime(DateUtils.stringToDate(params.get("endTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
userVipLog.setFee(new BigDecimal(params.get("fee").toString()));
|
||||||
|
userVipLog.setJf(new BigDecimal(params.get("jf").toString()));
|
||||||
|
userVipLog.setPayType(params.get("payType").toString());
|
||||||
|
if (params.containsKey("remark")){
|
||||||
|
userVipLog.setRemark(params.get("remark").toString());
|
||||||
|
}
|
||||||
|
userVipLogService.addUserVipLog(userVipLog);
|
||||||
|
}
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/delUserVipLogById")
|
||||||
|
public R delUserVipLogById(@RequestBody UserVipLog userVipLog) {
|
||||||
|
userVipLogService.removeById(userVipLog);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/updateUserVipLogById")
|
||||||
|
public R updateUserVipLogById(@RequestBody UserVipLog userVipLog) {
|
||||||
|
userVipLog.setDayAmount(userVipLogService.countDayAmount(userVipLog));
|
||||||
|
if (userVipLogService.updateById(userVipLog)){
|
||||||
|
return R.ok();
|
||||||
|
}else {
|
||||||
|
return R.error("数据异常添加失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping("/listByPage")
|
@RequestMapping("/listByPage")
|
||||||
public R listByPage(@RequestBody Map<String, Object> params) {
|
public R listByPage(@RequestBody Map<String, Object> params) {
|
||||||
@@ -53,7 +284,7 @@ public class UserVipController {
|
|||||||
}
|
}
|
||||||
wrapper.orderByAsc(UserVip::getState);
|
wrapper.orderByAsc(UserVip::getState);
|
||||||
wrapper.orderByAsc(UserVip::getEndTime);
|
wrapper.orderByAsc(UserVip::getEndTime);
|
||||||
Page<UserVip> page = vipService.page(new Page<>(
|
Page<UserVip> page = userVipService.page(new Page<>(
|
||||||
Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper);
|
Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper);
|
||||||
List<UserVip> userVips = page.getRecords();
|
List<UserVip> userVips = page.getRecords();
|
||||||
if (userVips.size() > 0){
|
if (userVips.size() > 0){
|
||||||
@@ -74,7 +305,7 @@ public class UserVipController {
|
|||||||
userVip.setUserId(Integer.parseInt(params.get("userId").toString()));
|
userVip.setUserId(Integer.parseInt(params.get("userId").toString()));
|
||||||
userVip.setType(Integer.parseInt(params.get("type").toString()));
|
userVip.setType(Integer.parseInt(params.get("type").toString()));
|
||||||
userVip.setEndTime(DateUtils.addDateMonths(new Date(),Integer.parseInt(params.get("month").toString())));
|
userVip.setEndTime(DateUtils.addDateMonths(new Date(),Integer.parseInt(params.get("month").toString())));
|
||||||
vipService.save(userVip);
|
userVipService.save(userVip);
|
||||||
user.setPeanutCoin(user.getPeanutCoin().subtract(new BigDecimal(params.get("point").toString())));
|
user.setPeanutCoin(user.getPeanutCoin().subtract(new BigDecimal(params.get("point").toString())));
|
||||||
user.setJf(user.getJf().subtract(new BigDecimal(params.get("jf").toString())));
|
user.setJf(user.getJf().subtract(new BigDecimal(params.get("jf").toString())));
|
||||||
user.setVip(params.get("type").toString());
|
user.setVip(params.get("type").toString());
|
||||||
@@ -91,13 +322,13 @@ public class UserVipController {
|
|||||||
//延长过期时间,month为延长月数
|
//延长过期时间,month为延长月数
|
||||||
@RequestMapping("/extendUserVip")
|
@RequestMapping("/extendUserVip")
|
||||||
public R extendUserVip(@RequestBody Map<String, Object> params) {
|
public R extendUserVip(@RequestBody Map<String, Object> params) {
|
||||||
UserVip userVip = vipService.getById(params.get("userVipId").toString());
|
UserVip userVip = userVipService.getById(params.get("userVipId").toString());
|
||||||
MyUserEntity user = userService.getById(userVip.getUserId());
|
MyUserEntity user = userService.getById(userVip.getUserId());
|
||||||
if (user.getPeanutCoin().compareTo(new BigDecimal(params.get("point").toString()))>=0){
|
if (user.getPeanutCoin().compareTo(new BigDecimal(params.get("point").toString()))>=0){
|
||||||
if (user.getPeanutCoin().compareTo(new BigDecimal(params.get("jf").toString()))>=0){
|
if (user.getPeanutCoin().compareTo(new BigDecimal(params.get("jf").toString()))>=0){
|
||||||
Date newEndTime = DateUtils.addDateMonths(userVip.getEndTime(),Integer.parseInt(params.get("month").toString()));
|
Date newEndTime = DateUtils.addDateMonths(userVip.getEndTime(),Integer.parseInt(params.get("month").toString()));
|
||||||
userVip.setEndTime(newEndTime);
|
userVip.setEndTime(newEndTime);
|
||||||
vipService.saveOrUpdate(userVip);
|
userVipService.saveOrUpdate(userVip);
|
||||||
user.setPeanutCoin(user.getPeanutCoin().subtract(new BigDecimal(params.get("point").toString())));
|
user.setPeanutCoin(user.getPeanutCoin().subtract(new BigDecimal(params.get("point").toString())));
|
||||||
user.setJf(user.getJf().subtract(new BigDecimal(params.get("jf").toString())));
|
user.setJf(user.getJf().subtract(new BigDecimal(params.get("jf").toString())));
|
||||||
userService.saveOrUpdate(user);
|
userService.saveOrUpdate(user);
|
||||||
|
|||||||
Reference in New Issue
Block a user