admin
2023-04-12 651f2856e9ae10aacbfb8327d967aacbb6d58333
fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/LijinHongBaoController.java
@@ -1,37 +1,24 @@
package com.yeshi.fanli.controller.client.lijin;
import com.google.gson.*;
import com.ks.vip.exception.OrderPayException;
import com.ks.vip.exception.VipOrderException;
import com.ks.vip.pojo.DO.*;
import com.ks.vip.pojo.DTO.PayWayInfoDTO;
import com.ks.vip.pojo.Enums.OrderTypeEnum;
import com.ks.vip.pojo.Enums.PayWayEnum;
import com.ks.vip.pojo.Enums.VIPEnum;
import com.ks.vip.service.LijinRecordService;
import com.ks.vip.exception.LijinBalanceException;
import com.ks.vip.pojo.DO.UserLijinRecord;
import com.yeshi.fanli.entity.SystemEnum;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.lijin.dto.LijinSendInfo;
import com.yeshi.fanli.lijin.dto.TodayLijinCreatedInfo;
import com.yeshi.fanli.lijin.manager.UserLijinMnager;
import com.yeshi.fanli.lijin.manager.UserLijinSendManager;
import com.yeshi.fanli.lijin.vo.LijinRecordVO;
import com.yeshi.fanli.lijin.vo.VIPGradeVO;
import com.yeshi.fanli.lijin.vo.VipRecordVO;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.Constant;
import net.sf.json.JSONObject;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.*;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.TimeUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
@@ -40,7 +27,7 @@
import java.util.List;
@Controller
@RequestMapping("api/lijin/hongbao")
@RequestMapping("api/v2/lijin/hongbao")
public class LijinHongBaoController {
    @Resource
@@ -67,10 +54,22 @@
            userLijinSendManager.sendLijin(acceptData.getSystem(), acceptData.getDevice(), uid, new BigDecimal(10));
            lijinSendInfo = userLijinSendManager.getSendingLijinInfo(acceptData.getSystem(), acceptData.getDevice(), uid);
        }
        //是否需要显示弹框
        String value = configService.getValue(ConfigKeyEnum.lijinSendNotify, acceptData.getSystem());
        if (!"1".equalsIgnoreCase(value)) {
            lijinSendInfo = null;
        }
        if (lijinSendInfo == null) {
            out.print(JsonUtil.loadFalseResult("无红包"));
            return;
        }
        //填充notify的值
        lijinSendInfo.setNotifyTitle("领取" + lijinSendInfo.getName());
        lijinSendInfo.setNotifySubtitle("限时福利,最低66.66元起");
        Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
@@ -100,10 +99,14 @@
            using = new BigDecimal(0);
        String recordLink = configService.getValue(ConfigKeyEnum.lijinRecordLink, acceptData.getSystem());
        String ruleLink = configService.getValue(ConfigKeyEnum.lijinRuleLink, acceptData.getSystem());
        String courseLink = configService.getValue(ConfigKeyEnum.lijinCourseLink, acceptData.getSystem());
        JSONObject data = new JSONObject();
        data.put("balance", balance);
        data.put("using", using);
        data.put("recordLink", recordLink);
        data.put("ruleLink", ruleLink);
        data.put("courseLink", courseLink);
        out.print(JsonUtil.loadTrueResult(data));
    }
@@ -146,11 +149,19 @@
    @RequestMapping("recieveHongBao")
    public void recieveHongBao(AcceptData acceptData, Long uid, String id, PrintWriter out) {
        try {
            userLijinSendManager.initBalance(uid);
            LijinSendInfo lijinSendInfo = userLijinSendManager.recieveLijin(id, uid);
            JSONObject data = new JSONObject();
            data.put("url", configService.getValue(ConfigKeyEnum.lijinRecievedSuccessLink, acceptData.getSystem()).replace("{name}", lijinSendInfo.getName()).replace("{money}", lijinSendInfo.getMoney() + ""));
            out.print(JsonUtil.loadTrueResult(data));
            return;
        } catch (LijinBalanceException e) {
            if (e.getCode() == LijinBalanceException.CODE_NOT_INIT) {
                out.print(JsonUtil.loadFalseResult("领取失败,请稍后重试"));
                userLijinMnager.initBalance(uid);
            } else {
                out.print(JsonUtil.loadFalseResult(e.getMessage()));
            }
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult(e.getMessage()));
        }