package com.ruoyi.member.controller.miniapp; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.goods.api.domain.GetLotteryEventList; import com.ruoyi.goods.api.domain.TLotteryEvent; import com.ruoyi.goods.api.domain.TLotteryEventUser; import com.ruoyi.goods.api.service.LotteryEventClient; import com.ruoyi.member.domain.vo.AppIntegralRecordPageVo; import com.ruoyi.member.domain.vo.AppIntegralTaskListVo; import com.ruoyi.member.service.member.IntegralRecordService; import com.ruoyi.member.service.member.MemberService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppPageDto; import com.ruoyi.system.api.domain.dto.IntegralChangeDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @ClassName AppIntegralController * @Description TODO * @Author jqs * @Date 2023/7/12 14:09 * @Version 1.0 */ @Api(value = "小程序积分相关接口", tags = "小程序积分相关接口", description = "小程序积分相关接口") @RestController @RequestMapping("/app/integral") public class AppIntegralController { @Resource private MemberService memberService; @Resource private IntegralRecordService integralRecordService; @Resource private LotteryEventClient lotteryEventClient; @RequestMapping(value = "/pageAppMemberIntegralRecord", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户积分明细列表") public R> pageAppMemberIntegralRecord(@RequestBody AppPageDto appPageDto) { Long userId = SecurityUtils.getUserId(); appPageDto.setUserId(userId); Page page = new Page<>(); page.setSize(appPageDto.getPageSize()); page.setCurrent(appPageDto.getPageNum()); List integralRecordPageVoList = integralRecordService.pageAppMemberIntegralRecord(page, userId); return R.ok(page.setRecords(integralRecordPageVoList)); } @RequestMapping(value = "/listAppMemberIntegralTask", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户积分任务列表") public R> listAppMemberIntegralTask() { Long userId = SecurityUtils.getUserId(); List integralTaskListVoList = memberService.listAppMemberIntegralTask(userId); return R.ok(integralTaskListVoList); } @RequestMapping(value = "/signToday", method = RequestMethod.POST) @ApiOperation(value = "今日签到") public R signToday() { Long userId = SecurityUtils.getUserId(); IntegralChangeDto integralChangeDto = new IntegralChangeDto(); integralChangeDto.setIntegralType(4); integralChangeDto.setUserId(userId); Boolean complete = memberService.changeIntegral(integralChangeDto); if(complete){ throw new ServiceException(AppErrorConstant.DOUBLE_INTEGRAL_TASK); } return R.ok(); } @RequestMapping(value = "/signShare", method = RequestMethod.POST) @ApiOperation(value = "今日分享【2.0】") public R> signShare() { Long userId = SecurityUtils.getUserId(); IntegralChangeDto integralChangeDto = new IntegralChangeDto(); integralChangeDto.setIntegralType(1); integralChangeDto.setUserId(userId); Boolean complete = memberService.changeIntegral(integralChangeDto); if (complete) { throw new ServiceException(AppErrorConstant.DOUBLE_INTEGRAL_TASK); } //判断是否可以抽奖 GetLotteryEventList getLotteryEventList = new GetLotteryEventList(); getLotteryEventList.setActivityType(3); getLotteryEventList.setUserId(SecurityUtils.getUserId()); List data = lotteryEventClient.getLotteryEventList(getLotteryEventList).getData(); Map map = new HashMap<>(); if(data.size() > 0){ TLotteryEvent tLotteryEvent = data.get(0); map.put("lotteryEventId", tLotteryEvent.getId().toString()); map.put("name", tLotteryEvent.getActivityProfile()); map.put("image", tLotteryEvent.getCoverImage()); //将数据添加到普通抽奖列表中 TLotteryEventUser lotteryEventUser = new TLotteryEventUser(); lotteryEventUser.setId(IdUtils.simpleUUID()); lotteryEventUser.setLotteryEventId(tLotteryEvent.getId().toString()); lotteryEventUser.setUser_id(SecurityUtils.getUserId()); lotteryEventClient.addLotteryEventUser(lotteryEventUser); } return R.ok(map); } }