admin
2021-06-24 df4441322e9801c102299451da41d7c40b4502e9
service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java
@@ -7,15 +7,20 @@
import com.ks.daylucky.service.UserInfoService;
import com.ks.daylucky.util.Constant;
import com.ks.daylucky.util.UserInfoUtil;
import com.ks.daylucky.util.activity.ActivityUtil;
import com.ks.daylucky.util.factory.vo.ActivityDetailVOFactory;
import com.ks.daylucky.util.factory.vo.ActivityListItemInfoVOFactory;
import com.ks.lucky.exception.LuckyActivityAwardException;
import com.ks.lucky.exception.LuckyActivityAwardResultException;
import com.ks.lucky.exception.LuckyActivityException;
import com.ks.lucky.pojo.DO.LuckyActivity;
import com.ks.lucky.pojo.DO.LuckyActivityAwardResult;
import com.ks.lucky.pojo.DO.LuckyActivityAwards;
import com.ks.lucky.pojo.DTO.ActivityAwardParams;
import com.ks.lucky.pojo.DTO.ActivityDrawnReceiveParams;
import com.ks.lucky.remote.service.LuckyActivityAwardResultService;
import com.ks.lucky.remote.service.LuckyActivityAwardService;
import com.ks.lucky.remote.service.LuckyActivityService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.dubbo.config.annotation.Reference;
@@ -35,11 +40,14 @@
@RequestMapping("api/client/activity/awards")
public class ActivityAwardsController {
    @Reference(version = "1.0.0")
    @Reference(version = "1.0.0", check = false)
    private LuckyActivityAwardResultService luckyActivityAwardResultService;
    @Reference(version = "1.0.0")
    @Reference(version = "1.0.0", check = false)
    private LuckyActivityAwardService luckyActivityAwardService;
    @Reference(version = "1.0.0", check = false)
    private LuckyActivityService luckyActivityService;
    @Resource
    private UserInfoService userInfoService;
@@ -69,7 +77,7 @@
            List<SimpleUser> userList = new ArrayList<>();
            Map<Long, UserInfo> userMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults));
            for (LuckyActivityAwardResult info : awardResults) {
                UserInfo user = userMap.get(info.getUid());
                UserInfo user = userMap.get(Long.parseLong(info.getUid()));
                if (user != null) {
                    userList.add(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait()));
                }
@@ -134,10 +142,11 @@
        ActivityDrawnRecieveNotifyInfo info = activityDrawnRecieveNotifyInfoService.getShowNotifyInfo(acceptData.getApp().getId(), acceptData.getUid(), activityId);
        if (info != null) {
            UserActivityUnRecievedAwardVO vo = new UserActivityUnRecievedAwardVO();
            LuckyActivityAwards award = info.getAwards();
            LuckyActivityAwards award = luckyActivityAwardService.getAwardDetail(info.getAwards().getId());
            LuckyActivity activity = luckyActivityService.getActivity(award.getActivityId());
            vo.setTitle("活动期号:NO." + award.getActivityId());
            vo.setActivityId(activityId);
            vo.setTitle("活动期号:" + ActivityUtil.getActivityDateNumber(award.getActivityId(), activity.getCreateTime()));
            vo.setActivityId(info.getAwards().getActivityId());
            vo.setType(info.getType());
            vo.setId(info.getId());
@@ -204,8 +213,22 @@
        if (result == null) {
            return JsonUtil.loadFalseResult("未找到中奖记录");
        }
        /**
         * 填充必要的参数
         */
        ActivityDrawnReceiveParams params = new ActivityDrawnReceiveParams();
        LuckyActivityAwards luckyActivityAward = luckyActivityAwardService.getAwardDetail(result.getAwardId());
        //支付宝红包类型
        if (luckyActivityAward.getActivityAwardParams().getType() == ActivityAwardParams.ActivityAwardTypeEnum.alipayRedPackage) {
            //需要获取支付宝的ID
            UserInfo userInfo = userInfoService.getUserDetail(acceptData.getUid());
            params.setAlipayUid(userInfo.getAlipayUid());
        }
        try {
            luckyActivityAwardResultService.recieveAward(acceptData.getApp().getId(), acceptData.getUid() + "", activityId);
            luckyActivityAwardResultService.recieveAward(acceptData.getApp().getId(), acceptData.getUid() + "", activityId, params);
            return JsonUtil.loadTrueResult("领取成功");
        } catch (LuckyActivityException e) {
            e.printStackTrace();