From ae9bfd2d66f68a553786ac78b12f4390e65e4e09 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 24 十一月 2023 18:30:18 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java | 145 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 123 insertions(+), 22 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java index a56044c..07c168f 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java @@ -1,9 +1,11 @@ package com.dsh.account.service.impl; +import com.alipay.api.response.AlipayTradeQueryResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.account.entity.RechargeRecords; import com.dsh.account.entity.TAppUser; +import com.dsh.account.entity.VipPayment; import com.dsh.account.enums.RechargeRecordEnum; import com.dsh.account.feignclient.competition.DeductionCompetitionsClient; import com.dsh.account.feignclient.competition.model.PaymentCompetition; @@ -15,6 +17,9 @@ import com.dsh.account.feignclient.other.model.SiteBooking; import com.dsh.account.mapper.RechargeRecordsMapper; import com.dsh.account.mapper.TAppUserMapper; +import com.dsh.account.model.IncomeQuery; +import com.dsh.account.model.query.RechargeRecordsQuery; +import com.dsh.account.model.vo.RechargeRecordsVO; import com.dsh.account.model.vo.userBenefitDetail.RechargeDetailsVo; import com.dsh.account.model.vo.userBenefitDetail.RechargePayRequest; import com.dsh.account.model.vo.userBenefitDetail.RechargesDetail; @@ -68,12 +73,14 @@ @Resource private RechargeConfigClient reconMapper; + @Autowired + private RechargeRecordsMapper rechargeRecordsMapper; @Override public List<RechargesDetail> getAppUserRechargeRecord(String yearMonth, Integer recordId, Integer appUserId,Integer pageNum,Integer pageSize) { List<RechargesDetail> details = new ArrayList<>(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date monthStart = null; Date monthEnd = null; @@ -89,12 +96,32 @@ List<PaymentCompetition> playPaiFGoldPayRecord = deducClient.getPlayPaiFGoldPayRecord(appUserId); if (playPaiFGoldPayRecord.size() > 0 ){ for (PaymentCompetition competition : playPaiFGoldPayRecord) { - RechargesDetail consumeDetail = new RechargesDetail(); - consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg() ); - consumeDetail.setConsumeTime(simpleDateFormat.format(competition.getInsertTime())); - consumeDetail.setConsumeAmount("-" + competition.getAmount()); - consumeDetail.setRecordId(2); - details.add(consumeDetail); + if (competition.getPayStatus()==2) { + RechargesDetail consumeDetail = new RechargesDetail(); + consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg()); + consumeDetail.setConsumeTime(simpleDateFormat.format(competition.getInsertTime())); + consumeDetail.setConsumeAmount("-" + competition.getAmount()); + consumeDetail.setRecordId(2); + details.add(consumeDetail); + }else { + + + RechargesDetail consumeDetail1 = new RechargesDetail(); + consumeDetail1.setConsumeName(RechargeRecordEnum.CANCEL_EVENT_REGISTRATION.getMsg()); + consumeDetail1.setConsumeTime(simpleDateFormat.format(competition.getRefundTime())); + consumeDetail1.setConsumeAmount("+" + competition.getAmount()); + consumeDetail1.setRecordId(1); + details.add(consumeDetail1); + + RechargesDetail consumeDetail = new RechargesDetail(); + consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg()); + consumeDetail.setConsumeTime(simpleDateFormat.format(competition.getInsertTime())); + consumeDetail.setConsumeAmount("-" + competition.getAmount()); + consumeDetail.setRecordId(2); + details.add(consumeDetail); + + + } } } // 2.课包购买 @@ -114,16 +141,28 @@ if (siteBookings.size() > 0 ){ for (SiteBooking booking : siteBookings) { RechargesDetail consumeDetail = new RechargesDetail(); - consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.name()); + consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg()); consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime())); consumeDetail.setConsumeAmount("-" + booking.getPayMoney()); consumeDetail.setRecordId(2); details.add(consumeDetail); } } -// 4.智慧球场 + // 4.智慧球场 + List<Map<String,Object>> list = stClient.game(appUserId); + if (list.size() > 0 ){ + for (Map<String,Object> booking : list) { + RechargesDetail consumeDetail = new RechargesDetail(); + consumeDetail.setConsumeName("激战游戏"); + consumeDetail.setConsumeTime(simpleDateFormat.format(new Date(Long.valueOf(booking.get("time").toString())))); + consumeDetail.setConsumeAmount("-"+String.valueOf(booking.get("money"))); + consumeDetail.setRecordId(2); + details.add(consumeDetail); + } + } -// 5.充值 + + // 5.充值 List<RechargeRecords> rechargeRecords = this.baseMapper.selectList(new QueryWrapper<RechargeRecords>() .eq("payStatus", 2) .eq("appUserId", appUserId) @@ -131,9 +170,9 @@ if (rechargeRecords.size() > 0) { for (RechargeRecords rechargeRecord : rechargeRecords) { RechargesDetail consumeDetail = new RechargesDetail(); - consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name() + ":" + rechargeRecord.getPlayPaiCoins()); + consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":¥" + rechargeRecord.getAmount()); consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime())); - consumeDetail.setConsumeAmount("+" + rechargeRecord.getAmount()); + consumeDetail.setConsumeAmount("+" + rechargeRecord.getPlayPaiCoins()); consumeDetail.setRecordId(1); details.add(consumeDetail); } @@ -163,11 +202,29 @@ //一页五条 int size = pageSize; + + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + List<RechargesDetail> filteredList = new ArrayList<>(); + for (RechargesDetail detail : details) { + try { + Date consumeTime = dateFormat.parse(detail.getConsumeTime()); + if (consumeTime.after(monthStart) && consumeTime.before(monthEnd)) { + String substring = detail.getConsumeTime().substring(5); + detail.setConsumeTime(substring); + filteredList.add(detail); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + + + //分页 - details = details.stream().skip((pageNo - 1) * size).limit(size). + filteredList = filteredList.stream().skip((pageNo - 1) * size).limit(size). collect(Collectors.toList()); - return details; + return filteredList; } @Override @@ -236,29 +293,49 @@ if(records.getPayStatus() == 2){ break; } - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200 && records.getPayStatus() == 1){ + AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); + + if(resultUtil.getCode().equals("10000")&& records.getPayStatus() == 1){ /** * WAIT_BUYER_PAY(交易创建,等待买家付款)、 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、 * TRADE_SUCCESS(交易支付成功)、 * TRADE_FINISHED(交易结束,不可退款) */ - Map<String, String> data1 = resultUtil.getData(); - String s = data1.get("tradeStatus"); - String tradeNo = data1.get("tradeNo"); - if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){ +// Map<String, String> data1 = resultUtil.getData(); +// String s = data1.get("tradeStatus"); +// String tradeNo = data1.get("tradeNo"); + + String tradeNo = resultUtil.getTradeNo(); + String tradeStatus = resultUtil.getTradeStatus(); + System.out.println("ssssss"+tradeStatus); + if("TRADE_CLOSED".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus) || num == 10){ records.setState(3); rereMapper.deleteById(records.getId()); break; } - if("TRADE_SUCCESS".equals(s)){ + if("TRADE_SUCCESS".equals(tradeStatus)){ + records.setAppUserId(null); records.setPayStatus(2); + records.setPayTime(new Date()); records.setOrderNumber(tradeNo); rereMapper.updateById(records); + + RechargeRecords rechargeRecords = rereMapper.selectOne(new QueryWrapper<RechargeRecords>() + .eq("code", code)); + if (rechargeRecords.getPayStatus() == 2){ + TAppUser tAppUser = tappMapper.selectById(rechargeRecords.getAppUserId()); + tAppUser.setPlayPaiCoins(null == tAppUser.getPlayPaiCoins()? rechargeRecords.getPlayPaiCoins(): tAppUser.getPlayPaiCoins() +rechargeRecords.getPlayPaiCoins() ); + tappMapper.updateById(tAppUser); + break; + } + + + + break; } - if("WAIT_BUYER_PAY".equals(s)){ + if("WAIT_BUYER_PAY".equals(tradeStatus)){ num++; } } @@ -338,6 +415,7 @@ if (rechargeRecords.getPayStatus() == 2){ return ResultUtil.success(); } + rechargeRecords.setAppUserId(null); rechargeRecords.setPayStatus(2); rechargeRecords.setPayTime(new Date()); rechargeRecords.setOrderNumber(orderNumber); @@ -349,6 +427,29 @@ return null; } + @Override + public List<RechargeRecordsVO> rechargeList(RechargeRecordsQuery query) { + String STime = null; + String ETime = null; + if (StringUtils.hasLength(query.getTime())) { + STime = query.getTime().split(" - ")[0] + " 00:00:00"; + ETime = query.getTime().split(" - ")[1] + " 23:59:59"; + } + + return rechargeRecordsMapper.rechargeList(query,STime,ETime); + + } + + @Override + public List<VipPayment> listAll(IncomeQuery query) { + String STime = null; + String ETime = null; + if (StringUtils.hasLength(query.getTime())) { + STime = query.getTime().split(" - ")[0] + " 00:00:00"; + ETime = query.getTime().split(" - ")[1] + " 23:59:59"; + } + return rechargeRecordsMapper.listAll(query,STime,ETime,query.getAmount(),query.getInsertType()); + } public static <T> List<T> pageList(List<T> list, int pageNum, int pageSize) { //计算总页数 int page = list.size() % pageSize == 0 ? list.size() / pageSize : list.size() / pageSize + 1; -- Gitblit v1.7.1