MemberOperationController.java
5.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.topdraw.business.process.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.business.module.common.validated.UpdateGroup;
import com.topdraw.business.module.member.domain.Member;
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.domian.weixin.BuyVipBean;
import com.topdraw.business.process.service.member.MemberOperationService;
import com.topdraw.common.IResultInfo;
import com.topdraw.common.ResultInfo;
import com.topdraw.exception.BadRequestException;
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.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.sql.Timestamp;
import java.util.Objects;
@Api("会员处理")
@RestController
@RequestMapping(value = "/uce/memberOperation")
@CrossOrigin
@Slf4j
public class MemberOperationController {
@Autowired
private MemberOperationService memberOperationService;
@RequestMapping(value = "/updateVipByMemberId")
@ApiOperation("手动修改vip")
@AnonymousAccess
public ResultInfo updateVipByMemberId(@Validated(value = {UpdateGroup.class}) @RequestBody MemberOperationBean resources) {
log.info("member ==>> doUpdateVipByCode ==>> param ==>> [{}]",resources);
Integer vip = resources.getVip();
Timestamp vipExpireTime = resources.getVipExpireTime();
Long memberId = resources.getMemberId();
MemberDTO memberDTO = this.memberOperationService.findById(memberId);
Member member = new Member();
BeanUtils.copyProperties(memberDTO, member);
if (Objects.nonNull(vip)) {
member.setVip(vip);
}
if (Objects.nonNull(vipExpireTime)) {
member.setVipExpireTime(vipExpireTime);
}
this.memberOperationService.doUpdateMemberVipAndVipExpireTime(member);
return ResultInfo.success();
}
@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");
}
Timestamp vipExpireTime = resources.getVipExpireTime();
Member member = new Member();
member.setCode(memberCode);
member.setVip(vip);
member.setVipExpireTime(vipExpireTime);
MemberDTO memberDTO = this.memberOperationService.doUpdateMemberVipAndVipExpireTime(member);
this.createVipHistory(memberDTO.getId(), memberDTO.getCode(), vip, vipExpireTime);
return ResultInfo.success();
}
private void createVipHistory(Long memberId, String code, Integer vip , Timestamp vipExpireTime){
BuyVipBean buyVipBean = new BuyVipBean();
buyVipBean.setMemberId(memberId);
buyVipBean.setMemberCode(code);
buyVipBean.setVip(vip);
buyVipBean.setVipExpireTime(vipExpireTime);
this.memberOperationService.buyVipByMemberId(buyVipBean);
}
@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);
}
@PutMapping("/buyVip")
@ApiOperation("购买vip")
@AnonymousAccess
@Deprecated
public ResultInfo buyVip(@RequestBody BuyVipBean buyVipBean) {
/* // 小程序账户id
Long id = buyVipBean.getId();
if (Objects.isNull(id))
throw new BadRequestException("参数异常: id is null !");
// vip等级
Integer vip = buyVipBean.getVip();
if (Objects.isNull(vip) || vip <= 0)
throw new BadRequestException("vip 等级有误");
MemberDTO memberDTO = this.memberOperationService.buyVip(buyVipBean);
return ResultInfo.success(memberDTO);*/
return null;
}
}