jiangqs
2023-07-07 5627daeb1ac1a29947e902f9a7efb6730ed98611
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java
@@ -1,21 +1,31 @@
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.AppUserAuthorizeDto;
import com.ruoyi.member.domain.vo.AppUserAuthorizeVo;
import com.ruoyi.member.domain.vo.AppBirthdayCardVo;
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.MemberService;
import com.ruoyi.member.service.member.MemberSuggestService;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.dto.AppSuggestPageDto;
import com.ruoyi.system.api.domain.dto.AppUserSuggestDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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
@@ -29,18 +39,15 @@
@RequestMapping("/app/member")
public class AppMemberController {
    @Autowired
    @Resource
    private MemberService memberService;
    @Resource
    private MemberSuggestService memberSuggestService;
    @RequestMapping(value = "/getAppUserAuthorize", method = RequestMethod.POST)
    @ApiOperation(value = "获取用户授权信息")
    public R<AppUserAuthorizeVo> getAppUserAuthorize(@RequestBody AppUserAuthorizeDto appUserAuthorizeDto) {
        Long userId = SecurityUtils.getUserId();
        appUserAuthorizeDto.setUserId(userId);
        AppUserAuthorizeVo appUserAuthorizeVo = memberService.getAppUserAuthorize(appUserAuthorizeDto);
        return R.ok(appUserAuthorizeVo);
    }
    @Resource
    private BirthdayCardService birthdayCardService;
    @RequestMapping(value = "/getAppUserInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取用户信息")
@@ -59,4 +66,75 @@
        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);
        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();
        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);
    }
}