From 5e388cfb25b24a154e28b3c42143493fc77f8e56 Mon Sep 17 00:00:00 2001 From: liulin <lin.liu@88.com> Date: 星期五, 04 七月 2025 11:02:10 +0800 Subject: [PATCH] 添加mqtt --- src/main/java/com/lunhan/water/service/RechargeRecordsService.java | 83 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 74 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/lunhan/water/service/RechargeRecordsService.java b/src/main/java/com/lunhan/water/service/RechargeRecordsService.java index 54418cd..bc49f12 100644 --- a/src/main/java/com/lunhan/water/service/RechargeRecordsService.java +++ b/src/main/java/com/lunhan/water/service/RechargeRecordsService.java @@ -24,11 +24,22 @@ import com.lunhan.water.common.*; import com.lunhan.water.common.enums.*; +import com.lunhan.water.common.jwt.LoginUserDTO; import com.lunhan.water.common.model.Tuple; import com.lunhan.water.common.util.*; +import com.lunhan.water.entity.enums.EPayState; +import com.lunhan.water.entity.enums.EPayType; +import com.lunhan.water.entity.request.rechargerecords.Recharge; +import com.lunhan.water.repository.impl.RechargeOrderMapperImpl; +import com.lunhan.water.repository.impl.UserLoginMapperImpl; +import com.lunhan.water.repository.po.RechargeOrderPO; +import com.lunhan.water.repository.po.UserLoginPO; +import com.lunhan.water.repository.vo.PaymentRecordsVO; import org.apache.commons.lang3.BooleanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; import com.lunhan.water.repository.impl.RechargeRecordsMapperImpl; @@ -38,6 +49,7 @@ import com.lunhan.water.entity.search.SearchRechargeRecords; import com.lunhan.water.repository.vo.RechargeRecordsVO; import com.lunhan.water.service.convert.RechargeRecordsConvert; +import org.springframework.transaction.annotation.Transactional; /** * 充值记录 @@ -47,6 +59,10 @@ public class RechargeRecordsService extends BaseService { @Autowired private RechargeRecordsMapperImpl mapper; + @Autowired + private UserLoginMapperImpl userLoginMapper; + @Autowired + private RechargeOrderMapperImpl rechargeOrderMapper; public ExecutedResult<Long> create(ReqCreateRechargeRecords request) { // 转换po @@ -193,24 +209,73 @@ } return ExecutedResult.success(result); } - + /** + * 充值订单 + * + * @param request + * @param loginUser + * @return + */ + public ExecutedResult<String> recharge(Recharge request, LoginUserDTO loginUser) { + Long now = LocalDateTimeUtil.nowTimeStamp(); + // 修改用户余额 + UserLoginPO userLoginPO = userLoginMapper.get4Openid(loginUser.getUserId()); + if (Objects.isNull(userLoginPO)) { + return ExecutedResult.failed("用户信息不存在!"); + } + RechargeOrderPO orderPO=new RechargeOrderPO(); + orderPO.setUserId(userLoginPO.getId()); + orderPO.setOrderNo("CZ"+SnowFlakeUtil.getId()); + orderPO.setOrderAmount(request.getRechargeAmount()); + orderPO.setDiscountAmount(BigDecimal.ZERO); + orderPO.setPaymentAmount(request.getRechargeAmount()); + orderPO.setPayType(EPayType.WX_PAY.getValue()); + orderPO.setPayState(EPayState.WAITING.getValue()); + orderPO.setCreateTime(now); + orderPO.setRemark("后台充值"); + int insert = rechargeOrderMapper.insert(orderPO); + if(insert>0){ + return ExecutedResult.success(orderPO.getOrderNo()); + } + return ExecutedResult.failed("提交充值订单失败!"); + } public ExecutedResult<PagerResult<RechargeRecordsVO>> search(SearchRechargeRecords search) { // 处理创建时间范围-查询参数 - Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); - if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { - search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + if(search.getDateType()!=null&&search.getDateType()>0){ + Long beginTime=0L; + Long endTime=0L; + switch (search.getDateType()){ + case 1: + beginTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.todayStartTime()).getTime(); + endTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.todayEndTime()).getTime(); + break; + case 2: + beginTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.weekStartTime()).getTime(); + endTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.weekEndTime()).getTime(); + break; + case 3: + beginTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.monthStartTime()).getTime(); + endTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.monthEndTime()).getTime(); + break; + case 4: + beginTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearStartTime()).getTime(); + endTime=LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearEndTime()).getTime(); + break; + } + if (beginTime>0) { + search.setCreateTimeStart(beginTime); + } + if (endTime>0) { + search.setCreateTimeEnd(endTime); + } } - if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { - search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); - } - PagerResult<RechargeRecordsPO> pageList = mapper.search(search); List<RechargeRecordsVO> listVo = new ArrayList<>(); List<RechargeRecordsPO> list = pageList.getList(); if (ListUtil.isNotNullOrEmpty(list)) { pageList.setLastId(list.get(list.size() - 1).getId()); // 转换vo - listVo = RechargeRecordsConvert.INSTANCE.toVo(list); + listVo = CopierUtil.mapTo(list, RechargeRecordsVO.class); } PagerResult<RechargeRecordsVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); result.setLastId(pageList.getLastId()); -- Gitblit v1.9.3