| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 充值记录 |
| | |
| | | public class RechargeRecordsService extends BaseService { |
| | | @Autowired |
| | | private RechargeRecordsMapperImpl mapper; |
| | | @Autowired |
| | | private UserLoginMapperImpl userLoginMapper; |
| | | @Autowired |
| | | private RechargeOrderMapperImpl rechargeOrderMapper; |
| | | |
| | | public ExecutedResult<Long> create(ReqCreateRechargeRecords request) { |
| | | // 转换po |
| | |
| | | } |
| | | 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()); |