修复充值成功后用户充值记录查询不到的bug;添加充值记录统计接口
This commit is contained in:
parent
3f6c1a3f35
commit
b5df093067
@ -43,6 +43,17 @@ public class NgUserRechargeRecordsController extends BaseController
|
||||
@Autowired
|
||||
private INgUserRechargeRecordsService ngUserRechargeRecordsService;
|
||||
|
||||
/**
|
||||
* 统计充值记录中的充值总金额和充值用户数量
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/total")
|
||||
@ApiOperation("统计充值记录中的充值总金额和充值用户数量")
|
||||
public AjaxResult total(NgUserRechargeRecordsDto ngUserRechargeRecordsDto)
|
||||
{
|
||||
return success(ngUserRechargeRecordsService.getTotal(ngUserRechargeRecordsDto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户充值记录列表
|
||||
*/
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.fastbee.rechargecard.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
|
||||
import com.fastbee.rechargecard.domain.dto.NgUserRechargeRecordsDto;
|
||||
import com.fastbee.rechargecard.domain.dto.RechargecardUser;
|
||||
@ -15,6 +18,12 @@ import com.fastbee.rechargecard.mapper.NgUserRechargeRecordsMapper;
|
||||
*/
|
||||
public interface INgUserRechargeRecordsService
|
||||
{
|
||||
/**
|
||||
* 统计总充值金额和总充值用户
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> getTotal(NgUserRechargeRecordsDto ngUserRechargeRecordsDto);
|
||||
|
||||
/**
|
||||
* 查询用户充值记录列表
|
||||
*
|
||||
|
@ -1,7 +1,11 @@
|
||||
package com.fastbee.rechargecard.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.fastbee.common.exception.ServiceException;
|
||||
import com.fastbee.common.utils.DateUtils;
|
||||
import com.fastbee.rechargecard.domain.UserRechargeCards;
|
||||
@ -29,6 +33,39 @@ public class NgUserRechargeRecordsServiceImpl implements INgUserRechargeRecordsS
|
||||
@Autowired
|
||||
private UserRechargeCardsMapper userRechargeCardsMapper;
|
||||
|
||||
/**
|
||||
* 统计总充值金额和总充值用户
|
||||
* @param ngUserRechargeRecordsDto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getTotal(NgUserRechargeRecordsDto ngUserRechargeRecordsDto) {
|
||||
// 统计amount字段的总和
|
||||
QueryWrapper<NgUserRechargeRecords> sumQueryWrapper = new QueryWrapper<>();
|
||||
sumQueryWrapper.select("SUM(amount) as sumAmount");
|
||||
if (ngUserRechargeRecordsDto.getStartTime() != null && ngUserRechargeRecordsDto.getEndTime() != null) {
|
||||
sumQueryWrapper.between("time", ngUserRechargeRecordsDto.getStartTime(), ngUserRechargeRecordsDto.getEndTime());
|
||||
}
|
||||
Map<String, Object> sumResult = ngUserRechargeRecordsMapper.selectMaps(sumQueryWrapper).get(0);
|
||||
//double totalAmount = ((Number) sumResult.get("sumAmount")).doubleValue();
|
||||
BigDecimal totalAmount= (BigDecimal) sumResult.get("sumAmount");
|
||||
|
||||
// 对cardNumber字段进行去重并统计总和
|
||||
QueryWrapper<NgUserRechargeRecords> distinctQueryWrapper = new QueryWrapper<>();
|
||||
distinctQueryWrapper.select("COUNT(DISTINCT card_number) as distinctCount");
|
||||
if (ngUserRechargeRecordsDto.getStartTime() != null && ngUserRechargeRecordsDto.getEndTime() != null) {
|
||||
distinctQueryWrapper.between("time", ngUserRechargeRecordsDto.getStartTime(), ngUserRechargeRecordsDto.getEndTime());
|
||||
}
|
||||
Map<String, Object> distinctResult = ngUserRechargeRecordsMapper.selectMaps(distinctQueryWrapper).get(0);
|
||||
long distinctCardNumberCount = ((Number) distinctResult.get("distinctCount")).longValue();
|
||||
|
||||
Map<String,Object> result=new HashMap<>();
|
||||
result.put("totalAmount",totalAmount);//总充值金额
|
||||
result.put("totalUserNumber",distinctCardNumberCount);//总充值人数
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NgUserRechargeRecords> selectNgUserRechargeRecordsListByTime(NgUserRechargeRecordsDto ngUserRechargeRecords) {
|
||||
return ngUserRechargeRecordsMapper.selectNgUserRechargeRecordsListByTime(ngUserRechargeRecords);
|
||||
@ -65,6 +102,7 @@ public class NgUserRechargeRecordsServiceImpl implements INgUserRechargeRecordsS
|
||||
ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
||||
ngUserRechargeRecords.setRechargeCode(rechargecardUser.getRechargeCode());
|
||||
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
||||
ngUserRechargeRecords.setDeptId(rechargecardUser.getDeptId());
|
||||
return ngUserRechargeRecordsMapper.insertNgUserRechargeRecords(ngUserRechargeRecords);
|
||||
}
|
||||
|
||||
|
@ -236,6 +236,7 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
||||
userConsumptionDetails.setStatus(0);
|
||||
userConsumptionDetails.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||
userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
||||
userConsumptionDetails.setDeptId(info.getDeptId());
|
||||
/*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder()
|
||||
.userId(info.getUserId())
|
||||
.cardNumber(info.getCardNumber())
|
||||
@ -262,6 +263,7 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
||||
ngUserRechargeRecords.setStatus(0);
|
||||
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
||||
ngUserRechargeRecords.setDeptId(info.getDeptId());
|
||||
// 计算新的余额
|
||||
BigDecimal newBalance = rechargecardUser.getAmount().add(info.getBalance());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user