MemberOperationController.java 3.95 KB
package com.topdraw.business.process.rest;

import com.topdraw.base.modules.annotation.AnonymousAccess;
import com.topdraw.base.modules.common.IResultInfo;
import com.topdraw.base.modules.common.ResultInfo;
import com.topdraw.business.module.common.validated.UpdateGroup;
import com.topdraw.business.module.member.address.domain.MemberAddress;
import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO;
import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.process.domian.member.MemberOperationBean;
import com.topdraw.business.process.service.member.MemberOperationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.Objects;

@Api("会员处理")
@RestController
@RequestMapping(value = "/uce/memberOperation")
@CrossOrigin
@Slf4j
public class MemberOperationController {

    @Autowired
    private MemberOperationService memberOperationService;

    @RequestMapping(value = "/updateDefaultMemberAddressById")
    @ApiOperation("设置默认地址")
    @AnonymousAccess
    public ResultInfo updateDefaultMemberAddressById(@Validated(value = {UpdateGroup.class}) @RequestBody MemberAddress resources) {
        log.info("设置默认地址,参数 ==>> [updateDefaultMemberAddressById#{}]",resources);
        Long id = resources.getId();
        if (Objects.isNull(id)) {
            return ResultInfo.failure("设置默认地址失败,参数错误,id为空");
        }

        MemberAddressDTO memberAddressDTO = this.memberOperationService.updateDefaultMemberAddressById(id);

        return ResultInfo.success(memberAddressDTO);
    }

    @RequestMapping(value = "/updateVipByMemberId")
    @ApiOperation("手动修改vip")
    @AnonymousAccess
    public ResultInfo updateVipByMemberId(@Validated(value = {UpdateGroup.class}) @RequestBody MemberOperationBean resources) {
        log.info("member ==>> doUpdateVipByCode ==>> param ==>> [{}]",resources);
        Long memberId = resources.getMemberId();
        MemberDTO memberDTO = this.memberOperationService.findById(memberId);
        resources.setMemberCode(memberDTO.getCode());

        return this.updateVipByMemberCode(resources);
    }

    @RequestMapping(value = "/updateVipByMemberCode")
    @ApiOperation("手动修改vip")
    @AnonymousAccess
    public ResultInfo updateVipByMemberCode(@Validated(value = {UpdateGroup.class}) @RequestBody MemberOperationBean resources) {
        log.info("member ==>> doUpdateVipByCode ==>> param ==>> [{}]",resources);
        String memberCode = resources.getMemberCode();
        if (StringUtils.isBlank(memberCode)) {
            log.error("参数错误,memberCode 不存在");
            return ResultInfo.failure("参数错误,memberCode 不存在");
        }

        Integer vip = resources.getVip();
        if (Objects.isNull(vip) || vip < 0) {
            log.error("参数错误,vip为空或者小于0 , vip ==>> {}", vip);
            return ResultInfo.failure("参数错误,vip为空或者小于0");
        }

        MemberDTO memberDTO = this.memberOperationService.doUpdateVipByMemberCode(resources);
        return ResultInfo.success(memberDTO);
    }


    @GetMapping("/getMemberProfileAndCheckVip/{appId}/{memberId}")
    @ApiOperation("获取会员基本信息并且检查vip状态")
    @AnonymousAccess
    @Deprecated
    public IResultInfo getMemberProfileAndCheckVip(@PathVariable(value = "appId") String appId, @PathVariable(value = "memberId") Long memberId) {
        MemberProfileDTO memberProfileDTO = this.memberOperationService.getMemberProfileAndCheckVip(memberId, appId);
        return ResultInfo.success(memberProfileDTO);
    }
}