|
@@ -22,6 +22,7 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fhs.trans.service.impl.TransService;
|
|
|
import com.google.common.collect.Maps;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
@@ -29,6 +30,7 @@ import org.apache.commons.collections4.MapUtils;
|
|
|
import org.apache.commons.compress.utils.Lists;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.checkerframework.checker.units.qual.C;
|
|
|
+import org.jacoco.agent.rt.internal_43f5073.core.data.IncompatibleExecDataVersionException;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
@@ -75,8 +77,34 @@ public class ConsumptionRecordServiceImpl extends ServiceImpl<ConsumptionRecordM
|
|
|
@Resource
|
|
|
private DevConfigApi devConfigApi;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private TransService transService;
|
|
|
+
|
|
|
@Override
|
|
|
public Page<ConsumptionRecord> page(ConsumptionRecordPageParam consumptionRecordPageParam) {
|
|
|
+ QueryWrapper<ConsumptionRecord> queryWrapper = getWrapper(consumptionRecordPageParam);
|
|
|
+ Page<ConsumptionRecord> pageList = this.getBaseMapper().getPageList(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
+ for(ConsumptionRecord consumptionRecord : pageList.getRecords()){
|
|
|
+ if(ObjectUtil.isNotEmpty(consumptionRecord.getPhone())){
|
|
|
+ consumptionRecord.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(consumptionRecord.getPhone()));
|
|
|
+ }
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionOperate(),"3") || StringUtils.equals(consumptionRecord.getConsumptionOperate(),"4")){
|
|
|
+ //消费结算,设置下说明
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionType(),"1")){
|
|
|
+ consumptionRecord.setConsumptionRemark("积分消费"+consumptionRecord.getVoucherMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
+ }
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionType(),"2")){
|
|
|
+ consumptionRecord.setConsumptionRemark("糕点消费"+consumptionRecord.getAccountMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
+ }
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionType(),"3")){
|
|
|
+ consumptionRecord.setConsumptionRemark("积分消费"+consumptionRecord.getVoucherMoney().stripTrailingZeros().toPlainString()+"个"+",糕点消费"+consumptionRecord.getAccountMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pageList;
|
|
|
+ }
|
|
|
+
|
|
|
+ public QueryWrapper<ConsumptionRecord> getWrapper(ConsumptionRecordPageParam consumptionRecordPageParam){
|
|
|
QueryWrapper<ConsumptionRecord> queryWrapper = new QueryWrapper<ConsumptionRecord>().checkSqlInjection();
|
|
|
if(ObjectUtil.isNotEmpty(consumptionRecordPageParam.getUserName())){
|
|
|
queryWrapper.like("su.name",consumptionRecordPageParam.getUserName());
|
|
@@ -98,10 +126,14 @@ public class ConsumptionRecordServiceImpl extends ServiceImpl<ConsumptionRecordM
|
|
|
if(ObjectUtil.isNotEmpty(consumptionRecordPageParam.getRecordId())){
|
|
|
List<String> idList = Lists.newArrayList();
|
|
|
bizUserService.list(new QueryWrapper<BizUser>().lambda().
|
|
|
- eq(BizUser::getReferralUser, consumptionRecordPageParam.getRecordId())).
|
|
|
+ eq(BizUser::getReferralUser, consumptionRecordPageParam.getRecordId())).
|
|
|
forEach(user->idList.add(user.getId()));
|
|
|
queryWrapper.in("cr.user_id",idList);
|
|
|
}
|
|
|
+ if(ObjectUtil.isNotEmpty(consumptionRecordPageParam.getSearchKey())){
|
|
|
+ queryWrapper.and(wrapper->wrapper.like("su.NAME",consumptionRecordPageParam.getSearchKey()).or().
|
|
|
+ like("su.ACCOUNT",consumptionRecordPageParam.getSearchKey()));
|
|
|
+ }
|
|
|
// 校验数据范围
|
|
|
List<String> loginUserDataScope = StpLoginUserUtil.getLoginUserDataScope();
|
|
|
if (ObjectUtil.isNotEmpty(loginUserDataScope)) {
|
|
@@ -111,25 +143,7 @@ public class ConsumptionRecordServiceImpl extends ServiceImpl<ConsumptionRecordM
|
|
|
}
|
|
|
queryWrapper.eq("cr.DELETE_FLAG","NOT_DELETE");
|
|
|
queryWrapper.orderByDesc("cr.create_time");
|
|
|
- Page<ConsumptionRecord> pageList = this.getBaseMapper().getPageList(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
- for(ConsumptionRecord consumptionRecord : pageList.getRecords()){
|
|
|
- if(ObjectUtil.isNotEmpty(consumptionRecord.getPhone())){
|
|
|
- consumptionRecord.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(consumptionRecord.getPhone()));
|
|
|
- }
|
|
|
- if(StringUtils.equals(consumptionRecord.getConsumptionOperate(),"3") || StringUtils.equals(consumptionRecord.getConsumptionOperate(),"4")){
|
|
|
- //消费结算,设置下说明
|
|
|
- if(StringUtils.equals(consumptionRecord.getConsumptionType(),"1")){
|
|
|
- consumptionRecord.setConsumptionRemark("积分消费"+consumptionRecord.getVoucherMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
- }
|
|
|
- if(StringUtils.equals(consumptionRecord.getConsumptionType(),"2")){
|
|
|
- consumptionRecord.setConsumptionRemark("糕点消费"+consumptionRecord.getAccountMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
- }
|
|
|
- if(StringUtils.equals(consumptionRecord.getConsumptionType(),"3")){
|
|
|
- consumptionRecord.setConsumptionRemark("积分消费"+consumptionRecord.getVoucherMoney().stripTrailingZeros().toPlainString()+"个"+",糕点消费"+consumptionRecord.getAccountMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return pageList;
|
|
|
+ return queryWrapper;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -676,6 +690,9 @@ public class ConsumptionRecordServiceImpl extends ServiceImpl<ConsumptionRecordM
|
|
|
List<Map<String, Object>> mapList = getList(consumptionRecordPageParam);
|
|
|
String fileName = "汇总统计报表.xlsx";
|
|
|
List<ConsumptionRecordExportResult> list = Lists.newArrayList();
|
|
|
+ Integer orderNumber = 0;
|
|
|
+ BigDecimal consumptionMoney = new BigDecimal(0);
|
|
|
+ BigDecimal pointMoney = new BigDecimal(0);
|
|
|
for(Map<String,Object> map:mapList){
|
|
|
ConsumptionRecordExportResult consumeRecordExportResult = new ConsumptionRecordExportResult();
|
|
|
consumeRecordExportResult.setName(MapUtils.getString(map,"name"));
|
|
@@ -683,12 +700,61 @@ public class ConsumptionRecordServiceImpl extends ServiceImpl<ConsumptionRecordM
|
|
|
consumeRecordExportResult.setOrderCount(MapUtils.getInteger(map,"orderCount"));
|
|
|
consumeRecordExportResult.setAccountMoney(new BigDecimal(MapUtils.getString(map,"accountMoney")));
|
|
|
consumeRecordExportResult.setVoucherMoney(new BigDecimal(MapUtils.getString(map,"voucherMoney")));
|
|
|
- consumeRecordExportResult.setUserCount(MapUtils.getInteger(map,"userCount"));
|
|
|
+ //consumeRecordExportResult.setUserCount(MapUtils.getInteger(map,"userCount"));
|
|
|
list.add(consumeRecordExportResult);
|
|
|
- }
|
|
|
+ orderNumber+=MapUtils.getInteger(map,"orderCount");
|
|
|
+ consumptionMoney = consumptionMoney.add(new BigDecimal(MapUtils.getString(map,"accountMoney")));
|
|
|
+ pointMoney = pointMoney.add(new BigDecimal(MapUtils.getString(map,"voucherMoney")));
|
|
|
+ }
|
|
|
+ ConsumptionRecordExportResult consumeRecordExportResult = new ConsumptionRecordExportResult();
|
|
|
+ consumeRecordExportResult.setName("统计");
|
|
|
+ consumeRecordExportResult.setOrderCount(orderNumber);
|
|
|
+ consumeRecordExportResult.setAccountMoney(consumptionMoney);
|
|
|
+ consumeRecordExportResult.setVoucherMoney(pointMoney);
|
|
|
+ QueryWrapper<ConsumptionRecord> customQueryWrapper = getCustomQueryWrapper(consumptionRecordPageParam);
|
|
|
+ UserBalanceResult result = this.getBaseMapper().queryBalanceTotal(customQueryWrapper);
|
|
|
+ consumeRecordExportResult.setUserCount(result.getUserCount());
|
|
|
+ list.add(consumeRecordExportResult);
|
|
|
+
|
|
|
CommonExportUtil.export(fileName, ConsumptionRecordExportResult.class,list,response,"汇总统计报表");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void exportConsumption(ConsumptionRecordPageParam consumptionRecordPageParam, HttpServletResponse response) throws IOException {
|
|
|
+ QueryWrapper<ConsumptionRecord> queryWrapper = getWrapper(consumptionRecordPageParam);
|
|
|
+ List<ConsumptionRecord> recordList = this.getBaseMapper().getPageList(queryWrapper);
|
|
|
+ if(ObjectUtil.isEmpty(recordList)){
|
|
|
+ throw new CommonException("无数据可导出!");
|
|
|
+ }
|
|
|
+ for(ConsumptionRecord consumptionRecord : recordList){
|
|
|
+ if(ObjectUtil.isNotEmpty(consumptionRecord.getPhone())){
|
|
|
+ consumptionRecord.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(consumptionRecord.getPhone()));
|
|
|
+ }
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionOperate(),"3") || StringUtils.equals(consumptionRecord.getConsumptionOperate(),"4")){
|
|
|
+ //消费结算,设置下说明
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionType(),"1")){
|
|
|
+ consumptionRecord.setConsumptionRemark("积分消费"+consumptionRecord.getVoucherMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
+ }
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionType(),"2")){
|
|
|
+ consumptionRecord.setConsumptionRemark("糕点消费"+consumptionRecord.getAccountMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
+ }
|
|
|
+ if(StringUtils.equals(consumptionRecord.getConsumptionType(),"3")){
|
|
|
+ consumptionRecord.setConsumptionRemark("积分消费"+consumptionRecord.getVoucherMoney().stripTrailingZeros().toPlainString()+"个"+",糕点消费"+consumptionRecord.getAccountMoney().stripTrailingZeros().toPlainString()+"个");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ transService.transBatch(recordList);
|
|
|
+ String fileName = "消费记录报表.xlsx";
|
|
|
+ List<ConsumptionExportResult> list = Lists.newArrayList();
|
|
|
+ for(ConsumptionRecord consumptionRecord : recordList){
|
|
|
+ ConsumptionExportResult consumptionExportResult = new ConsumptionExportResult();
|
|
|
+ BeanUtil.copyProperties(consumptionRecord, consumptionExportResult);
|
|
|
+ consumptionExportResult.setConsumptionOperate((String) consumptionRecord.getTransMap().get("consumptionOperateName"));
|
|
|
+ list.add(consumptionExportResult);
|
|
|
+ }
|
|
|
+ CommonExportUtil.export(fileName, ConsumptionExportResult.class,list,response,"消费记录报表");
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
System.out.printf("加密后手机号:"+CommonCryptogramUtil.doSm4CbcEncrypt("15240260262"));
|