PointsOperationServiceImpl.java
5.43 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
package com.topdraw.business.process.service.impl;
import com.topdraw.business.module.member.domain.Member;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.points.available.domain.PointsAvailable;
import com.topdraw.business.module.points.available.service.PointsAvailableService;
import com.topdraw.business.module.points.available.service.dto.PointsAvailableDTO;
import com.topdraw.business.module.points.detail.domain.PointsDetail;
import com.topdraw.business.module.points.detail.service.PointsDetailService;
import com.topdraw.business.process.service.PointsOperationService;
import com.topdraw.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
*
*/
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
@Slf4j
public class PointsOperationServiceImpl implements PointsOperationService {
@Autowired
private MemberService memberService;
@Autowired
private PointsDetailService pointsDetailService;
@Autowired
private PointsAvailableService pointsAvailableService;
public void asyncMemberPoint(Member resource) {
log.info("同步会员积分,参数 asyncMemberPoint# resource ==>> {}", resource);
String code = resource.getCode();
if (StringUtils.isBlank(code)) {
log.error("同步会员积分异常,asyncMemberPoint# message ==>> 会员code不得为空");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(code);
log.info("同步会员积分,asyncMemberPoint# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", code, memberDTO);
if (Objects.isNull(memberDTO.getId())) {
log.error("同步会员积分异常,asyncMemberPoint# message ==>> 会员信息不存在");
return;
}
resource.setId(memberDTO.getId());
log.info("同步会员积分,asyncMemberPoint# 入库参数, resource ==>> {}", resource);
this.memberService.doUpdateMemberPoints(resource);
}
public void asyncPointsAvailable(PointsAvailable resource) {
log.info("同步会员可用积分,参数 asyncPointsAvailable# resource ==>> {}", resource);
String memberCode = resource.getMemberCode();
if (StringUtils.isBlank(memberCode)) {
log.error("同步会员可用积分异常,asyncPointsAvailable# message ==>> 会员code不得为空");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
log.info("同步会员可用积分,asyncPointsAvailable# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", memberCode, memberDTO);
if (Objects.isNull(memberDTO.getId())) {
log.error("同步会员可用积分异常,asyncPointsAvailable# message ==>> 会员信息不存在 || code ==>> {}", memberCode);
return;
}
resource.setMemberId(memberDTO.getId());
log.info("同步会员可用积分,asyncPointsAvailable# 入库参数, resource ==>> {}", resource);
this.pointsAvailableService.create4Custom(resource);
}
public void asyncPointsDetail(PointsDetail resource) {
log.info("同步会员积分流水,参数 asyncPointsDetail# resource ==>> {}", resource);
String memberCode = resource.getMemberCode();
if (StringUtils.isBlank(memberCode)) {
log.error("同步会员积分流水异常,asyncPointsDetail# message ==>> 会员code不得为空");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
log.info("同步会员积分流水,asyncPointsDetail# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", memberCode, memberDTO);
if (Objects.nonNull(memberDTO.getId())) {
log.error("同步会员积分流水异常,asyncPointsDetail# message ==>> 会员信息不存在 || code ==>> {}", memberCode);
return;
}
resource.setMemberId(memberDTO.getId());
log.info("同步会员积分流水,asyncPointsDetail# 入库参数, resource ==>> {}", resource);
this.pointsDetailService.create4Custom(resource);
}
public void asyncDeletePointsAvailable(PointsAvailable resource) {
log.info("同步删除会员可用积分,参数 asyncDeletePointsAvailable# resource ==>> {}", resource);
String code = resource.getCode();
if (StringUtils.isBlank(code)) {
log.error("同步删除会员可用积分异常,asyncDeletePointsAvailable# message ==>> 可用积分code不得为空");
return;
}
PointsAvailableDTO pointsAvailableDTO = this.pointsAvailableService.getByCode(code);
log.info("同步会员积分流水,asyncPointsDetail# 通过code ==>> {},查询会员可用积分,结果集,pointsAvailableDTO ==>> {}", code, pointsAvailableDTO);
log.info("同步会员积分流水,asyncPointsDetail# 删除可用积分,入库参数,pointsAvailableDTO ==>> {}", pointsAvailableDTO);
this.pointsAvailableService.delete(pointsAvailableDTO.getId());
}
}