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.StringUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.member.domain.dto.AppMemberBrowseDto; import com.ruoyi.member.domain.vo.AppBirthdayCardVo; import com.ruoyi.member.domain.vo.AppMemberPrizePageVo; import com.ruoyi.member.domain.vo.AppSuggestPageVo; import com.ruoyi.member.domain.vo.AppUserInfoVo; import com.ruoyi.member.service.birthday.BirthdayCardService; import com.ruoyi.member.service.member.BrowseRecordService; import com.ruoyi.member.service.member.MemberService; import com.ruoyi.member.service.member.MemberSuggestService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.member.Member; 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.time.LocalDate; import java.util.List; /** * @author jqs34 * @ClassName AppConfigController * @description: TODO * @date 2023年04月19日 * @version: 1.0 */ @Api(value = "小程序会员相关接口", tags = "小程序会员相关接口", description = "小程序会员相关接口") @RestController @RequestMapping("/app/member") public class AppMemberController { @Resource private MemberService memberService; @Resource private MemberSuggestService memberSuggestService; @Resource private BirthdayCardService birthdayCardService; @Resource private BrowseRecordService browseRecordService; @RequestMapping(value = "/getAppUserInfo", method = RequestMethod.POST) @ApiOperation(value = "获取用户信息") public R getAppUserInfo() { Long userId = SecurityUtils.getUserId(); AppUserInfoVo appUserInfoVo = memberService.getAppUserInfo(userId); return R.ok(appUserInfoVo); } @RequestMapping(value = "/editAppUserInfo", method = RequestMethod.POST) @ApiOperation(value = "修改用户信息") public R editAppUserInfo(@RequestBody AppEditUserDto appEditUserDto) { Long userId = SecurityUtils.getUserId(); appEditUserDto.setUserId(userId); memberService.editAppUserInfo(appEditUserDto); return R.ok(); } @RequestMapping(value = "/pageAppUserSuggest", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户建议列表") public R> pageAppUserSuggest(@RequestBody AppSuggestPageDto appSuggestPageDto) { Long userId = SecurityUtils.getUserId(); appSuggestPageDto.setUserId(userId); Page page = new Page<>(); page.setSize(appSuggestPageDto.getPageSize()); page.setCurrent(appSuggestPageDto.getPageNum()); List appSuggestPageVoList = memberSuggestService.pageAppUserSuggest(page,appSuggestPageDto); return R.ok(page.setRecords(appSuggestPageVoList)); } @RequestMapping(value = "/userSuggest", method = RequestMethod.POST) @ApiOperation(value = "用户发起建议") public R userSuggest(@RequestBody AppUserSuggestDto appUserSuggestDto) { Long userId = SecurityUtils.getUserId(); appUserSuggestDto.setUserId(userId); memberSuggestService.userSuggest(appUserSuggestDto); IntegralChangeDto integralChangeDto = new IntegralChangeDto(); if(appUserSuggestDto.getSuggestType()==1){ integralChangeDto.setIntegralType(2); }else{ integralChangeDto.setIntegralType(3); } integralChangeDto.setUserId(userId); memberService.changeIntegral(integralChangeDto); return R.ok(); } @RequestMapping(value = "/getUserBirthdayCard", method = RequestMethod.POST) @ApiOperation(value = "获取用户生日卡信息") public R getUserBirthdayCard() { Long userId = SecurityUtils.getUserId(); Member member = memberService.getByUserId(userId); AppBirthdayCardVo appBirthdayCardVo = new AppBirthdayCardVo(); appBirthdayCardVo.setCheckBirthdayCard(0); Integer check = birthdayCardService.checkBirthdayCard(member.getRelationShopId(),member.getBindingFlag()); if(check==1){ appBirthdayCardVo.setCheckBirthdayCard(1); if(StringUtils.isNotBlank(member.getBirthday())){ appBirthdayCardVo.setHaveBirthdayFlag(1); String birthday = member.getBirthday(); LocalDate today = LocalDate.now(); int birthdayMonth = Integer.parseInt(birthday.split("-")[1]); int todayMonth = today.getMonthValue(); if (birthdayMonth == todayMonth) { appBirthdayCardVo = birthdayCardService.getUserBirthdayCard(userId,member.getRelationShopId()); appBirthdayCardVo.setCheckBirthdayCard(1); appBirthdayCardVo.setHaveBirthdayFlag(1); appBirthdayCardVo.setInBirthdayFlag(1); } else { appBirthdayCardVo.setHaveBirthdayFlag(1); appBirthdayCardVo.setInBirthdayFlag(0); } }else{ appBirthdayCardVo.setHaveBirthdayFlag(0); } } return R.ok(appBirthdayCardVo); } @RequestMapping(value = "/getBirthdayGift", method = RequestMethod.POST) @ApiOperation(value = "领取生日礼包") public R getBirthdayGift() { Long userId = SecurityUtils.getUserId(); Member member = memberService.getByUserId(userId); AppBirthdayCardVo appBirthdayCardVo = new AppBirthdayCardVo(); if(StringUtils.isNotBlank(member.getBirthday())){ appBirthdayCardVo.setHaveBirthdayFlag(1); String birthday = member.getBirthday(); LocalDate today = LocalDate.now(); int birthdayMonth = Integer.parseInt(birthday.split("-")[1]); int todayMonth = today.getMonthValue(); if (birthdayMonth == todayMonth) { appBirthdayCardVo = birthdayCardService.getBirthdayGift(userId,member.getRelationShopId()); appBirthdayCardVo.setHaveBirthdayFlag(1); appBirthdayCardVo.setInBirthdayFlag(1); } else { throw new ServiceException(AppErrorConstant.BIRTHDAY_ERROR); } }else{ throw new ServiceException(AppErrorConstant.BIRTHDAY_NULL); } return R.ok(appBirthdayCardVo); } @RequestMapping(value = "/pageAppMemberPrize", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户奖品列表") public R> pageAppMemberPrize(@RequestBody AppPageDto appPageDto) { Long userId = SecurityUtils.getUserId(); appPageDto.setUserId(userId); Page page = new Page<>(); page.setSize(appPageDto.getPageSize()); page.setCurrent(appPageDto.getPageNum()); List memberPrizePageVoList = birthdayCardService.pageAppMemberPrize(page,userId); return R.ok(page.setRecords(memberPrizePageVoList)); } @RequestMapping(value = "/browseRecord", method = RequestMethod.POST) @ApiOperation(value = "浏览记录") public R browseRecord(@RequestBody AppMemberBrowseDto appMemberBrowseDto) { Long userId = SecurityUtils.getUserId(); appMemberBrowseDto.setUserId(userId); browseRecordService.browseRecord(appMemberBrowseDto); return R.ok(); } }