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<AppUserInfoVo> 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<Page<AppSuggestPageVo>> pageAppUserSuggest(@RequestBody AppSuggestPageDto appSuggestPageDto) {
|
Long userId = SecurityUtils.getUserId();
|
appSuggestPageDto.setUserId(userId);
|
Page<AppSuggestPageVo> page = new Page<>();
|
page.setSize(appSuggestPageDto.getPageSize());
|
page.setCurrent(appSuggestPageDto.getPageNum());
|
List<AppSuggestPageVo> 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<AppBirthdayCardVo> getUserBirthdayCard() {
|
Long userId = SecurityUtils.getUserId();
|
Member member = memberService.getByUserId(userId);
|
AppBirthdayCardVo appBirthdayCardVo = new AppBirthdayCardVo();
|
appBirthdayCardVo.setCheckBirthdayCard(0);
|
if(member.getBindingFlag()==1){
|
Integer check = birthdayCardService.checkBirthdayCard(member.getRelationShopId());
|
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.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<AppBirthdayCardVo> 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<Page<AppMemberPrizePageVo>> pageAppMemberPrize(@RequestBody AppPageDto appPageDto) {
|
Long userId = SecurityUtils.getUserId();
|
appPageDto.setUserId(userId);
|
Page<AppMemberPrizePageVo> page = new Page<>();
|
page.setSize(appPageDto.getPageSize());
|
page.setCurrent(appPageDto.getPageNum());
|
List<AppMemberPrizePageVo> 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();
|
}
|
}
|