From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java | 121 ++++++++++++++++++++++++++++++++-------- 1 files changed, 97 insertions(+), 24 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java index 68321ea..08e324e 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java @@ -1,14 +1,18 @@ package com.dsh.account.service.impl; 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.dsh.account.entity.TAppUser; +import com.dsh.account.entity.UserIntegral; import com.dsh.account.entity.UserIntegralChanges; import com.dsh.account.feignclient.activity.MerChandiseClient; import com.dsh.account.mapper.TAppUserMapper; import com.dsh.account.mapper.UserIntegralChangesMapper; +import com.dsh.account.model.IntegralListQuery; import com.dsh.account.model.SaveUserIntegralChangesVo; import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse; +import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsVo; import com.dsh.account.model.vo.userBenefitDetail.IntegralsData; import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo; import com.dsh.account.service.UserIntegralChangesService; @@ -57,33 +61,38 @@ monthEnd = DateTimeHelper.getCurrentMouthEnd(); } List<UserIntegralChanges> userIntegralChanges = this.baseMapper.selectList(new QueryWrapper<UserIntegralChanges>() - .eq("appUserId",userIdFormRedis ) - .between("insertTime",monthStart,monthEnd) + .eq("appUserId", userIdFormRedis) + .between("insertTime", monthStart, monthEnd) .orderByDesc("insertTime")); - if (userIntegralChanges.size() > 0 ){ + if (userIntegralChanges.size() > 0) { for (UserIntegralChanges userIntegralChange : userIntegralChanges) { - IntegralsData detail= new IntegralsData(); - switch (userIntegralChange.getType()){ + IntegralsData detail = new IntegralsData(); + switch (userIntegralChange.getType()) { case 1: - detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); + detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); detail.setConsumeName("赠送积分"); detail.setDetailsType(2); break; case 2: - detail.setConsumeAmount("-"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); + detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); detail.setConsumeName("兑换商品"); detail.setDetailsType(1); break; case 3: - detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); + detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); detail.setConsumeName("完成课后练习"); detail.setDetailsType(2); break; case 4: - detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); + detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); detail.setConsumeTime(simpleDateFormat.format(userIntegralChange.getInsertTime())); detail.setConsumeName("观看教学视频"); detail.setDetailsType(2); + break; + case 5: + detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral())); + detail.setConsumeName("智慧球场开始游戏"); + detail.setDetailsType(1); break; default: break; @@ -91,10 +100,10 @@ detail.setConsumeTime(simpleDateFormat.format(userIntegralChange.getInsertTime())); details.add(detail); } - if (null != recordId){ + if (null != recordId) { details = details.stream() .filter(obj -> obj instanceof IntegralsData) - .filter(obj -> Objects.equals(obj.getDetailsType(), recordId)) + .filter(obj -> !Objects.equals(obj.getDetailsType(), recordId)) .collect(Collectors.toList()); } } @@ -104,6 +113,7 @@ /** * 保存用户积分变动 + * * @param vo * @throws Exception */ @@ -114,30 +124,93 @@ userIntegralChanges.setAppUserId(vo.getAppUserId()); userIntegralChanges.setOldIntegral(appUser.getIntegral()); userIntegralChanges.setType(vo.getType()); + appUser.setIntegral(appUser.getIntegral() + vo.getIntegral()); + tauMapper.updateById(appUser); userIntegralChanges.setNewIntegral(appUser.getIntegral()); userIntegralChanges.setInsertTime(new Date()); + userIntegralChanges.setCategory(1); + userIntegralChanges.setRemark(vo.getRemark()); this.save(userIntegralChanges); } @Override public List<ExchangeDetailsResponse> queryExchangeGoodsdetails(Integer userIdFormRedis, Integer useType, Integer goodType) { - List<ExchangeDetailsResponse> integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis); - if (ToolUtil.isNotEmpty(useType)){ - integralExchangeDetails = integralExchangeDetails.stream() - .filter(response -> Objects.equals(response.getUseStatus(), useType)) - .collect(Collectors.toList()); + List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>(); + ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis); + if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())) { + detailsResponses = integralExchangeDetails.getDetailsResponses(); + if (ToolUtil.isNotEmpty(useType)) { + detailsResponses = integralExchangeDetails.getDetailsResponses().stream() + .filter(response -> Objects.equals(response.getUseStatus(), useType)) + .collect(Collectors.toList()); + } + if (ToolUtil.isNotEmpty(goodType)) { + detailsResponses = integralExchangeDetails.getDetailsResponses().stream() + .filter(response -> Objects.equals(response.getGoodType(), goodType)) + .collect(Collectors.toList()); + } } - if (ToolUtil.isNotEmpty(goodType)){ - integralExchangeDetails = integralExchangeDetails.stream() - .filter(response -> Objects.equals(response.getGoodType(), goodType)) - .collect(Collectors.toList()); - } - return integralExchangeDetails; + return detailsResponses; } @Override - public PointDetailsVo queryRedemptionDetails(Integer detailsId) { - return mcClient.getSpecificsOfGoods(detailsId); + public PointDetailsVo queryRedemptionDetails(Long detailsId) { + PointDetailsVo specificsOfGoods = mcClient.getSpecificsOfGoods(detailsId); + return specificsOfGoods; + } + + @Override + public Page<UserIntegral> listAll(Page<UserIntegral> userIntegralPage, IntegralListQuery integralListQuery) { + String sTime = null; + String eTime = null; + if (ToolUtil.isNotEmpty(integralListQuery.getTime())) { + sTime = integralListQuery.getTime().split(" - ")[0] + " 00:00:00"; + eTime = integralListQuery.getTime().split(" - ")[1] + " 23:59:59"; + } + Page<UserIntegral> userIntegrals = this.baseMapper.listAll(userIntegralPage, integralListQuery, sTime, eTime); + for (UserIntegral userIntegral : userIntegrals.getRecords()) { + if (userIntegral.getCategory() == 1) { + userIntegral.setIntegral(userIntegral.getNewIntegral() - userIntegral.getOldIntegral()); + } else { + userIntegral.setIntegral(userIntegral.getOldIntegral() - userIntegral.getNewIntegral()); + } + } + return userIntegrals; + } + + @Override + public List<ExchangeDetailsResponse> queryExchangeGoodsdetails1(Integer userIdFormRedis, Integer useType, Integer goodType, Integer page, Integer size) { + List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>(); + ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis); + + + if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())) { + detailsResponses = integralExchangeDetails.getDetailsResponses(); + if (ToolUtil.isNotEmpty(useType)) { + detailsResponses = detailsResponses.stream() + .filter(response -> Objects.equals(response.getUseStatus(), useType)) + .collect(Collectors.toList()); + } + if (ToolUtil.isNotEmpty(goodType)) { + detailsResponses = detailsResponses.stream() + .filter(response -> Objects.equals(response.getGoodType(), goodType)) + .collect(Collectors.toList()); + } + } + + + int totalItems = detailsResponses.size(); + int startIndex = (page - 1) * size; + int endIndex = Math.min(startIndex + size, totalItems); + + if (startIndex <= endIndex) { + detailsResponses = detailsResponses.subList(startIndex, endIndex); + } else { + detailsResponses.clear(); + } + + + return detailsResponses; } } -- Gitblit v1.7.1