| | |
| | | import org.springframework.data.annotation.Transient; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | @Valid |
| | | public class LuckyActivityAwards implements Serializable { |
| | | public class LuckyActivityAwards implements Serializable { |
| | | |
| | | //平分 |
| | | public final static int AWARD_WAY_DIVIDE = 1; |
| | |
| | | @NotNull(message = "奖品数量不能为空") |
| | | private Integer count; |
| | | |
| | | @NotEmpty(message = "奖品名称不能为空") |
| | | private String awardName; |
| | | |
| | | @NotNull(message = "中奖方式不能为空") |
| | | private Integer awardWay; |
| | | |
| | | |
| | | private String awardPoster; |
| | | |
| | | |
| | | /** |
| | | * 中奖参数 |
| | |
| | | public void setUpdateTime(Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | |
| | | public String getAwardName() { |
| | | return awardName; |
| | | } |
| | | |
| | | public void setAwardName(String awardName) { |
| | | this.awardName = awardName; |
| | | } |
| | | |
| | | public String getAwardPoster() { |
| | | return awardPoster; |
| | | } |
| | | |
| | | public void setAwardPoster(String awardPoster) { |
| | | this.awardPoster = awardPoster; |
| | | } |
| | | } |
| | |
| | | * @param appId |
| | | * @param uid |
| | | * @param activityId |
| | | * @param awardId |
| | | * @return |
| | | */ |
| | | public LuckyActivityAwardResult getResult(Long appId, String uid, Long activityId, Long awardId); |
| | | public LuckyActivityAwardResult getResult(Long appId, String uid, Long activityId); |
| | | |
| | | |
| | | /** |
| | | * 领奖 |
| | |
| | | * @param pageSize |
| | | * @return |
| | | */ |
| | | public List<Long> getDrawnActivityIdList(Long appId, Long uid, int page, int pageSize); |
| | | public List<Long> getDrawnActivityIdList(Long appId, String uid, int page, int pageSize); |
| | | |
| | | public long countDrawnActivityIdList(Long appId, Long uid); |
| | | public long countDrawnActivityIdList(Long appId, String uid); |
| | | |
| | | |
| | | /** |
| | |
| | | public Date getLatestUpdateTime(Long activityId); |
| | | |
| | | |
| | | /** |
| | | * 获取用户未领取的奖项 |
| | | * |
| | | * @param appId |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | public List<LuckyActivityAwardResult> getUnRecievedAward(Long appId, String uid, int page, int pageSize); |
| | | |
| | | public long countUnRecievedAward(Long appId, String uid); |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | /** |
| | | * 获取参加记录 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | public LuckyActivityJoinRecord getJoinRecord(Long id); |
| | | |
| | | |
| | | /** |
| | | * 获取还未开奖的活动列表 |
| | | * |
| | | * @param uid |
| | |
| | | public void updateActivity(LuckyActivity activity) throws LuckyActivityException; |
| | | |
| | | |
| | | /** |
| | | * 获取推荐活动列表 |
| | | * |
| | | * @param appId |
| | | * @param uid |
| | | * @param page |
| | | * @param pageSize |
| | | * @return |
| | | */ |
| | | public List<LuckyActivity> getRecommendActivity(Long appId, String uid, int page, int pageSize); |
| | | |
| | | |
| | | public Long getRecommendActivityCount(Long appId, String uid); |
| | | |
| | | |
| | | } |
| | |
| | | package com.ks.daylucky.controller.api.client; |
| | | |
| | | import com.ks.daylucky.pojo.DO.UserInfo; |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.pojo.VO.ActivityFriendAssistInfoVO; |
| | | import com.ks.daylucky.pojo.VO.AssistFriendVO; |
| | | import com.ks.daylucky.pojo.VO.SimpleUser; |
| | | import com.ks.daylucky.pojo.VO.*; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.util.Constant; |
| | | import com.ks.daylucky.util.UserInfoUtil; |
| | | import com.ks.lucky.exception.LuckyActivityException; |
| | | import com.ks.lucky.exception.LuckyActivityJoinAssistException; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityJoinAssist; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord; |
| | | import com.ks.lucky.pojo.DTO.ActivityAssistFriend; |
| | | import com.ks.lucky.pojo.DTO.ActivityFriendAssistInfo; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinAssistService; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinService; |
| | | import net.sf.json.JSONObject; |
| | | import org.apache.dubbo.config.annotation.Reference; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | private LuckyActivityJoinAssistService luckyActivityJoinAssistService; |
| | | |
| | | @Resource |
| | | private LuckyActivityJoinService luckyActivityJoinService; |
| | | |
| | | @Resource |
| | | private UserInfoService userInfoService; |
| | | |
| | | |
| | | @ResponseBody |
| | | @RequestMapping("assist") |
| | | public String assist(AcceptData acceptData, Long activityId, Long joinId, int page) { |
| | | LuckyActivityJoinRecord record = luckyActivityJoinService.getJoinRecord(joinId); |
| | | //不存在助力 |
| | | if (record == null) { |
| | | return JsonUtil.loadFalseResult(""); |
| | | } |
| | | |
| | | try { |
| | | luckyActivityJoinAssistService.assist(activityId, acceptData.getApp().getId(), acceptData.getUid() + "", record.getUid(), LuckyActivityJoinAssist.ActivityJoinAssistEvent.assist, 1); |
| | | |
| | | |
| | | UserInfo user = userInfoService.getUserDetail(Long.parseLong(record.getUid())); |
| | | JSONObject data = new JSONObject(); |
| | | if (user != null) { |
| | | //助力成功 |
| | | data.put("invite", new AssistResultInfoVO(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait()), "邀请你助力拼手气抽奖")); |
| | | } |
| | | return JsonUtil.loadTrueResult(data); |
| | | } catch (LuckyActivityException e) { |
| | | e.printStackTrace(); |
| | | } catch (LuckyActivityJoinAssistException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | return JsonUtil.loadFalseResult("助力失败"); |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @RequestMapping("getAssistFriendsList") |
| | | public String getAssistFriendsList(AcceptData acceptData, int page) { |
| | | List<AssistFriendVO> list = new ArrayList<>(); |
| | |
| | | import com.ks.daylucky.pojo.DO.UserInfo; |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.pojo.VO.SimpleUser; |
| | | import com.ks.daylucky.pojo.VO.UserActivityUnRecievedAwardVO; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.util.Constant; |
| | | import com.ks.daylucky.util.UserInfoUtil; |
| | | import com.ks.lucky.exception.LuckyActivityAwardException; |
| | | import com.ks.lucky.exception.LuckyActivityAwardResultException; |
| | | import com.ks.lucky.exception.LuckyActivityException; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwardResult; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwards; |
| | | import com.ks.lucky.remote.service.LuckyActivityAwardResultService; |
| | |
| | | */ |
| | | |
| | | @ResponseBody |
| | | @RequestMapping("getDrawnList") |
| | | public String getDrawnList(AcceptData acceptData, Long activityId, Long awardId, int page) { |
| | | @RequestMapping("getDrawnJoinerList") |
| | | public String getDrawnJoinerList(AcceptData acceptData, Long activityId, Long awardId, int page) { |
| | | |
| | | List<LuckyActivityAwardResult> awardResults = luckyActivityAwardResultService.getResultListWithAwardInfo(activityId, awardId, page, Constant.PAGE_SIZE); |
| | | long count = luckyActivityAwardResultService.countResultWithAwardInfo(activityId, awardId); |
| | | List<SimpleUser> userList = new ArrayList<>(); |
| | | Map<Long, UserInfo> userMap =userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults)); |
| | | Map<Long, UserInfo> userMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults)); |
| | | for (LuckyActivityAwardResult info : awardResults) { |
| | | UserInfo user = userMap.get(info.getUid()); |
| | | if (user != null) { |
| | |
| | | return JsonUtil.loadTrueResult(data); |
| | | } |
| | | |
| | | /** |
| | | * 获取未领奖的奖励信息 |
| | | * |
| | | * @param acceptData |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("getUnRecieveAward") |
| | | public String getUnRecieveAward(AcceptData acceptData) { |
| | | List<LuckyActivityAwardResult> resultList = luckyActivityAwardResultService.getUnRecievedAward(acceptData.getApp().getId(), acceptData.getUid() + "", 1, 1); |
| | | if (resultList != null && resultList.size() > 0) { |
| | | LuckyActivityAwardResult result = resultList.get(0); |
| | | UserActivityUnRecievedAwardVO vo = new UserActivityUnRecievedAwardVO(); |
| | | LuckyActivityAwards award = luckyActivityAwardService.getAwardDetail(result.getAwardId()); |
| | | vo.setAwardName(award.getAwardName()); |
| | | vo.setAwardId(award.getId()); |
| | | vo.setPicture(award.getAwardPoster()); |
| | | vo.setTitle("活动期号:NO." + award.getActivityId()); |
| | | return JsonUtil.loadTrueResult(vo); |
| | | } |
| | | return JsonUtil.loadFalseResult(""); |
| | | } |
| | | |
| | | /** |
| | | * 领取奖品 |
| | | * |
| | | * @param acceptData |
| | | * @param activityId |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("recieveAward") |
| | | public String recieveAward(AcceptData acceptData, Long activityId) { |
| | | LuckyActivityAwardResult result = luckyActivityAwardResultService.getResult(acceptData.getApp().getId(), acceptData.getUid() + "", activityId); |
| | | if (result == null) { |
| | | return JsonUtil.loadFalseResult("未找到中奖记录"); |
| | | } |
| | | try { |
| | | luckyActivityAwardResultService.recieveAward(acceptData.getApp().getId(), acceptData.getUid() + "", activityId); |
| | | return JsonUtil.loadTrueResult("领取成功"); |
| | | } catch (LuckyActivityException e) { |
| | | e.printStackTrace(); |
| | | } catch (LuckyActivityAwardException e) { |
| | | e.printStackTrace(); |
| | | } catch (LuckyActivityAwardResultException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return JsonUtil.loadFalseResult("领取失败"); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.pojo.VO.ActivityDetailInfoVO; |
| | | import com.ks.daylucky.pojo.VO.SimpleUser; |
| | | import com.ks.daylucky.service.ActivityService; |
| | | import com.ks.daylucky.service.ActivityTagService; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.util.Constant; |
| | |
| | | import com.ks.lucky.pojo.DTO.ActivitySimpleUser; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinService; |
| | | import com.ks.lucky.remote.service.LuckyActivityService; |
| | | import net.sf.json.JSONObject; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | @Resource |
| | | private UserInfoService userInfoService; |
| | | |
| | | @Resource |
| | | private ActivityService activityService; |
| | | |
| | | |
| | | /** |
| | | * 获取活动详情 |
| | | * |
| | | * @param acceptData |
| | | * @param activityId |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("getActivityDetail") |
| | | public String getActivityDetail(AcceptData acceptData, Long activityId) { |
| | | |
| | | ActivityDetailInfoVO vo = new ActivityDetailInfoVO(); |
| | | |
| | | LuckyActivity actiivty = luckyActivityService.getActivityDetail(activityId); |
| | | //获取tag |
| | | List<ActivityTag> tagList = activityTagService.getTagList(activityId); |
| | | |
| | | //获取参与者数量 |
| | | long count = luckyActivityJoinService.countWeightRank(activityId); |
| | | |
| | | //获取最近的参与者列表 |
| | | List<SimpleUser> userList = new ArrayList<>(); |
| | | luckyActivityJoinService.getJoinerList(activityId, 1, 20); |
| | | List<ActivitySimpleUser> list = luckyActivityJoinService.getJoinerList(activityId, 1, Constant.PAGE_SIZE); |
| | | if (list != null && list.size() > 0) { |
| | | Map<Long, UserInfo> userInfoMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(list)); |
| | | for (ActivitySimpleUser info : list) { |
| | | UserInfo user = userInfoMap.get(info.getUid()); |
| | | if (user != null) { |
| | | userList.add(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait())); |
| | | } |
| | | } |
| | | ActivityDetailInfoVO vo = activityService.getActivityDetail(activityId, acceptData.getApp().getId(), acceptData.getUid(), true, 20, false); |
| | | if (vo == null) { |
| | | return JsonUtil.loadFalseResult("活动不存在"); |
| | | } |
| | | |
| | | //获取是否参加 |
| | | LuckyActivityJoinRecord record = luckyActivityJoinService.getJoinInfo(activityId, acceptData.getApp().getId(), acceptData.getUid() + ""); |
| | | |
| | | boolean join = false; |
| | | if (record != null) { |
| | | join = true; |
| | | } |
| | | |
| | | vo.setActivity(actiivty); |
| | | vo.setJoin(join); |
| | | vo.setJoinerList(userList); |
| | | vo.setTagList(tagList); |
| | | |
| | | return JsonUtil.loadTrueResult(vo); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取推荐活动列表 |
| | | * |
| | | * @param acceptData |
| | | * @param page |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("getRecommendActivity") |
| | | public String getRecommendActivity(AcceptData acceptData, int page) { |
| | | List<LuckyActivity> list = luckyActivityService.getRecommendActivity(acceptData.getApp().getId(), acceptData.getUid() + "", page, Constant.PAGE_SIZE); |
| | | long count = luckyActivityService.getRecommendActivityCount(acceptData.getApp().getId(), acceptData.getUid() + ""); |
| | | |
| | | List<Long> activityIds = new ArrayList<>(); |
| | | if (list != null && list.size() > 0) { |
| | | for (LuckyActivity activity : list) { |
| | | activityIds.add(activity.getId()); |
| | | } |
| | | } |
| | | List<ActivityDetailInfoVO> voList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false); |
| | | JSONObject data = new JSONObject(); |
| | | data.put("data", voList); |
| | | data.put("count", count); |
| | | return JsonUtil.loadTrueResult(data); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | package com.ks.daylucky.controller.api.client; |
| | | |
| | | import com.ks.daylucky.pojo.DO.UserInfo; |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.pojo.VO.ActivityJoinerRankInfoVO; |
| | | import com.ks.daylucky.pojo.VO.DrawnProbabilityVO; |
| | | import com.ks.daylucky.pojo.VO.SimpleUser; |
| | | import com.ks.daylucky.pojo.VO.*; |
| | | import com.ks.daylucky.service.ActivityService; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.util.Constant; |
| | | import com.ks.daylucky.util.UserInfoUtil; |
| | | import com.ks.lucky.pojo.DTO.ActivityDrawnProbabilityStatistic; |
| | | import com.ks.lucky.pojo.DTO.ActivityJoinStatisticInfo; |
| | | import com.ks.lucky.pojo.DTO.ActivityJoinerRankInfo; |
| | | import com.ks.lucky.pojo.DTO.ActivitySimpleUser; |
| | | import com.ks.lucky.exception.LuckyActivityException; |
| | | import com.ks.lucky.exception.LuckyActivityJoinException; |
| | | import com.ks.lucky.pojo.DTO.*; |
| | | import com.ks.lucky.remote.service.LuckyActivityAwardResultService; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinService; |
| | | import net.sf.json.JSONObject; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | private LuckyActivityJoinService luckyActivityJoinService; |
| | | |
| | | @Resource |
| | | private LuckyActivityAwardResultService luckyActivityAwardResultService; |
| | | |
| | | @Resource |
| | | private UserInfoService userInfoService; |
| | | |
| | | @Resource |
| | | private ActivityService activityService; |
| | | |
| | | |
| | | /** |
| | |
| | | return JsonUtil.loadTrueResult(data); |
| | | } |
| | | |
| | | /** |
| | | * 获取抽奖记录 |
| | | * |
| | | * @param acceptData |
| | | * @param type 1-待开奖 2-已中奖 3-未中奖 |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("getJoinRecord") |
| | | public String getJoinRecord(AcceptData acceptData, int type, int page) { |
| | | List<Long> activityIdList = new ArrayList<>(); |
| | | long count = 0; |
| | | Long appId = acceptData.getApp().getId(); |
| | | Long uid = acceptData.getUid(); |
| | | switch (type) { |
| | | case 1: |
| | | activityIdList = luckyActivityJoinService.getUnOpenActivityIdList(appId, uid + "", page, Constant.PAGE_SIZE); |
| | | count = luckyActivityJoinService.countUnOpenActivityIdList(appId, uid + ""); |
| | | break; |
| | | case 2: |
| | | activityIdList = luckyActivityAwardResultService.getDrawnActivityIdList(appId, uid + "", page, Constant.PAGE_SIZE); |
| | | count = luckyActivityAwardResultService.countDrawnActivityIdList(appId, uid + ""); |
| | | break; |
| | | case 3: |
| | | activityIdList = luckyActivityJoinService.getUnDrawnActivityIdList(appId, uid + "", page, Constant.PAGE_SIZE); |
| | | count = luckyActivityJoinService.countUnDrawnActivityIdList(appId, uid + ""); |
| | | break; |
| | | } |
| | | |
| | | List<ActivityDetailInfoVO> voList = activityService.getActivityDetail(activityIdList, appId, uid, type == 2 ? true : false); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("data", JsonUtil.getApiCommonGson().toJson(voList)); |
| | | data.put("count", count); |
| | | |
| | | return JsonUtil.loadTrueResult(data); |
| | | } |
| | | |
| | | @ResponseBody |
| | | @RequestMapping("join") |
| | | public String join(AcceptData acceptData, Long activityId) { |
| | | UserInfo userInfo = userInfoService.getUserDetail(acceptData.getUid()); |
| | | if (userInfo == null) { |
| | | return JsonUtil.loadFalseResult("用户不存在"); |
| | | } |
| | | |
| | | JoinInfo joinInfo = new JoinInfo(); |
| | | joinInfo.setAlipayUid(userInfo.getAlipayUid()); |
| | | try { |
| | | int weight = 1; |
| | | luckyActivityJoinService.join(activityId, acceptData.getApp().getId(), acceptData.getUid() + "", 1, joinInfo); |
| | | |
| | | //TODO 抽奖活动的类型需要替换 |
| | | return JsonUtil.loadTrueResult(new JoinResultInfoVO(weight, String.format("活动期号:NO.%s\n抽奖活动", activityId))); |
| | | } catch (LuckyActivityException e) { |
| | | return JsonUtil.loadFalseResult(e.getMsg()); |
| | | } catch (LuckyActivityJoinException e) { |
| | | return JsonUtil.loadFalseResult(e.getMsg()); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.controller.api.client; |
| | | |
| | | import com.ks.daylucky.pojo.DO.Announcement; |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.pojo.VO.ActivityDetailInfoVO; |
| | | import com.ks.daylucky.service.ActivityService; |
| | | import com.ks.daylucky.service.ActivityTagService; |
| | | import com.ks.daylucky.service.AnnouncementService; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.util.Constant; |
| | | import com.ks.lucky.pojo.DO.LuckyActivity; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinService; |
| | | import com.ks.lucky.remote.service.LuckyActivityService; |
| | | import net.sf.json.JSONObject; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.yeshi.utils.JsonUtil; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Controller |
| | | @RequestMapping("api/client/anouncement") |
| | | public class AnouncementController { |
| | | |
| | | @Resource |
| | | private AnnouncementService announcementService; |
| | | |
| | | /** |
| | | * 获取通知 |
| | | * |
| | | * @param acceptData |
| | | * @param position |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("getNotice") |
| | | public String getNotice(AcceptData acceptData, String position) { |
| | | Announcement announcement = announcementService.getAnnouncement(acceptData.getApp().getId(), Announcement.AnnouncementType.home); |
| | | if (announcement == null || announcement.getShow() == false) { |
| | | return JsonUtil.loadFalseResult("没有通知"); |
| | | } |
| | | return JsonUtil.loadTrueResult(announcement); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import com.google.gson.annotations.Expose; |
| | | import com.ks.daylucky.pojo.DO.ActivityTag; |
| | | import com.ks.lucky.pojo.DO.LuckyActivity; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwardResult; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwards; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | //标签列表 |
| | | private List<ActivityTag> tagList; |
| | | |
| | | @Expose |
| | | //活动中奖结果 |
| | | private LuckyActivityAwards awards; |
| | | |
| | | public LuckyActivityAwards getAwards() { |
| | | return awards; |
| | | } |
| | | |
| | | public void setAwards(LuckyActivityAwards awards) { |
| | | this.awards = awards; |
| | | } |
| | | |
| | | public List<ActivityTag> getTagList() { |
| | | return tagList; |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.pojo.VO; |
| | | |
| | | /** |
| | | * 助力结果 |
| | | */ |
| | | public class AssistResultInfoVO { |
| | | private SimpleUser user; |
| | | private String title; |
| | | |
| | | public AssistResultInfoVO(SimpleUser user, String title) { |
| | | this.user = user; |
| | | this.title = title; |
| | | } |
| | | |
| | | public SimpleUser getUser() { |
| | | return user; |
| | | } |
| | | |
| | | public void setUser(SimpleUser user) { |
| | | this.user = user; |
| | | } |
| | | |
| | | public String getTitle() { |
| | | return title; |
| | | } |
| | | |
| | | public void setTitle(String title) { |
| | | this.title = title; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.pojo.VO; |
| | | |
| | | /** |
| | | * 助力结果 |
| | | */ |
| | | public class JoinResultInfoVO { |
| | | private int weight; |
| | | private String title; |
| | | |
| | | public JoinResultInfoVO(int weight, String title) { |
| | | this.weight = weight; |
| | | this.title = title; |
| | | } |
| | | |
| | | public int getWeight() { |
| | | return weight; |
| | | } |
| | | |
| | | public void setWeight(int weight) { |
| | | this.weight = weight; |
| | | } |
| | | |
| | | public String getTitle() { |
| | | return title; |
| | | } |
| | | |
| | | public void setTitle(String title) { |
| | | this.title = title; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.pojo.VO; |
| | | |
| | | import com.google.gson.annotations.Expose; |
| | | |
| | | /** |
| | | * 活动详情 |
| | | */ |
| | | public class UserActivityUnRecievedAwardVO { |
| | | @Expose |
| | | private String title; |
| | | @Expose |
| | | private Long awardId; |
| | | @Expose |
| | | private String picture; |
| | | @Expose |
| | | private String awardName; |
| | | |
| | | |
| | | public String getTitle() { |
| | | return title; |
| | | } |
| | | |
| | | public void setTitle(String title) { |
| | | this.title = title; |
| | | } |
| | | |
| | | public Long getAwardId() { |
| | | return awardId; |
| | | } |
| | | |
| | | public void setAwardId(Long awardId) { |
| | | this.awardId = awardId; |
| | | } |
| | | |
| | | public String getPicture() { |
| | | return picture; |
| | | } |
| | | |
| | | public void setPicture(String picture) { |
| | | this.picture = picture; |
| | | } |
| | | |
| | | public String getAwardName() { |
| | | return awardName; |
| | | } |
| | | |
| | | public void setAwardName(String awardName) { |
| | | this.awardName = awardName; |
| | | } |
| | | } |
| | |
| | | package com.ks.daylucky.service; |
| | | |
| | | import com.ks.daylucky.pojo.VO.ActivityDetailInfoVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface ActivityService { |
| | | |
| | | |
| | | public List<ActivityDetailInfoVO> getActivityDetail(List<Long> activityIds, Long appId, Long uid, Boolean needAwardResult); |
| | | |
| | | |
| | | public ActivityDetailInfoVO getActivityDetail(Long activityId, Long appId, Long uid, Boolean needTag, Integer maxJoinerCount, Boolean needAwardResult); |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.service.impl; |
| | | |
| | | import com.ks.daylucky.pojo.DO.ActivityTag; |
| | | import com.ks.daylucky.pojo.DO.UserInfo; |
| | | import com.ks.daylucky.pojo.VO.ActivityDetailInfoVO; |
| | | import com.ks.daylucky.pojo.VO.SimpleUser; |
| | | import com.ks.daylucky.service.ActivityService; |
| | | import com.ks.daylucky.service.ActivityTagService; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.util.Constant; |
| | | import com.ks.daylucky.util.UserInfoUtil; |
| | | import com.ks.lucky.pojo.DO.LuckyActivity; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwardResult; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord; |
| | | import com.ks.lucky.pojo.DTO.ActivitySimpleUser; |
| | | import com.ks.lucky.remote.service.LuckyActivityAwardResultService; |
| | | import com.ks.lucky.remote.service.LuckyActivityAwardService; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinService; |
| | | import com.ks.lucky.remote.service.LuckyActivityService; |
| | | import org.apache.dubbo.config.annotation.Reference; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class ActivityServiceImpl implements ActivityService { |
| | | @Reference |
| | | private LuckyActivityService luckyActivityService; |
| | | @Reference |
| | | private ActivityTagService activityTagService; |
| | | @Reference |
| | | private LuckyActivityJoinService luckyActivityJoinService; |
| | | |
| | | @Reference |
| | | private LuckyActivityAwardResultService luckyActivityAwardResultService; |
| | | |
| | | |
| | | @Reference |
| | | private LuckyActivityAwardService luckyActivityAwardService; |
| | | |
| | | @Resource |
| | | private UserInfoService userInfoService; |
| | | |
| | | @Override |
| | | public List<ActivityDetailInfoVO> getActivityDetail(List<Long> activityIds, Long appId, Long uid, Boolean needAwardResult) { |
| | | List<ActivityDetailInfoVO> voList = new ArrayList<>(); |
| | | if (activityIds != null) { |
| | | for (Long activityId : activityIds) { |
| | | voList.add(getActivityDetail(activityId, appId, uid, false, 3, needAwardResult)); |
| | | } |
| | | } |
| | | return voList; |
| | | } |
| | | |
| | | @Override |
| | | public ActivityDetailInfoVO getActivityDetail(Long activityId, Long appId, Long uid, Boolean needTag, Integer maxJoinerCount, Boolean needAwardResult) { |
| | | ActivityDetailInfoVO vo = new ActivityDetailInfoVO(); |
| | | |
| | | LuckyActivity activity = luckyActivityService.getActivityDetail(activityId); |
| | | if (needTag) { |
| | | //获取tag |
| | | List<ActivityTag> tagList = activityTagService.getTagList(activityId); |
| | | vo.setTagList(tagList); |
| | | } |
| | | if (maxJoinerCount != null) { |
| | | //获取最近的参与者列表 |
| | | List<SimpleUser> userList = new ArrayList<>(); |
| | | List<ActivitySimpleUser> list = luckyActivityJoinService.getJoinerList(activityId, 1, Constant.PAGE_SIZE); |
| | | if (list != null && list.size() > 0) { |
| | | Map<Long, UserInfo> userInfoMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(list)); |
| | | for (ActivitySimpleUser info : list) { |
| | | UserInfo user = userInfoMap.get(info.getUid()); |
| | | if (user != null) { |
| | | userList.add(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait())); |
| | | } |
| | | } |
| | | } |
| | | vo.setJoinerList(userList); |
| | | } |
| | | if (uid != null) { |
| | | //获取是否参加 |
| | | LuckyActivityJoinRecord record = luckyActivityJoinService.getJoinInfo(activityId, appId, uid + ""); |
| | | boolean join = false; |
| | | if (record != null) { |
| | | join = true; |
| | | } |
| | | vo.setJoin(join); |
| | | } |
| | | |
| | | //是否需要加载中奖结果 |
| | | if (needAwardResult) { |
| | | LuckyActivityAwardResult result = luckyActivityAwardResultService.getResult(appId, uid + "", activityId); |
| | | if (result != null) { |
| | | vo.setAwards(luckyActivityAwardService.getAwardDetail(result.getAwardId())); |
| | | } |
| | | } |
| | | vo.setActivity(activity); |
| | | |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | int setStateByActivityId(@Param("activityId") Long activityId, @Param("state") Integer state, @Param("stateDesc") String stateDesc, @Param("updateTime") Date updateTime); |
| | | |
| | | |
| | | List<LuckyActivityAwardResult> listUserAwardResult(@Param("appId") Long appId, @Param("uid") Long uid, @Param("stateList") List<Integer> stateList, @Param("activityStateList") List<Integer> activityStateList, long start, int count); |
| | | List<LuckyActivityAwardResult> listUserAwardResult(@Param("appId") Long appId, @Param("uid") String uid, @Param("stateList") List<Integer> stateList, @Param("activityStateList") List<Integer> activityStateList, long start, int count); |
| | | |
| | | long countUserAwardResult(@Param("appId") Long appId, @Param("uid") Long uid, @Param("stateList") List<Integer> stateList, @Param("activityStateList") List<Integer> activityStateList); |
| | | long countUserAwardResult(@Param("appId") Long appId, @Param("uid") String uid, @Param("stateList") List<Integer> stateList, @Param("activityStateList") List<Integer> activityStateList); |
| | | |
| | | } |
| | |
| | | public String uid; |
| | | public Long activityId; |
| | | public Long awardId; |
| | | public Integer state; |
| | | } |
| | |
| | | |
| | | |
| | | @Override |
| | | public LuckyActivityAwardResult getResult(Long appId, String uid, Long activityId, Long awardId) { |
| | | public LuckyActivityAwardResult getResult(Long appId, String uid, Long activityId) { |
| | | if (appId == null) { |
| | | return null; |
| | | } |
| | |
| | | query.appId = appId; |
| | | query.activityId = activityId; |
| | | query.uid = uid; |
| | | query.awardId = awardId; |
| | | query.start = 0; |
| | | query.count = 1; |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Long> getDrawnActivityIdList(Long appId, Long uid, int page, int pageSize) { |
| | | public List<Long> getDrawnActivityIdList(Long appId, String uid, int page, int pageSize) { |
| | | List<LuckyActivityAwardResult> list = luckyActivityAwardResultMapper.listUserAwardResult(appId, uid, Arrays.asList(new Integer[]{LuckyActivityAwardResult.STATE_NOT_RECIEVE, LuckyActivityAwardResult.STATE_RECIEVED, LuckyActivityAwardResult.STATE_OUT_OF_DATE, LuckyActivityAwardResult.STATE_RECIEVE_FAILED}), Arrays.asList(new Integer[]{LuckyActivity.STATE_OPENED}), (page - 1) * pageSize, pageSize); |
| | | List<Long> activityIdList = new ArrayList<>(); |
| | | if (list != null) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public long countDrawnActivityIdList(Long appId, Long uid) { |
| | | public long countDrawnActivityIdList(Long appId, String uid) { |
| | | return luckyActivityAwardResultMapper.countUserAwardResult(appId, uid, Arrays.asList(new Integer[]{LuckyActivityAwardResult.STATE_NOT_RECIEVE, LuckyActivityAwardResult.STATE_RECIEVED, LuckyActivityAwardResult.STATE_OUT_OF_DATE, LuckyActivityAwardResult.STATE_RECIEVE_FAILED}), Arrays.asList(new Integer[]{LuckyActivity.STATE_OPENED})); |
| | | } |
| | | |
| | |
| | | return list.get(0).getUpdateTime() == null ? list.get(0).getCreateTime() : list.get(0).getUpdateTime(); |
| | | } |
| | | |
| | | @Override |
| | | public List<LuckyActivityAwardResult> getUnRecievedAward(Long appId, String uid, int page, int pageSize) { |
| | | ActivityAwardResultQuery query = new ActivityAwardResultQuery(); |
| | | query.state = LuckyActivityAwardResult.STATE_NOT_RECIEVE; |
| | | query.appId = appId; |
| | | query.uid = uid; |
| | | query.start = (page - 1) * pageSize; |
| | | query.count = pageSize; |
| | | return luckyActivityAwardResultMapper.list(query); |
| | | } |
| | | |
| | | @Override |
| | | public long countUnRecievedAward(Long appId, String uid) { |
| | | ActivityAwardResultQuery query = new ActivityAwardResultQuery(); |
| | | query.state = LuckyActivityAwardResult.STATE_NOT_RECIEVE; |
| | | query.appId = appId; |
| | | query.uid = uid; |
| | | return luckyActivityAwardResultMapper.count(query); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public LuckyActivityJoinRecord getJoinRecord(Long id) { |
| | | return luckyActivityJoinRecordMapper.selectByPrimaryKey(id); |
| | | } |
| | | |
| | | @Override |
| | | public List<Long> getUnOpenActivityIdList(Long appId, String uid, int page, int pageSize) { |
| | | ActivityJoinRecordQuery query = new ActivityJoinRecordQuery(); |
| | | query.appId = appId; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | luckyActivityMapper.updateByPrimaryKeySelective(activity); |
| | | } |
| | | |
| | | @Override |
| | | public List<LuckyActivity> getRecommendActivity(Long appId, String uid, int page, int pageSize) { |
| | | ActivityDaoQuery query = new ActivityDaoQuery(); |
| | | query.appId = appId; |
| | | query.start = (page - 1) * pageSize; |
| | | query.count = pageSize; |
| | | query.sort = "actual_start_time desc"; |
| | | |
| | | query.stateList = Arrays.asList(new Integer[]{ |
| | | LuckyActivity.STATE_STARTED, |
| | | LuckyActivity.STATE_FINISH, |
| | | LuckyActivity.STATE_PRE_OPENED, |
| | | LuckyActivity.STATE_OPENED, |
| | | }); |
| | | |
| | | |
| | | return luckyActivityMapper.list(query); |
| | | } |
| | | |
| | | @Override |
| | | public Long getRecommendActivityCount(Long appId, String uid) { |
| | | ActivityDaoQuery query = new ActivityDaoQuery(); |
| | | query.appId = appId; |
| | | |
| | | query.stateList = Arrays.asList(new Integer[]{ |
| | | LuckyActivity.STATE_STARTED, |
| | | LuckyActivity.STATE_FINISH, |
| | | LuckyActivity.STATE_PRE_OPENED, |
| | | LuckyActivity.STATE_OPENED, |
| | | }); |
| | | |
| | | |
| | | return luckyActivityMapper.count(query); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | and award_id=#{query.awardId} |
| | | </if> |
| | | |
| | | <if test="query.state!=null"> |
| | | and `state`=#{query.state} |
| | | </if> |
| | | |
| | | |
| | | |
| | | <if test="query.minCreateTime!=null"> |
| | | and create_time>=#{query.minCreateTime} |
| | | </if> |