This commit is contained in:
dute7liang
2024-01-19 21:07:46 +08:00
parent 890304a88e
commit e280d631d6
6 changed files with 62 additions and 9 deletions

View File

@@ -57,8 +57,7 @@ public class AccountChangeLogController extends BaseController {
@SaCheckPermission("cai:accountChangeLog:list")
@GetMapping("/list")
public TableDataInfo<AccountChangeLog> list(AccountChangeLog bo, PageQuery pageQuery) {
Page<AccountChangeLog> page = accountChangeLogService.page(pageQuery.build(),
Wrappers.lambdaQuery(bo).orderByDesc(AccountChangeLog::getCreateTime));
Page<AccountChangeLog> page = accountChangeLogService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}

View File

@@ -83,9 +83,10 @@ public class ConsumeLogController extends BaseController {
@SaCheckPermission("cai:consumeLog:edit")
@Log(title = "消费记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ConsumeLog bo) {
return toAjax(consumeLogService.updateById(bo));
@GetMapping("/consumer")
public R<Void> consumer(Long id) {
consumeLogService.dealFenxiao(id,false);
return R.ok();
}
/**

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
@@ -47,7 +48,6 @@ public class AccountChangeLog implements Serializable {
* 名称
*/
private String cateAdminName;
private String cateAppName;
private Long traceId;
private String traceLinkType;
/**
@@ -70,11 +70,13 @@ public class AccountChangeLog implements Serializable {
private LocalDateTime createTime;
@TableField(exist = false)
private String showMessage;
public void init(AccountChangeCodeEnum change){
this.setAccountType(change.getAccountType().getCode());
this.setCateId(change.getCate().getCode());
this.setCateAppName(change.getText());
this.setCateAdminName(change.getText());
this.setTraceLinkType(change.getCate().name());
this.setRemark(change.getDesc());

View File

@@ -1,9 +1,11 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.AccountChangeLog;
import com.ruoyi.cai.domain.Gift;
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
import com.ruoyi.common.core.domain.PageQuery;
/**
* 账户明细Service接口
@@ -24,4 +26,6 @@ public interface AccountChangeLogService extends IService<AccountChangeLog> {
, Long tarUserId, Gift gift);
AccountChangeLog saveLogAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId);
Page<AccountChangeLog> pageAdmin(PageQuery pageQuery, AccountChangeLog bo);
}

View File

@@ -1,13 +1,26 @@
package com.ruoyi.cai.service.impl;
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.cai.domain.AccountChangeLog;
import com.ruoyi.cai.domain.Gift;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.enums.account.AccountCateEnum;
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
import com.ruoyi.cai.mapper.AccountChangeLogMapper;
import com.ruoyi.cai.service.AccountChangeLogService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 账户明细Service业务层处理
*
@@ -69,5 +82,39 @@ public class AccountChangeLogServiceImpl extends ServiceImpl<AccountChangeLogMap
return changeLog;
}
@Autowired
private UserService userService;
@Override
public Page<AccountChangeLog> pageAdmin(PageQuery pageQuery, AccountChangeLog bo) {
Page<AccountChangeLog> page = this.page(pageQuery.build(), Wrappers.lambdaQuery(bo).orderByDesc(AccountChangeLog::getCreateTime));
List<AccountChangeLog> records = page.getRecords();
Set<Long> userIds = records.stream().map(AccountChangeLog::getTarUserId).collect(Collectors.toSet());
if(records.isEmpty()){
return page;
}
List<User> users = userService.listByIds(userIds);
Map<Long, User> userMap = users.stream().collect(Collectors.toMap(User::getId, Function.identity()));
for (AccountChangeLog record : records) {
User user = userMap.get(record.getTarUserId());
if(user != null){
String format = String.format("%s来自【%s】", record.getCateAdminName(), user.getNickname());
record.setShowMessage(format);
}else{
record.setShowMessage(record.getCateAdminName());
}
if(AccountCateEnum.IM.getCode().equals(record.getCateId())
|| AccountCateEnum.SYSTEM.getCode().equals(record.getCateId())
|| AccountCateEnum.UNION.getCode().equals(record.getCateId())){
if(record.getTarUserId() != null){
if(user != null){
record.setTarImg(user.getAvatar());
}
}
}
}
return page;
}
}

View File

@@ -112,13 +112,13 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
}
if(incomeCoin != 0){
AccountChangeCodeEnum change = ConsumeLogType.getSourceChange(consumeLogType, AccountTypeEnum.INCOME_COIN);
accountChangeLogService.saveLogNoAdmin(userId, consumeLog.getSourceUsercode(), change, coin, consumeLog.getTraceId()
accountChangeLogService.saveLogNoAdmin(userId, consumeLog.getSourceUsercode(), change, incomeCoin, consumeLog.getTraceId()
,consumeLog.getTargetUserId(),gift);
}
// 记录接收方的流水
if(targetUserId != null){
AccountChangeCodeEnum change = ConsumeLogType.getTargetChange(consumeLogType);
accountChangeLogService.saveLogNoAdmin(userId, consumeLog.getSourceUsercode(), change, coin, consumeLog.getTraceId()
accountChangeLogService.saveLogNoAdmin(userId, consumeLog.getSourceUsercode(), change, consumeLog.getAnchorAmount(), consumeLog.getTraceId()
,consumeLog.getSourceUserId(),gift);
}
// 获取分销的比例和用户