DownloadOrderServiceImpl.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.fdkankan.ucenter.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.fdkankan.common.constant.TbStatus;
  7. import com.fdkankan.ucenter.common.PageInfo;
  8. import com.fdkankan.common.util.NumberUtils;
  9. import com.fdkankan.ucenter.entity.DownloadOrder;
  10. import com.fdkankan.ucenter.entity.Invoice;
  11. import com.fdkankan.ucenter.entity.User;
  12. import com.fdkankan.ucenter.mapper.IDownloadOrderMapper;
  13. import com.fdkankan.ucenter.service.IDownloadOrderService;
  14. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  15. import com.fdkankan.ucenter.service.IInvoiceService;
  16. import com.fdkankan.ucenter.service.IUserService;
  17. import com.fdkankan.ucenter.util.DateUserUtil;
  18. import com.fdkankan.ucenter.vo.request.DownNumParam;
  19. import com.fdkankan.ucenter.vo.request.IncrementOrderParam;
  20. import com.fdkankan.ucenter.vo.response.DownloadVo;
  21. import com.sun.javafx.font.directwrite.DWFactory;
  22. import org.apache.commons.lang3.StringUtils;
  23. import org.springframework.beans.BeanUtils;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.stereotype.Service;
  26. import java.math.BigDecimal;
  27. import java.util.ArrayList;
  28. import java.util.Date;
  29. import java.util.List;
  30. /**
  31. * <p>
  32. * 下载次数订单表 服务实现类
  33. * </p>
  34. *
  35. * @author
  36. * @since 2022-07-13
  37. */
  38. @Service
  39. public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper, DownloadOrder> implements IDownloadOrderService {
  40. @Autowired
  41. IUserService userService;
  42. @Autowired
  43. IInvoiceService invoiceService;
  44. @Override
  45. public PageInfo pageList(IncrementOrderParam param) {
  46. User user = userService.getByUserName(param.getUserName());
  47. LambdaQueryWrapper<DownloadOrder> wrapper = new LambdaQueryWrapper<>();
  48. wrapper.eq(DownloadOrder::getUserId,user.getId());
  49. wrapper.orderByDesc(DownloadOrder::getTradeTime);
  50. Page<DownloadOrder> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
  51. List<DownloadVo> listVo = new ArrayList<>();
  52. for (DownloadOrder record : page.getRecords()) {
  53. if(StringUtils.isNotBlank(record.getTradeTime())){
  54. record.setTradeTime(DateUserUtil.AddMinute(record.getTradeTime(),record.getTimeZoneOff()));
  55. }
  56. DownloadVo vo = new DownloadVo();
  57. BeanUtils.copyProperties(record,vo);
  58. Invoice invoice = invoiceService.getByDownId(record.getId());
  59. vo.setInvoice(invoice);
  60. listVo.add(vo);
  61. }
  62. Page<DownloadVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());
  63. pageVo.setTotal(page.getTotal());
  64. pageVo.setRecords(listVo);
  65. return PageInfo.PageInfo(pageVo);
  66. }
  67. @Override
  68. public DownloadOrder getByOrderSn(String orderSn) {
  69. QueryWrapper<DownloadOrder> queryWrapper = new QueryWrapper<>();
  70. queryWrapper.lambda().eq(DownloadOrder::getOrderSn,orderSn);
  71. List<DownloadOrder> list = this.list(queryWrapper);
  72. if(list == null || list.size() <=0){
  73. return null;
  74. }
  75. return list.get(0);
  76. }
  77. @Override
  78. public DownloadOrder getByOrderSnNoPay(String orderSn) {
  79. QueryWrapper<DownloadOrder> queryWrapper = new QueryWrapper<>();
  80. queryWrapper.lambda().eq(DownloadOrder::getOrderSn,orderSn);
  81. queryWrapper.lambda().ne(DownloadOrder::getPayStatus,1);
  82. List<DownloadOrder> list = this.list(queryWrapper);
  83. if(list == null || list.size() <=0){
  84. return null;
  85. }
  86. return list.get(0); }
  87. @Override
  88. public boolean paySuccessDownloadOrder(String orderSn, String tradeNo, int paymentTypeName) {
  89. LambdaUpdateWrapper<DownloadOrder> updateWrapper = new LambdaUpdateWrapper<>();
  90. updateWrapper.set(DownloadOrder::getPayType,paymentTypeName)
  91. .set(DownloadOrder::getNumber,tradeNo)
  92. .set(DownloadOrder::getPayStatus,1)
  93. .set(DownloadOrder::getTradeTime,new Date())
  94. .eq(DownloadOrder::getOrderSn,orderSn);
  95. return this.update(updateWrapper);
  96. }
  97. @Override
  98. public DownloadOrder insertDownloadOrder(Long userId, DownNumParam param, BigDecimal price) {
  99. BigDecimal total = price.multiply(new BigDecimal(param.getCount()));
  100. DownloadOrder downloadOrderEntity = new DownloadOrder();
  101. downloadOrderEntity.setOrderSn(NumberUtils.getOrderSn());
  102. downloadOrderEntity.setAmount(total);
  103. downloadOrderEntity.setPayType(param.getPayType());
  104. downloadOrderEntity.setPayStatus(-1);
  105. downloadOrderEntity.setUserId(userId);
  106. downloadOrderEntity.setCount(param.getCount());
  107. downloadOrderEntity.setAbroad(param.getAbroad());
  108. downloadOrderEntity.setStatus(1);
  109. downloadOrderEntity.setSceneNum(param.getSceneNum());
  110. downloadOrderEntity.setSceneName(param.getSceneName());
  111. downloadOrderEntity.setTimeZoneOff(param.getTimeZoneOff());
  112. downloadOrderEntity.setRecStatus("A");
  113. downloadOrderEntity.setCreateTime(DateUserUtil.getDate(new Date()));
  114. downloadOrderEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
  115. this.save(downloadOrderEntity);
  116. return downloadOrderEntity;
  117. }
  118. }