admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/user/PreviewInfoServiceImpl.java
@@ -1,15 +1,19 @@
package com.yeshi.fanli.service.impl.user;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.yeshi.utils.entity.FileUploadResult;
import org.yeshi.utils.tencentcloud.COSManager;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -23,9 +27,10 @@
import com.yeshi.fanli.service.inter.money.extract.BindingAccountService;
import com.yeshi.fanli.service.inter.user.PreviewInfoService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleDetailService;
import com.yeshi.fanli.util.ImageUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.vo.money.MoneyStatisticVO;
import com.yeshi.fanli.vo.user.MineInfoVO;
@@ -44,7 +49,6 @@
   @Resource
   private ThreeSaleDetailService threeSaleDetailService;
   
    
   
   @Override
@@ -59,16 +63,16 @@
      info.setUpdateTime(new Date());
      previewInfoDao.save(info);
      
      if (type == PreviewEnum.extractRecord) {
      if (type == PreviewEnum.extractRecord || type == PreviewEnum.moneyArrival) {
         return;
      }
      
      // redis缓存
      if (StringUtil.isNullOrEmpty(content)) {
         removePreview(preUid, type);
      } else {
         adddPreview(preUid, type, content);
      }
   }
   
   // 缓存10分钟
@@ -115,9 +119,9 @@
      if (StringUtil.isNullOrEmpty(time))
         throw new PreviewInfoException(1, "提现时间不能为空");
   
      Date parse = TimeUtil.parseDotCommon2(time);
      if (parse == null)
         throw new PreviewInfoException(1, "请输入正确的时间格式,如:2020.01.01 01:01");
      Date receiveTime = TimeUtil.parseYYYYMMDD_HHMM(time);
      if (receiveTime == null)
         throw new PreviewInfoException(1, "请输入正确的时间格式");
      
      
      Gson gson = new Gson();
@@ -127,7 +131,7 @@
      extract.setName(alipay.getName());
      extract.setAccount(alipay.getAccount());
      extract.setMoney(money);
      extract.setReceiveTime(TimeUtil.parseDotCommon2(time));
      extract.setReceiveTime(receiveTime);
      extract.setId(java.lang.System.currentTimeMillis());
      
      String id = StringUtil.Md5(uid + "#" + PreviewEnum.extractRecord.name());
@@ -150,7 +154,11 @@
            Comparator<Extract> cm = new Comparator<Extract>() {
               @Override
               public int compare(Extract o1, Extract o2) {
                  return (int) (o2.getReceiveTime().getTime() - o1.getReceiveTime().getTime());
                  if (o2.getReceiveTime().getTime() > o1.getReceiveTime().getTime()) {
                     return 1;
                  } else {
                     return -1;
                  }
               }
            };
            Collections.sort(list, cm);
@@ -238,22 +246,44 @@
   
   @Override
   public String saveMoneyArrival(Long uid, BigDecimal money, String time,String orderNo) throws PreviewInfoException {
   public String saveMoneyArrival(Long uid, BigDecimal money, String time,String orderNo, String platform)
         throws PreviewInfoException,Exception {
      if (uid == null )
         throw new PreviewInfoException(1, "请先登录");
      if (money == null )
         throw new PreviewInfoException(1, "请输入金额");
      if(StringUtil.isNullOrEmpty(time))
      if(StringUtil.isNullOrEmpty(orderNo))
         throw new PreviewInfoException(1, "请输入订单号");
      if(StringUtil.isNullOrEmpty(time))
         throw new PreviewInfoException(1, "请输入创建时间");
      Date parse = TimeUtil.parseDotCommon2(time);
      if (parse == null)
         throw new PreviewInfoException(1, "请输入正确的时间格式,如:2020.01.01 01:01");
      Date date = TimeUtil.parseYYYYMMDD_HHMM(time);
      if (date == null)
         throw new PreviewInfoException(1, "请输入正确的时间格式");
      
      InputStream drawStream = null;
      if ("ios".equalsIgnoreCase(platform)) {
         drawStream = ImageUtil.drawAlipayIOS(money, orderNo, time);
      } else {
         drawStream = ImageUtil.drawAlipayAndroid(money, orderNo, time);
      }
      
      String content = ""; // TODO
      // save(uid, PreviewEnum.moneyArrival, gson.toJson(infoVO));
      return content;
      if (drawStream == null)
         throw new PreviewInfoException(1, "预览生成失败");
      // 上传文件
      String uuid = UUID.randomUUID().toString().replace("-", "");
      String upPath = "/user/img/preview/" + uuid + "_" + System.currentTimeMillis() + ".png";
      FileUploadResult result = COSManager.getInstance().uploadInputStream(drawStream, upPath);
      if (result == null) {
         throw new PreviewInfoException(1, "预览生成失败");
      }
      // 保存信息
      save(uid, uid, PreviewEnum.moneyArrival, result.getUrl());
      return result.getUrl();
   }
}