This commit is contained in:
77
2024-03-25 20:52:18 +08:00
parent 8a89c53258
commit b8085e0416
16 changed files with 210 additions and 77 deletions

View File

@@ -8,6 +8,7 @@ import com.ruoyi.xq.domain.AccountChangeLog;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.dto.admin.log.AccountChangeLogAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateIncomeCoinReq;
import com.ruoyi.xq.dto.app.account.AccountDetailVo;
import com.ruoyi.xq.enums.user.AccountChangeCodeEnum;
import java.math.BigDecimal;
@@ -27,4 +28,6 @@ public interface AccountChangeLogService extends IService<AccountChangeLog> {
void saveLogAdminOfSystem(User user, AccountChangeCodeEnum accountChangeCodeEnum, UpdateIncomeCoinReq bo, LoginUser loginUser);
Page<AccountChangeLogAdminVo> pageAdmin(PageQuery pageQuery, AccountChangeLogAdminVo bo);
Page<AccountDetailVo> pageApp(PageQuery pageQuery, Long userId);
}

View File

@@ -8,6 +8,7 @@ import com.ruoyi.xq.domain.UserExtend;
import com.ruoyi.xq.dto.admin.user.UserExtendAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateIncomeCoinReq;
import com.ruoyi.xq.dto.admin.user.req.UpdateWxTransNumReq;
import com.ruoyi.xq.dto.app.account.AccountDetailVo;
import com.ruoyi.xq.enums.user.AccountChangeCodeEnum;
import java.math.BigDecimal;
@@ -38,5 +39,4 @@ public interface UserExtendService extends IService<UserExtend> {
UserExtend getByUserId(Long id);
}

View File

@@ -1,5 +1,8 @@
package com.ruoyi.xq.service.impl;
import cn.hutool.core.util.PageUtil;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery;
@@ -8,17 +11,20 @@ import com.ruoyi.xq.domain.AccountChangeLog;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.dto.admin.log.AccountChangeLogAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateIncomeCoinReq;
import com.ruoyi.xq.dto.app.account.AccountDetailVo;
import com.ruoyi.xq.dto.common.user.MinUser;
import com.ruoyi.xq.enums.user.AccountCateEnum;
import com.ruoyi.xq.enums.user.AccountChangeCodeEnum;
import com.ruoyi.xq.mapper.AccountChangeLogMapper;
import com.ruoyi.xq.service.AccountChangeLogService;
import com.ruoyi.xq.service.UserService;
import com.ruoyi.xq.util.PageConvert;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
@@ -124,5 +130,59 @@ public class AccountChangeLogServiceImpl extends ServiceImpl<AccountChangeLogMap
return result;
}
@Override
public Page<AccountDetailVo> pageApp(PageQuery pageQuery, Long userId) {
Page<AccountChangeLog> page = this.page(pageQuery.build(),
Wrappers.lambdaQuery(AccountChangeLog.class).eq(AccountChangeLog::getUserId, userId).orderByDesc(AccountChangeLog::getCreateTime));
List<AccountChangeLog> records = page.getRecords();
if(CollectionUtils.isEmpty(records)){
return PageConvert.convertEmpty(page);
}
List<Long> userIds = new ArrayList<>();
for (AccountChangeLog record : records) {
if(record.getTarUserId() != null){
userIds.add(record.getTarUserId());
}
}
List<User> usersList = userService.listByIds(userIds);
Map<Long, User> userMap = usersList.stream().collect(Collectors.toMap(User::getId, Function.identity()));
List<AccountDetailVo> vos = new ArrayList<>();
for (AccountChangeLog record : records) {
AccountDetailVo vo = new AccountDetailVo();
vo.setUserId(record.getUserId());
vo.setUsercode(record.getUsercode());
vo.setCreateTime(record.getCreateTime());
vo.setValue(record.getChangeValue());
User user = userMap.get(record.getTarUserId());
if(user != null){
vo.setSourceUserId(user.getId());
vo.setSourceNickname(user.getNickname());
vo.setSourceImg(user.getAvatar());
}
AccountChangeCodeEnum accountChangeCodeEnum = AccountChangeCodeEnum.getByCode(record.getChangeType());
if(accountChangeCodeEnum != null){
AccountCateEnum cate = accountChangeCodeEnum.getCate();
vo.setTitle(cate.getText());
switch (cate){
case SYSTEM_TRANS:
double price = record.getChangeValue().doubleValue();
String content = String.format("系统调整手动%s收益: %s", price > 0 ? "新增" : "减少", price);
vo.setContent(content);
break;
case WITHDRAW:
vo.setContent(accountChangeCodeEnum.getText());
break;
case AWARD_INVITE:
vo.setContent(accountChangeCodeEnum.getText());
break;
default:
break;
}
}
vos.add(vo);
}
return PageConvert.convert(page,vos);
}
}

View File

@@ -14,6 +14,7 @@ import com.ruoyi.xq.domain.WxTransOrder;
import com.ruoyi.xq.dto.admin.user.UserExtendAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateIncomeCoinReq;
import com.ruoyi.xq.dto.admin.user.req.UpdateWxTransNumReq;
import com.ruoyi.xq.dto.app.account.AccountDetailVo;
import com.ruoyi.xq.enums.common.OrderTypeEnum;
import com.ruoyi.xq.enums.common.SystemConfigEnum;
import com.ruoyi.xq.enums.consumer.ConsumerTypeEnum;