Commit 75d127a8 75d127a833a2c784c89ed5b9c0da62ab03fdc1ba by xianghan

Merge remote-tracking branch 'remotes/origin/1.1.0-STABLE' into master-copy

# Conflicts:
#	member-service-api/pom.xml
#	member-service-impl/.gitignore
#	member-service-impl/src/main/java/com/topdraw/business/basicdata/member/relatedinfo/rest/MemberRelatedInfoController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/coupon/history/rest/CouponHistoryController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/coupon/rest/CouponController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/exp/detail/rest/ExpDetailController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/exp/history/rest/ExpHistoryController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/member/address/rest/MemberAddressController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/member/group/rest/MemberGroupController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/member/level/rest/MemberLevelController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/member/profile/rest/MemberProfileController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/member/rest/MemberController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/points/available/rest/PointsAvailableController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/points/detail/detailhistory/rest/PointsDetailHistoryController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/points/detail/rest/PointsDetailController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/points/rest/PointsController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/points/standingbook/rest/PointsStandingBookController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/rights/history/rest/RightsHistoryController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/rights/permanentrights/rest/PermanentRightsController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/task/progress/rest/TrTaskProgressController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/task/rest/TaskController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/task/template/rest/TaskTemplateController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/user/iptv/rest/UserTvController.java
#	member-service-impl/src/main/java/com/topdraw/business/module/user/weixin/rest/UserWeixinController.java
#	member-service-impl/src/main/java/com/topdraw/business/process/rest/CouponOperationController.java
#	member-service-impl/src/main/java/com/topdraw/business/process/rest/ExpOperationController.java
#	member-service-impl/src/main/java/com/topdraw/business/process/rest/PointsOperationController.java
#	member-service-impl/src/main/java/com/topdraw/business/process/rest/TaskOperationController.java
#	member-service-impl/src/main/resources/config/application-dev.yml
2 parents 9ba9a1c0 3e7c3d3f
Showing 323 changed files with 1119 additions and 415 deletions
...@@ -12,15 +12,21 @@ ...@@ -12,15 +12,21 @@
12 <artifactId>member-service-api</artifactId> 12 <artifactId>member-service-api</artifactId>
13 13
14 <properties> 14 <properties>
15 15 <cronos.version>1.1.0</cronos.version>
16 </properties> 16 </properties>
17 17
18 <dependencies> 18 <dependencies>
19 <!--代码生成器--> 19 <!--系统-->
20 <dependency> 20 <dependency>
21 <groupId>com.topdraw</groupId> 21 <groupId>com.topdraw</groupId>
22 <artifactId>cronos-system</artifactId> 22 <artifactId>cronos-system</artifactId>
23 <version>1.1.0</version> 23 <version>${cronos.version}</version>
24 </dependency>
25 <!--代码生成器-->
26 <dependency>
27 <groupId>com.topdraw</groupId>
28 <artifactId>cronos-generator</artifactId>
29 <version>${cronos.version}</version>
24 </dependency> 30 </dependency>
25 </dependencies> 31 </dependencies>
26 32
......
...@@ -25,6 +25,8 @@ public class DataSyncMsg implements Serializable { ...@@ -25,6 +25,8 @@ public class DataSyncMsg implements Serializable {
25 // 其他属性 25 // 其他属性
26 private String extraData; 26 private String extraData;
27 27
28 /** 模板参数 */
29 private TaskTemplateParam param;
28 30
29 /** 31 /**
30 * 消息体 32 * 消息体
...@@ -38,15 +40,29 @@ public class DataSyncMsg implements Serializable { ...@@ -38,15 +40,29 @@ public class DataSyncMsg implements Serializable {
38 private Integer event; // 具体事件 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;30:积分兑换商品;98:系统操作;99:其他 40 private Integer event; // 具体事件 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;30:积分兑换商品;98:系统操作;99:其他
39 @NotNull 41 @NotNull
40 private Long memberId; // 会员id 42 private Long memberId; // 会员id
43 private Long userId; // 账户id
41 @NotNull 44 @NotNull
42 private Integer deviceType; //设备类型 1:大屏;2:小屏(微信)3.小屏(xx) 45 private Integer deviceType; //设备类型 1:大屏;2:小屏(微信)3.小屏(xx)
43 @NotNull 46 @NotNull
44 private String appCode; //用户对应的应用code 47 private String appCode; //用户对应的应用code
48 private String memberCode;
45 private Long accountId; // 账号id 49 private Long accountId; // 账号id
46 private Long orderId; 50 private Long orderId;
47 private Long activityId; 51 private Long activityId;
48 private Long mediaId; 52 private Long mediaId;
49 private Long itemId; 53 private Long itemId;
54 private String param;
55
56 }
57
58 @Data
59 @AllArgsConstructor
60 @NoArgsConstructor
61 public static class TaskTemplateParam {
62 /** 类别 */
63 private String category;
64 /** 编码 */
65 private String code;
50 } 66 }
51 67
52 } 68 }
......
1 package com.topdraw.module.mq;
2
3 /**
4 * @author :
5 * @description:
6 * @function :
7 * @date :Created in 2022/2/3 22:46
8 * @version: :
9 * @modified By:
10 * @since : modified in 2022/2/3 22:46
11 */
12 public enum DeviceType {
13
14 IPTV(),
15 weixin();
16
17 }
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
2 /logs/ 2 /logs/
3 /member-service-impl.iml 3 /member-service-impl.iml
4 /src/main/resources/rebel.xml 4 /src/main/resources/rebel.xml
5 *.iml
...\ No newline at end of file ...\ No newline at end of file
5 /src/test/
...\ No newline at end of file ...\ No newline at end of file
......
1 package com.topdraw; 1 package com.topdraw;
2 2
3
3 import com.topdraw.utils.SpringContextHolder; 4 import com.topdraw.utils.SpringContextHolder;
4 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.SpringApplication;
5 import org.springframework.boot.autoconfigure.SpringBootApplication; 6 import org.springframework.boot.autoconfigure.SpringBootApplication;
...@@ -12,7 +13,6 @@ import org.springframework.data.jpa.repository.config.EnableJpaAuditing; ...@@ -12,7 +13,6 @@ import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
12 import org.springframework.retry.annotation.EnableRetry; 13 import org.springframework.retry.annotation.EnableRetry;
13 import org.springframework.scheduling.annotation.EnableAsync; 14 import org.springframework.scheduling.annotation.EnableAsync;
14 import org.springframework.transaction.annotation.EnableTransactionManagement; 15 import org.springframework.transaction.annotation.EnableTransactionManagement;
15 import org.springframework.web.bind.annotation.CrossOrigin;
16 16
17 /** 17 /**
18 * @author XiangHan 18 * @author XiangHan
...@@ -20,10 +20,10 @@ import org.springframework.web.bind.annotation.CrossOrigin; ...@@ -20,10 +20,10 @@ import org.springframework.web.bind.annotation.CrossOrigin;
20 */ 20 */
21 @EnableJpaAuditing 21 @EnableJpaAuditing
22 @EnableAsync 22 @EnableAsync
23 @SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
24 @EnableTransactionManagement 23 @EnableTransactionManagement
25 @EnableRetry 24 @EnableRetry
26 @EnableCaching 25 @EnableCaching
26 @SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
27 public class MemberServiceApplication extends SpringBootServletInitializer { 27 public class MemberServiceApplication extends SpringBootServletInitializer {
28 28
29 public static void main(String[] args) { 29 public static void main(String[] args) {
...@@ -39,4 +39,7 @@ public class MemberServiceApplication extends SpringBootServletInitializer { ...@@ -39,4 +39,7 @@ public class MemberServiceApplication extends SpringBootServletInitializer {
39 public SpringContextHolder springContextHolder() { 39 public SpringContextHolder springContextHolder() {
40 return new SpringContextHolder(); 40 return new SpringContextHolder();
41 } 41 }
42
42 } 43 }
44
45
......
1 package com.topdraw.business.module.common.domain;
2
3 import lombok.Data;
4 import lombok.experimental.Accessors;
5 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
6
7 import javax.persistence.Entity;
8 import javax.persistence.EntityListeners;
9 import javax.persistence.Transient;
10 import java.io.Serializable;
11
12 /**
13 * @author :
14 * @description:
15 * @function :
16 * @date :Created in 2022/2/10 10:12
17 * @version: :
18 * @modified By:
19 * @since : modified in 2022/2/10 10:12
20 */
21 @Data
22 @Accessors(chain = true)
23 public class DefaultAsyncMqModule {
24
25 @Transient
26 private String memberCode;
27
28 }
1 package com.topdraw.business.basicdata.coupon.domain; 1 package com.topdraw.business.module.coupon.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
......
1 package com.topdraw.business.basicdata.coupon.history.domain; 1 package com.topdraw.business.module.coupon.history.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
...@@ -48,7 +48,7 @@ public class CouponHistory implements Serializable { ...@@ -48,7 +48,7 @@ public class CouponHistory implements Serializable {
48 48
49 // 领取时间 49 // 领取时间
50 @Column(name = "receive_time") 50 @Column(name = "receive_time")
51 private Timestamp receiveTime; 51 private LocalDateTime receiveTime;
52 52
53 // 失效时间 53 // 失效时间
54 @Column(name = "expire_time") 54 @Column(name = "expire_time")
...@@ -60,7 +60,7 @@ public class CouponHistory implements Serializable { ...@@ -60,7 +60,7 @@ public class CouponHistory implements Serializable {
60 60
61 // 使用时间 61 // 使用时间
62 @Column(name = "use_time") 62 @Column(name = "use_time")
63 private Timestamp useTime; 63 private LocalDateTime useTime;
64 64
65 // 订单详情id 65 // 订单详情id
66 @Column(name = "order_detail_id") 66 @Column(name = "order_detail_id")
...@@ -69,12 +69,12 @@ public class CouponHistory implements Serializable { ...@@ -69,12 +69,12 @@ public class CouponHistory implements Serializable {
69 // 创建时间 69 // 创建时间
70 @CreatedDate 70 @CreatedDate
71 @Column(name = "create_time") 71 @Column(name = "create_time")
72 private Timestamp createTime; 72 private LocalDateTime createTime;
73 73
74 // 更新时间 74 // 更新时间
75 @LastModifiedDate 75 @LastModifiedDate
76 @Column(name = "update_time") 76 @Column(name = "update_time")
77 private Timestamp updateTime; 77 private LocalDateTime updateTime;
78 78
79 public void copy(CouponHistory source){ 79 public void copy(CouponHistory source){
80 BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); 80 BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
......
1 package com.topdraw.business.basicdata.coupon.history.repository; 1 package com.topdraw.business.module.coupon.history.repository;
2 2
3 import com.topdraw.business.basicdata.coupon.history.domain.CouponHistory; 3 import com.topdraw.business.module.coupon.history.domain.CouponHistory;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
7 import java.sql.Timestamp; 7 import java.sql.Timestamp;
8 import java.util.Optional; 8 import java.time.LocalDateTime;
9 9
10 /** 10 /**
11 * @author XiangHan 11 * @author XiangHan
...@@ -15,7 +15,7 @@ public interface CouponHistoryRepository extends JpaRepository<CouponHistory, Lo ...@@ -15,7 +15,7 @@ public interface CouponHistoryRepository extends JpaRepository<CouponHistory, Lo
15 15
16 Long countByUserId(Long userId); 16 Long countByUserId(Long userId);
17 17
18 Long countByUserIdAndExpireTimeBefore(Long userId, Timestamp now); 18 Long countByUserIdAndExpireTimeBefore(Long userId, LocalDateTime now);
19 19
20 Long countByUserIdAndExpireTimeBetween(Long userId, Timestamp now, Timestamp expireTime); 20 Long countByUserIdAndExpireTimeBetween(Long userId, LocalDateTime now, LocalDateTime expireTime);
21 } 21 }
......
1 package com.topdraw.business.basicdata.coupon.history.rest; 1 package com.topdraw.business.module.coupon.history.rest;
2 2
3 import com.topdraw.common.ResultInfo; 3 import com.topdraw.common.ResultInfo;
4 import com.topdraw.aop.log.Log; 4 import com.topdraw.business.module.coupon.history.domain.CouponHistory;
5 import com.topdraw.business.basicdata.coupon.history.domain.CouponHistory; 5 import com.topdraw.business.module.coupon.history.service.CouponHistoryService;
6 import com.topdraw.business.basicdata.coupon.history.service.CouponHistoryService; 6 import com.topdraw.business.module.coupon.history.service.dto.CouponHistoryQueryCriteria;
7 import com.topdraw.business.basicdata.coupon.history.service.dto.CouponHistoryQueryCriteria;
8 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.data.domain.Pageable; 8 import org.springframework.data.domain.Pageable;
10 import org.springframework.http.HttpStatus;
11 import org.springframework.http.ResponseEntity;
12 import org.springframework.validation.annotation.Validated; 9 import org.springframework.validation.annotation.Validated;
13 import org.springframework.web.bind.annotation.*; 10 import org.springframework.web.bind.annotation.*;
14 import io.swagger.annotations.*; 11 import io.swagger.annotations.*;
15 import java.io.IOException;
16 import javax.servlet.http.HttpServletResponse;
17 12
18 /** 13 /**
19 * @author XiangHan 14 * @author XiangHan
...@@ -39,7 +34,6 @@ public class CouponHistoryController { ...@@ -39,7 +34,6 @@ public class CouponHistoryController {
39 return ResultInfo.success(CouponHistoryService.queryAll(criteria)); 34 return ResultInfo.success(CouponHistoryService.queryAll(criteria));
40 } 35 }
41 36
42 @Log
43 @PostMapping(value = "/create") 37 @PostMapping(value = "/create")
44 @ApiOperation("新增CouponHistory") 38 @ApiOperation("新增CouponHistory")
45 public ResultInfo create(@Validated @RequestBody CouponHistory resources) { 39 public ResultInfo create(@Validated @RequestBody CouponHistory resources) {
...@@ -47,7 +41,6 @@ public class CouponHistoryController { ...@@ -47,7 +41,6 @@ public class CouponHistoryController {
47 return ResultInfo.success(); 41 return ResultInfo.success();
48 } 42 }
49 43
50 @Log
51 @PutMapping(value = "/update") 44 @PutMapping(value = "/update")
52 @ApiOperation("修改CouponHistory") 45 @ApiOperation("修改CouponHistory")
53 public ResultInfo update(@Validated @RequestBody CouponHistory resources) { 46 public ResultInfo update(@Validated @RequestBody CouponHistory resources) {
...@@ -56,7 +49,6 @@ public class CouponHistoryController { ...@@ -56,7 +49,6 @@ public class CouponHistoryController {
56 } 49 }
57 50
58 51
59 @Log
60 @DeleteMapping(value = "/delete/{id}") 52 @DeleteMapping(value = "/delete/{id}")
61 @ApiOperation("删除CouponHistory") 53 @ApiOperation("删除CouponHistory")
62 public ResultInfo delete(@PathVariable Long id) { 54 public ResultInfo delete(@PathVariable Long id) {
......
1 package com.topdraw.business.basicdata.coupon.history.service; 1 package com.topdraw.business.module.coupon.history.service;
2 2
3 import com.topdraw.business.basicdata.coupon.history.domain.CouponHistory; 3 import com.topdraw.business.module.coupon.history.domain.CouponHistory;
4 import com.topdraw.business.basicdata.coupon.history.service.dto.CouponHistoryDTO; 4 import com.topdraw.business.module.coupon.history.service.dto.CouponHistoryDTO;
5 import com.topdraw.business.basicdata.coupon.history.service.dto.CouponHistoryQueryCriteria; 5 import com.topdraw.business.module.coupon.history.service.dto.CouponHistoryQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 7
8 import java.sql.Timestamp; 8 import java.sql.Timestamp;
9 import java.time.LocalDateTime;
9 import java.util.Map; 10 import java.util.Map;
10 import java.util.List; 11 import java.util.List;
11 import java.io.IOException;
12 import javax.servlet.http.HttpServletResponse;
13 12
14 /** 13 /**
15 * @author XiangHan 14 * @author XiangHan
...@@ -47,7 +46,7 @@ public interface CouponHistoryService { ...@@ -47,7 +46,7 @@ public interface CouponHistoryService {
47 46
48 Long countByUserId(Long userId); 47 Long countByUserId(Long userId);
49 48
50 Long countByUserIdAndExpireTimeBefore(Long userId, Timestamp now); 49 Long countByUserIdAndExpireTimeBefore(Long userId, LocalDateTime now);
51 50
52 Long countByUserIdAndExpireTimeBetween(Long userId, Timestamp now, Timestamp expireTime); 51 Long countByUserIdAndExpireTimeBetween(Long userId, LocalDateTime now, LocalDateTime expireTime);
53 } 52 }
......
1 package com.topdraw.business.basicdata.coupon.history.service.dto; 1 package com.topdraw.business.module.coupon.history.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp;
5 import java.io.Serializable; 4 import java.io.Serializable;
6 import java.time.LocalDateTime; 5 import java.time.LocalDateTime;
7 6
...@@ -29,7 +28,7 @@ public class CouponHistoryDTO implements Serializable { ...@@ -29,7 +28,7 @@ public class CouponHistoryDTO implements Serializable {
29 private String userNickname; 28 private String userNickname;
30 29
31 // 领取时间 30 // 领取时间
32 private Timestamp receiveTime; 31 private LocalDateTime receiveTime;
33 32
34 // 失效时间 33 // 失效时间
35 private LocalDateTime expireTime; 34 private LocalDateTime expireTime;
...@@ -38,14 +37,14 @@ public class CouponHistoryDTO implements Serializable { ...@@ -38,14 +37,14 @@ public class CouponHistoryDTO implements Serializable {
38 private Integer useStatus; 37 private Integer useStatus;
39 38
40 // 使用时间 39 // 使用时间
41 private Timestamp useTime; 40 private LocalDateTime useTime;
42 41
43 // 订单详情id 42 // 订单详情id
44 private Long orderDetailId; 43 private Long orderDetailId;
45 44
46 // 创建时间 45 // 创建时间
47 private Timestamp createTime; 46 private LocalDateTime createTime;
48 47
49 // 更新时间 48 // 更新时间
50 private Timestamp updateTime; 49 private LocalDateTime updateTime;
51 } 50 }
......
1 package com.topdraw.business.basicdata.coupon.history.service.dto; 1 package com.topdraw.business.module.coupon.history.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import com.topdraw.annotation.Query;
5 4
6 /** 5 /**
7 * @author XiangHan 6 * @author XiangHan
......
1 package com.topdraw.business.basicdata.coupon.history.service.impl; 1 package com.topdraw.business.module.coupon.history.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.coupon.history.domain.CouponHistory; 4 import com.topdraw.business.module.coupon.history.domain.CouponHistory;
5 import com.topdraw.utils.ValidationUtil; 5 import com.topdraw.utils.ValidationUtil;
6 import com.topdraw.business.basicdata.coupon.history.repository.CouponHistoryRepository; 6 import com.topdraw.business.module.coupon.history.repository.CouponHistoryRepository;
7 import com.topdraw.business.basicdata.coupon.history.service.CouponHistoryService; 7 import com.topdraw.business.module.coupon.history.service.CouponHistoryService;
8 import com.topdraw.business.basicdata.coupon.history.service.dto.CouponHistoryDTO; 8 import com.topdraw.business.module.coupon.history.service.dto.CouponHistoryDTO;
9 import com.topdraw.business.basicdata.coupon.history.service.dto.CouponHistoryQueryCriteria; 9 import com.topdraw.business.module.coupon.history.service.dto.CouponHistoryQueryCriteria;
10 import com.topdraw.business.basicdata.coupon.history.service.mapper.CouponHistoryMapper; 10 import com.topdraw.business.module.coupon.history.service.mapper.CouponHistoryMapper;
11 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
13 import org.springframework.transaction.annotation.Propagation; 13 import org.springframework.transaction.annotation.Propagation;
...@@ -20,6 +20,7 @@ import com.topdraw.utils.PageUtil; ...@@ -20,6 +20,7 @@ import com.topdraw.utils.PageUtil;
20 import com.topdraw.utils.QueryHelp; 20 import com.topdraw.utils.QueryHelp;
21 21
22 import java.sql.Timestamp; 22 import java.sql.Timestamp;
23 import java.time.LocalDateTime;
23 import java.util.List; 24 import java.util.List;
24 import java.util.Map; 25 import java.util.Map;
25 26
...@@ -87,12 +88,12 @@ public class CouponHistoryServiceImpl implements CouponHistoryService { ...@@ -87,12 +88,12 @@ public class CouponHistoryServiceImpl implements CouponHistoryService {
87 } 88 }
88 89
89 @Override 90 @Override
90 public Long countByUserIdAndExpireTimeBefore(Long userId, Timestamp now) { 91 public Long countByUserIdAndExpireTimeBefore(Long userId, LocalDateTime now) {
91 return this.CouponHistoryRepository.countByUserIdAndExpireTimeBefore(userId,now); 92 return this.CouponHistoryRepository.countByUserIdAndExpireTimeBefore(userId,now);
92 } 93 }
93 94
94 @Override 95 @Override
95 public Long countByUserIdAndExpireTimeBetween(Long userId, Timestamp now, Timestamp expireTime) { 96 public Long countByUserIdAndExpireTimeBetween(Long userId, LocalDateTime now, LocalDateTime expireTime) {
96 return this.CouponHistoryRepository.countByUserIdAndExpireTimeBetween(userId,now,expireTime); 97 return this.CouponHistoryRepository.countByUserIdAndExpireTimeBetween(userId,now,expireTime);
97 } 98 }
98 99
......
1 package com.topdraw.business.basicdata.coupon.history.service.mapper; 1 package com.topdraw.business.module.coupon.history.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.coupon.history.domain.CouponHistory; 4 import com.topdraw.business.module.coupon.history.domain.CouponHistory;
5 import com.topdraw.business.basicdata.coupon.history.service.dto.CouponHistoryDTO; 5 import com.topdraw.business.module.coupon.history.service.dto.CouponHistoryDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.coupon.repository; 1 package com.topdraw.business.module.coupon.repository;
2 2
3 import com.topdraw.business.basicdata.coupon.domain.Coupon; 3 import com.topdraw.business.module.coupon.domain.Coupon;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
......
1 package com.topdraw.business.basicdata.coupon.rest; 1 package com.topdraw.business.module.coupon.rest;
2 2
3 import com.topdraw.common.ResultInfo; 3 import com.topdraw.common.ResultInfo;
4 import com.topdraw.aop.log.Log; 4 import com.topdraw.business.module.coupon.domain.Coupon;
5 import com.topdraw.business.basicdata.coupon.domain.Coupon; 5 import com.topdraw.business.module.coupon.service.CouponService;
6 import com.topdraw.business.basicdata.coupon.service.CouponService; 6 import com.topdraw.business.module.coupon.service.dto.CouponQueryCriteria;
7 import com.topdraw.business.basicdata.coupon.service.dto.CouponQueryCriteria;
8 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.data.domain.Pageable; 8 import org.springframework.data.domain.Pageable;
10 import org.springframework.validation.annotation.Validated; 9 import org.springframework.validation.annotation.Validated;
...@@ -35,7 +34,6 @@ public class CouponController { ...@@ -35,7 +34,6 @@ public class CouponController {
35 return ResultInfo.success(CouponService.queryAll(criteria)); 34 return ResultInfo.success(CouponService.queryAll(criteria));
36 } 35 }
37 36
38 @Log
39 @PostMapping(value = "/create") 37 @PostMapping(value = "/create")
40 @ApiOperation("新增Coupon") 38 @ApiOperation("新增Coupon")
41 public ResultInfo create(@Validated @RequestBody Coupon resources) { 39 public ResultInfo create(@Validated @RequestBody Coupon resources) {
...@@ -43,7 +41,6 @@ public class CouponController { ...@@ -43,7 +41,6 @@ public class CouponController {
43 return ResultInfo.success(); 41 return ResultInfo.success();
44 } 42 }
45 43
46 @Log
47 @PutMapping(value = "/update") 44 @PutMapping(value = "/update")
48 @ApiOperation("修改Coupon") 45 @ApiOperation("修改Coupon")
49 public ResultInfo update(@Validated @RequestBody Coupon resources) { 46 public ResultInfo update(@Validated @RequestBody Coupon resources) {
...@@ -51,8 +48,6 @@ public class CouponController { ...@@ -51,8 +48,6 @@ public class CouponController {
51 return ResultInfo.success(); 48 return ResultInfo.success();
52 } 49 }
53 50
54
55 @Log
56 @DeleteMapping(value = "/delete/{id}") 51 @DeleteMapping(value = "/delete/{id}")
57 @ApiOperation("删除Coupon") 52 @ApiOperation("删除Coupon")
58 public ResultInfo delete(@PathVariable Long id) { 53 public ResultInfo delete(@PathVariable Long id) {
......
1 package com.topdraw.business.basicdata.coupon.service; 1 package com.topdraw.business.module.coupon.service;
2 2
3 import com.topdraw.business.basicdata.coupon.domain.Coupon; 3 import com.topdraw.business.module.coupon.domain.Coupon;
4 import com.topdraw.business.basicdata.coupon.service.dto.CouponDTO; 4 import com.topdraw.business.module.coupon.service.dto.CouponDTO;
5 import com.topdraw.business.basicdata.coupon.service.dto.CouponQueryCriteria; 5 import com.topdraw.business.module.coupon.service.dto.CouponQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
......
1 package com.topdraw.business.basicdata.coupon.service.dto; 1 package com.topdraw.business.module.coupon.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp; 4 import java.sql.Timestamp;
......
1 package com.topdraw.business.basicdata.coupon.service.dto; 1 package com.topdraw.business.module.coupon.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
......
1 package com.topdraw.business.basicdata.coupon.service.impl; 1 package com.topdraw.business.module.coupon.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.coupon.domain.Coupon; 4 import com.topdraw.business.module.coupon.domain.Coupon;
5 import com.topdraw.util.RedissonUtil; 5 import com.topdraw.util.RedissonUtil;
6 import com.topdraw.utils.ValidationUtil; 6 import com.topdraw.utils.ValidationUtil;
7 import com.topdraw.business.basicdata.coupon.repository.CouponRepository; 7 import com.topdraw.business.module.coupon.repository.CouponRepository;
8 import com.topdraw.business.basicdata.coupon.service.CouponService; 8 import com.topdraw.business.module.coupon.service.CouponService;
9 import com.topdraw.business.basicdata.coupon.service.dto.CouponDTO; 9 import com.topdraw.business.module.coupon.service.dto.CouponDTO;
10 import com.topdraw.business.basicdata.coupon.service.dto.CouponQueryCriteria; 10 import com.topdraw.business.module.coupon.service.dto.CouponQueryCriteria;
11 import com.topdraw.business.basicdata.coupon.service.mapper.CouponMapper; 11 import com.topdraw.business.module.coupon.service.mapper.CouponMapper;
12 import org.redisson.api.RLock; 12 import org.redisson.api.RLock;
13 import org.redisson.api.RedissonClient; 13 import org.redisson.api.RedissonClient;
14 import org.springframework.beans.factory.annotation.Autowired; 14 import org.springframework.beans.factory.annotation.Autowired;
......
1 package com.topdraw.business.basicdata.coupon.service.mapper; 1 package com.topdraw.business.module.coupon.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.coupon.domain.Coupon; 4 import com.topdraw.business.module.coupon.domain.Coupon;
5 import com.topdraw.business.basicdata.coupon.service.dto.CouponDTO; 5 import com.topdraw.business.module.coupon.service.dto.CouponDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.exp.detail.domain; 1 package com.topdraw.business.module.exp.detail.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
......
1 package com.topdraw.business.basicdata.exp.detail.repository; 1 package com.topdraw.business.module.exp.detail.repository;
2 2
3 import com.topdraw.business.basicdata.exp.detail.domain.ExpDetail; 3 import com.topdraw.business.module.exp.detail.domain.ExpDetail;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
......
1 package com.topdraw.business.basicdata.exp.detail.rest; 1 package com.topdraw.business.module.exp.detail.rest;
2 2
3 import com.topdraw.common.ResultInfo; 3 import com.topdraw.common.ResultInfo;
4 import com.topdraw.aop.log.Log; 4 import com.topdraw.business.module.exp.detail.domain.ExpDetail;
5 import com.topdraw.business.basicdata.exp.detail.domain.ExpDetail; 5 import com.topdraw.business.module.exp.detail.service.ExpDetailService;
6 import com.topdraw.business.basicdata.exp.detail.service.ExpDetailService; 6 import com.topdraw.business.module.exp.detail.service.dto.ExpDetailQueryCriteria;
7 import com.topdraw.business.basicdata.exp.detail.service.dto.ExpDetailQueryCriteria;
8 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.data.domain.Pageable; 8 import org.springframework.data.domain.Pageable;
10 import org.springframework.validation.annotation.Validated; 9 import org.springframework.validation.annotation.Validated;
...@@ -35,7 +34,6 @@ public class ExpDetailController { ...@@ -35,7 +34,6 @@ public class ExpDetailController {
35 return ResultInfo.success(ExpDetailService.queryAll(criteria)); 34 return ResultInfo.success(ExpDetailService.queryAll(criteria));
36 } 35 }
37 36
38 @Log
39 @PostMapping(value = "/create") 37 @PostMapping(value = "/create")
40 @ApiOperation("新增ExpDetail") 38 @ApiOperation("新增ExpDetail")
41 public ResultInfo create(@Validated @RequestBody ExpDetail resources) { 39 public ResultInfo create(@Validated @RequestBody ExpDetail resources) {
...@@ -43,7 +41,6 @@ public class ExpDetailController { ...@@ -43,7 +41,6 @@ public class ExpDetailController {
43 return ResultInfo.success(); 41 return ResultInfo.success();
44 } 42 }
45 43
46 @Log
47 @PutMapping(value = "/update") 44 @PutMapping(value = "/update")
48 @ApiOperation("修改ExpDetail") 45 @ApiOperation("修改ExpDetail")
49 public ResultInfo update(@Validated @RequestBody ExpDetail resources) { 46 public ResultInfo update(@Validated @RequestBody ExpDetail resources) {
...@@ -51,8 +48,6 @@ public class ExpDetailController { ...@@ -51,8 +48,6 @@ public class ExpDetailController {
51 return ResultInfo.success(); 48 return ResultInfo.success();
52 } 49 }
53 50
54
55 @Log
56 @DeleteMapping(value = "/delete/{id}") 51 @DeleteMapping(value = "/delete/{id}")
57 @ApiOperation("删除ExpDetail") 52 @ApiOperation("删除ExpDetail")
58 public ResultInfo delete(@PathVariable Long id) { 53 public ResultInfo delete(@PathVariable Long id) {
......
1 package com.topdraw.business.basicdata.exp.detail.service; 1 package com.topdraw.business.module.exp.detail.service;
2 2
3 import com.topdraw.business.basicdata.exp.detail.domain.ExpDetail; 3 import com.topdraw.business.module.exp.detail.domain.ExpDetail;
4 import com.topdraw.business.basicdata.exp.detail.service.dto.ExpDetailDTO; 4 import com.topdraw.business.module.exp.detail.service.dto.ExpDetailDTO;
5 import com.topdraw.business.basicdata.exp.detail.service.dto.ExpDetailQueryCriteria; 5 import com.topdraw.business.module.exp.detail.service.dto.ExpDetailQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
......
1 package com.topdraw.business.basicdata.exp.detail.service.dto; 1 package com.topdraw.business.module.exp.detail.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp; 4 import java.sql.Timestamp;
......
1 package com.topdraw.business.basicdata.exp.detail.service.dto; 1 package com.topdraw.business.module.exp.detail.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
......
1 package com.topdraw.business.basicdata.exp.detail.service.impl; 1 package com.topdraw.business.module.exp.detail.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.exp.detail.domain.ExpDetail; 4 import com.topdraw.business.module.exp.detail.domain.ExpDetail;
5 import com.topdraw.utils.ValidationUtil; 5 import com.topdraw.utils.ValidationUtil;
6 import com.topdraw.business.basicdata.exp.detail.repository.ExpDetailRepository; 6 import com.topdraw.business.module.exp.detail.repository.ExpDetailRepository;
7 import com.topdraw.business.basicdata.exp.detail.service.ExpDetailService; 7 import com.topdraw.business.module.exp.detail.service.ExpDetailService;
8 import com.topdraw.business.basicdata.exp.detail.service.dto.ExpDetailDTO; 8 import com.topdraw.business.module.exp.detail.service.dto.ExpDetailDTO;
9 import com.topdraw.business.basicdata.exp.detail.service.dto.ExpDetailQueryCriteria; 9 import com.topdraw.business.module.exp.detail.service.dto.ExpDetailQueryCriteria;
10 import com.topdraw.business.basicdata.exp.detail.service.mapper.ExpDetailMapper; 10 import com.topdraw.business.module.exp.detail.service.mapper.ExpDetailMapper;
11 import org.redisson.api.RLock; 11 import org.redisson.api.RLock;
12 import org.redisson.api.RedissonClient; 12 import org.redisson.api.RedissonClient;
13 import org.springframework.beans.factory.annotation.Autowired; 13 import org.springframework.beans.factory.annotation.Autowired;
......
1 package com.topdraw.business.basicdata.exp.detail.service.mapper; 1 package com.topdraw.business.module.exp.detail.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.exp.detail.domain.ExpDetail; 4 import com.topdraw.business.module.exp.detail.domain.ExpDetail;
5 import com.topdraw.business.basicdata.exp.detail.service.dto.ExpDetailDTO; 5 import com.topdraw.business.module.exp.detail.service.dto.ExpDetailDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.exp.history.domain; 1 package com.topdraw.business.module.exp.history.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
......
1 package com.topdraw.business.basicdata.exp.history.repository; 1 package com.topdraw.business.module.exp.history.repository;
2 2
3 import com.topdraw.business.basicdata.exp.history.domain.ExpHistory; 3 import com.topdraw.business.module.exp.history.domain.ExpHistory;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
......
1 package com.topdraw.business.basicdata.exp.history.rest; 1 package com.topdraw.business.module.exp.history.rest;
2 2
3 import com.topdraw.common.ResultInfo; 3 import com.topdraw.common.ResultInfo;
4 import com.topdraw.aop.log.Log; 4 import com.topdraw.business.module.exp.history.service.ExpHistoryService;
5 import com.topdraw.business.basicdata.exp.history.domain.ExpHistory; 5 import com.topdraw.business.module.exp.history.service.dto.ExpHistoryQueryCriteria;
6 import com.topdraw.business.basicdata.exp.history.service.ExpHistoryService;
7 import com.topdraw.business.basicdata.exp.history.service.dto.ExpHistoryQueryCriteria;
8 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.data.domain.Pageable; 7 import org.springframework.data.domain.Pageable;
10 import org.springframework.validation.annotation.Validated;
11 import org.springframework.web.bind.annotation.*; 8 import org.springframework.web.bind.annotation.*;
12 import io.swagger.annotations.*; 9 import io.swagger.annotations.*;
13 10
......
1 package com.topdraw.business.basicdata.exp.history.service; 1 package com.topdraw.business.module.exp.history.service;
2 2
3 import com.topdraw.business.basicdata.exp.history.domain.ExpHistory; 3 import com.topdraw.business.module.exp.history.domain.ExpHistory;
4 import com.topdraw.business.basicdata.exp.history.service.dto.ExpHistoryDTO; 4 import com.topdraw.business.module.exp.history.service.dto.ExpHistoryDTO;
5 import com.topdraw.business.basicdata.exp.history.service.dto.ExpHistoryQueryCriteria; 5 import com.topdraw.business.module.exp.history.service.dto.ExpHistoryQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
......
1 package com.topdraw.business.basicdata.exp.history.service.dto; 1 package com.topdraw.business.module.exp.history.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp; 4 import java.sql.Timestamp;
......
1 package com.topdraw.business.basicdata.exp.history.service.dto; 1 package com.topdraw.business.module.exp.history.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
......
1 package com.topdraw.business.basicdata.exp.history.service.impl; 1 package com.topdraw.business.module.exp.history.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.exp.history.domain.ExpHistory; 4 import com.topdraw.business.module.exp.history.domain.ExpHistory;
5 import com.topdraw.utils.ValidationUtil; 5 import com.topdraw.utils.ValidationUtil;
6 import com.topdraw.business.basicdata.exp.history.repository.ExpHistoryRepository; 6 import com.topdraw.business.module.exp.history.repository.ExpHistoryRepository;
7 import com.topdraw.business.basicdata.exp.history.service.ExpHistoryService; 7 import com.topdraw.business.module.exp.history.service.ExpHistoryService;
8 import com.topdraw.business.basicdata.exp.history.service.dto.ExpHistoryDTO; 8 import com.topdraw.business.module.exp.history.service.dto.ExpHistoryDTO;
9 import com.topdraw.business.basicdata.exp.history.service.dto.ExpHistoryQueryCriteria; 9 import com.topdraw.business.module.exp.history.service.dto.ExpHistoryQueryCriteria;
10 import com.topdraw.business.basicdata.exp.history.service.mapper.ExpHistoryMapper; 10 import com.topdraw.business.module.exp.history.service.mapper.ExpHistoryMapper;
11 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
13 import org.springframework.transaction.annotation.Propagation; 13 import org.springframework.transaction.annotation.Propagation;
......
1 package com.topdraw.business.basicdata.exp.history.service.mapper; 1 package com.topdraw.business.module.exp.history.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.exp.history.domain.ExpHistory; 4 import com.topdraw.business.module.exp.history.domain.ExpHistory;
5 import com.topdraw.business.basicdata.exp.history.service.dto.ExpHistoryDTO; 5 import com.topdraw.business.module.exp.history.service.dto.ExpHistoryDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.member.address.domain; 1 package com.topdraw.business.module.member.address.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
...@@ -11,6 +11,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; ...@@ -11,6 +11,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
11 import java.sql.Timestamp; 11 import java.sql.Timestamp;
12 12
13 import java.io.Serializable; 13 import java.io.Serializable;
14 import java.time.LocalDateTime;
14 15
15 /** 16 /**
16 * @author XiangHan 17 * @author XiangHan
...@@ -90,12 +91,12 @@ public class MemberAddress implements Serializable { ...@@ -90,12 +91,12 @@ public class MemberAddress implements Serializable {
90 // 创建时间 91 // 创建时间
91 @CreatedDate 92 @CreatedDate
92 @Column(name = "create_time") 93 @Column(name = "create_time")
93 private Timestamp createTime; 94 private LocalDateTime createTime;
94 95
95 // 更新时间 96 // 更新时间
96 @LastModifiedDate 97 @LastModifiedDate
97 @Column(name = "update_time") 98 @Column(name = "update_time")
98 private Timestamp updateTime; 99 private LocalDateTime updateTime;
99 100
100 public void copy(MemberAddress source){ 101 public void copy(MemberAddress source){
101 BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); 102 BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
......
1 package com.topdraw.business.basicdata.member.address.repository; 1 package com.topdraw.business.module.member.address.repository;
2 2
3 import com.topdraw.business.basicdata.member.address.domain.MemberAddress; 3 import com.topdraw.business.module.member.address.domain.MemberAddress;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
......
1 package com.topdraw.business.basicdata.member.address.rest; 1 package com.topdraw.business.module.member.address.rest;
2 2
3 import com.alibaba.fastjson.JSONObject;
4 import com.topdraw.annotation.AnonymousAccess; 3 import com.topdraw.annotation.AnonymousAccess;
5 import com.topdraw.business.basicdata.member.service.MemberService; 4 import com.topdraw.business.module.member.service.MemberService;
6 import com.topdraw.business.basicdata.member.service.dto.MemberDTO; 5 import com.topdraw.business.module.member.service.dto.MemberDTO;
7 import com.topdraw.business.basicdata.user.iptv.service.UserTvService;
8 import com.topdraw.business.basicdata.user.iptv.service.dto.UserTvDTO;
9 import com.topdraw.common.ResultInfo; 6 import com.topdraw.common.ResultInfo;
10 import com.topdraw.aop.log.Log; 7 import com.topdraw.business.module.member.address.domain.MemberAddress;
11 import com.topdraw.business.basicdata.member.address.domain.MemberAddress; 8 import com.topdraw.business.module.member.address.service.MemberAddressService;
12 import com.topdraw.business.basicdata.member.address.service.MemberAddressService; 9 import com.topdraw.business.module.member.address.service.dto.MemberAddressQueryCriteria;
13 import com.topdraw.business.basicdata.member.address.service.dto.MemberAddressQueryCriteria; 10 import lombok.extern.slf4j.Slf4j;
14 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
15 import org.springframework.data.domain.Pageable; 12 import org.springframework.data.domain.Pageable;
16 import org.springframework.util.Assert; 13 import org.springframework.util.Assert;
17 import org.springframework.util.Base64Utils;
18 import org.springframework.validation.annotation.Validated; 14 import org.springframework.validation.annotation.Validated;
19 import org.springframework.web.bind.annotation.*; 15 import org.springframework.web.bind.annotation.*;
20 import io.swagger.annotations.*; 16 import io.swagger.annotations.*;
21 17
22 import java.nio.charset.StandardCharsets;
23 import java.util.Base64;
24 import java.util.Objects; 18 import java.util.Objects;
25 19
26 /** 20 /**
...@@ -29,16 +23,15 @@ import java.util.Objects; ...@@ -29,16 +23,15 @@ import java.util.Objects;
29 */ 23 */
30 @Api(tags = "MemberAddress管理") 24 @Api(tags = "MemberAddress管理")
31 @RestController 25 @RestController
32 @RequestMapping("/api/MemberAddress") 26 @RequestMapping("/ucEngine/api/memberAddress")
33 @CrossOrigin 27 @CrossOrigin
28 @Slf4j
34 public class MemberAddressController { 29 public class MemberAddressController {
35 30
36 @Autowired 31 @Autowired
37 private MemberAddressService MemberAddressService; 32 private MemberAddressService MemberAddressService;
38 @Autowired 33 @Autowired
39 private MemberService memberService; 34 private MemberService memberService;
40 @Autowired
41 private UserTvService userTvService;
42 35
43 @GetMapping(value = "/pageMemberAddress") 36 @GetMapping(value = "/pageMemberAddress")
44 @ApiOperation("查询MemberAddress") 37 @ApiOperation("查询MemberAddress")
...@@ -52,50 +45,27 @@ public class MemberAddressController { ...@@ -52,50 +45,27 @@ public class MemberAddressController {
52 return ResultInfo.success(MemberAddressService.findById(id)); 45 return ResultInfo.success(MemberAddressService.findById(id));
53 } 46 }
54 47
55 @Log
56 @PostMapping(value = "/create") 48 @PostMapping(value = "/create")
57 @ApiOperation("新增MemberAddress") 49 @ApiOperation("新增MemberAddress")
58 public ResultInfo create(@Validated @RequestBody MemberAddress resources) {
59 MemberAddressService.create(resources);
60 return ResultInfo.success();
61 }
62
63 @Log
64 @PostMapping(value = "/createByPlatformAccount")
65 @ApiOperation("通过大屏账户创建会员地址")
66 @AnonymousAccess 50 @AnonymousAccess
67 public ResultInfo createByPlatformAccount(@RequestBody String contentDecode) { 51 public ResultInfo create(@Validated @RequestBody MemberAddress resources) {
68 byte[] bytes = contentDecode.getBytes(StandardCharsets.UTF_8); 52 log.info("MemberAddressController ==>> create ===>>[{}]",resources);
69 byte[] decode = Base64Utils.decode(bytes);
70 String content = new String(decode);
71 MemberAddress resources = JSONObject.parseObject(content,MemberAddress.class);
72 String platformAccount = resources.getPlatformAccount();
73 Assert.notNull(platformAccount,"platformAccount can't be null!");
74 53
75 UserTvDTO userTvDTO = this.userTvService.findByPlatformAccount(platformAccount); 54 Long memberId = resources.getMemberId();
76 if (Objects.nonNull(userTvDTO) && Objects.nonNull(userTvDTO.getId())) { 55 MemberDTO memberDTO = this.memberService.findById(memberId);
77 Long memberId = userTvDTO.getMemberId(); 56 String code = memberDTO.getCode();
78 MemberDTO memberDTO = this.memberService.findById(memberId); 57 resources.setMemberCode(code);
79 String code = memberDTO.getCode(); 58 MemberAddressService.create(resources);
80 resources.setMemberCode(code);
81 resources.setMemberId(memberId);
82 resources.setCity("");
83 resources.setStatus(1);
84 resources.setContactor("");
85 resources.setCountry("cn");
86 resources.setDistrict("");
87 resources.setType(1);
88 resources.setIsDefault(2);
89 resources.setProvince("");
90 this.create(resources);
91 }
92 return ResultInfo.success(); 59 return ResultInfo.success();
93 } 60 }
94 61
95 @Log
96 @PutMapping(value = "/update") 62 @PutMapping(value = "/update")
97 @ApiOperation("修改MemberAddress") 63 @ApiOperation("修改MemberAddress")
64 @AnonymousAccess
98 public ResultInfo update(@Validated @RequestBody MemberAddress resources) { 65 public ResultInfo update(@Validated @RequestBody MemberAddress resources) {
66
67 log.info("MemberAddressController ==>> update ===>>[{}]",resources);
68
99 Long memberId = resources.getMemberId(); 69 Long memberId = resources.getMemberId();
100 Integer sequence = resources.getSequence(); 70 Integer sequence = resources.getSequence();
101 Assert.notNull(memberId,"memberId can't be null"); 71 Assert.notNull(memberId,"memberId can't be null");
...@@ -110,9 +80,9 @@ public class MemberAddressController { ...@@ -110,9 +80,9 @@ public class MemberAddressController {
110 return ResultInfo.success(); 80 return ResultInfo.success();
111 } 81 }
112 82
113 @Log
114 @DeleteMapping(value = "/delete/{id}") 83 @DeleteMapping(value = "/delete/{id}")
115 @ApiOperation("删除MemberAddress") 84 @ApiOperation("删除MemberAddress")
85 @AnonymousAccess
116 public ResultInfo delete(@PathVariable Long id) { 86 public ResultInfo delete(@PathVariable Long id) {
117 MemberAddressService.delete(id); 87 MemberAddressService.delete(id);
118 return ResultInfo.success(); 88 return ResultInfo.success();
......
1 package com.topdraw.business.basicdata.member.address.service; 1 package com.topdraw.business.module.member.address.service;
2 2
3 import com.topdraw.business.basicdata.member.address.domain.MemberAddress; 3 import com.topdraw.business.module.member.address.domain.MemberAddress;
4 import com.topdraw.business.basicdata.member.address.service.dto.MemberAddressDTO; 4 import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO;
5 import com.topdraw.business.basicdata.member.address.service.dto.MemberAddressQueryCriteria; 5 import com.topdraw.business.module.member.address.service.dto.MemberAddressQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
...@@ -40,5 +40,4 @@ public interface MemberAddressService { ...@@ -40,5 +40,4 @@ public interface MemberAddressService {
40 void update(MemberAddress resources); 40 void update(MemberAddress resources);
41 41
42 void delete(Long id); 42 void delete(Long id);
43
44 } 43 }
......
1 package com.topdraw.business.basicdata.member.address.service.dto; 1 package com.topdraw.business.module.member.address.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp; 4 import java.sql.Timestamp;
5 import java.io.Serializable; 5 import java.io.Serializable;
6 import java.time.LocalDateTime;
6 7
7 8
8 /** 9 /**
...@@ -55,8 +56,8 @@ public class MemberAddressDTO implements Serializable { ...@@ -55,8 +56,8 @@ public class MemberAddressDTO implements Serializable {
55 private String zipCode; 56 private String zipCode;
56 57
57 // 创建时间 58 // 创建时间
58 private Timestamp createTime; 59 private LocalDateTime createTime;
59 60
60 // 更新时间 61 // 更新时间
61 private Timestamp updateTime; 62 private LocalDateTime updateTime;
62 } 63 }
......
1 package com.topdraw.business.basicdata.member.address.service.dto; 1 package com.topdraw.business.module.member.address.service.dto;
2 2
3 import com.topdraw.annotation.Query; 3 import com.topdraw.annotation.Query;
4 import lombok.Data; 4 import lombok.Data;
......
1 package com.topdraw.business.basicdata.member.address.service.impl; 1 package com.topdraw.business.module.member.address.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.member.address.domain.MemberAddress; 4 import com.topdraw.business.module.member.address.domain.MemberAddress;
5 import com.topdraw.business.module.member.service.MemberService;
5 import com.topdraw.utils.ValidationUtil; 6 import com.topdraw.utils.ValidationUtil;
6 import com.topdraw.business.basicdata.member.address.repository.MemberAddressRepository; 7 import com.topdraw.business.module.member.address.repository.MemberAddressRepository;
7 import com.topdraw.business.basicdata.member.address.service.MemberAddressService; 8 import com.topdraw.business.module.member.address.service.MemberAddressService;
8 import com.topdraw.business.basicdata.member.address.service.dto.MemberAddressDTO; 9 import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO;
9 import com.topdraw.business.basicdata.member.address.service.dto.MemberAddressQueryCriteria; 10 import com.topdraw.business.module.member.address.service.dto.MemberAddressQueryCriteria;
10 import com.topdraw.business.basicdata.member.address.service.mapper.MemberAddressMapper; 11 import com.topdraw.business.module.member.address.service.mapper.MemberAddressMapper;
11 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
13 import org.springframework.transaction.annotation.Propagation; 14 import org.springframework.transaction.annotation.Propagation;
......
1 package com.topdraw.business.basicdata.member.address.service.mapper; 1 package com.topdraw.business.module.member.address.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.member.address.domain.MemberAddress; 4 import com.topdraw.business.module.member.address.domain.MemberAddress;
5 import com.topdraw.business.basicdata.member.address.service.dto.MemberAddressDTO; 5 import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.member.domain; 1 package com.topdraw.business.module.member.domain;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.bean.copier.CopyOptions; 4 import cn.hutool.core.bean.copier.CopyOptions;
5 import com.topdraw.business.basicdata.member.profile.domain.MemberProfile;
6 import io.swagger.annotations.ApiModelProperty;
7 import lombok.Data; 5 import lombok.Data;
8 import lombok.experimental.Accessors; 6 import lombok.experimental.Accessors;
9 import org.springframework.data.annotation.CreatedDate; 7 import org.springframework.data.annotation.CreatedDate;
...@@ -118,23 +116,23 @@ public class Member implements Serializable { ...@@ -118,23 +116,23 @@ public class Member implements Serializable {
118 116
119 /** iptv账号绑定时间 */ 117 /** iptv账号绑定时间 */
120 @Column(name = "bind_iptv_time") 118 @Column(name = "bind_iptv_time")
121 private Timestamp bindIptvTime; 119 private LocalDateTime bindIptvTime;
122 120
123 /** 创建时间 */ 121 /** 创建时间 */
124 @CreatedDate 122 @CreatedDate
125 @Column(name = "create_time") 123 @Column(name = "create_time")
126 private Timestamp createTime; 124 private LocalDateTime createTime;
127 125
128 /** 更新时间 */ 126 /** 更新时间 */
129 @LastModifiedDate 127 @LastModifiedDate
130 @Column(name = "update_time") 128 @Column(name = "update_time")
131 private Timestamp updateTime; 129 private LocalDateTime updateTime;
132 130
133 /** 是否在黑名单 1:是;0否 */ 131 /** 是否在黑名单 1:是;0否 */
134 @Column(name = "black_status") 132 @Column(name = "black_status")
135 private Long blackStatus; 133 private Long blackStatus;
136 134
137 public void copy(Member source){ 135 public void copy(Member source){
138 BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); 136 BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(false));
139 } 137 }
140 } 138 }
......
1 package com.topdraw.business.module.member.domain;
2
3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.bean.copier.CopyOptions;
5 import com.topdraw.util.IdWorker;
6 import lombok.Data;
7 import lombok.experimental.Accessors;
8 import org.springframework.data.annotation.CreatedDate;
9 import org.springframework.data.annotation.LastModifiedDate;
10 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
11
12 import javax.persistence.*;
13 import java.io.Serializable;
14 import java.sql.Timestamp;
15 import java.time.LocalDateTime;
16
17 /**
18 * @author XiangHan
19 * @date 2021-10-22
20 */
21 public class MemberBuilder {
22
23 public static Member build(Integer type,String avatarUrl,String nickname,Integer vip){
24 Member member = new Member();
25 member.setType(type);
26 member.setBlackStatus(0L);
27 member.setGender(-1);
28 member.setVip(vip==null?0:vip);
29 member.setLevel(1);
30 member.setStatus(1);
31 member.setPoints(0L);
32 member.setDuePoints(0L);
33 member.setExp(0L);
34 member.setCouponAmount(0L);
35 member.setDueCouponAmount(0L);
36 member.setAvatarUrl(avatarUrl);
37 member.setCode(IdWorker.generator() + "");
38 member.setNickname(nickname);
39 return member;
40 }
41 }
1 package com.topdraw.business.module.member.domain;
2
3 public interface MemberConstant {
4
5 // vip等级
6 Integer vip[] = new Integer[]{0,1,2,3,4,5,6,7,8};
7
8 }
1 package com.topdraw.business.basicdata.member.group.domain; 1 package com.topdraw.business.module.member.group.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
......
1 package com.topdraw.business.basicdata.member.group.repository; 1 package com.topdraw.business.module.member.group.repository;
2 2
3 import com.topdraw.business.basicdata.member.group.domain.MemberGroup; 3 import com.topdraw.business.module.member.group.domain.MemberGroup;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
7 import java.util.Optional;
8
9 /** 7 /**
10 * @author XiangHan 8 * @author XiangHan
11 * @date 2021-11-17 9 * @date 2021-11-17
......
1 package com.topdraw.business.basicdata.member.group.rest; 1 package com.topdraw.business.module.member.group.rest;
2 2
3 import com.topdraw.common.ResultInfo; 3 import com.topdraw.common.ResultInfo;
4 import com.topdraw.aop.log.Log; 4 import com.topdraw.business.module.member.group.domain.MemberGroup;
5 import com.topdraw.business.basicdata.member.group.domain.MemberGroup; 5 import com.topdraw.business.module.member.group.service.MemberGroupService;
6 import com.topdraw.business.basicdata.member.group.service.MemberGroupService; 6 import com.topdraw.business.module.member.group.service.dto.MemberGroupQueryCriteria;
7 import com.topdraw.business.basicdata.member.group.service.dto.MemberGroupQueryCriteria;
8 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.data.domain.Pageable; 8 import org.springframework.data.domain.Pageable;
10 import org.springframework.http.HttpStatus;
11 import org.springframework.http.ResponseEntity;
12 import org.springframework.validation.annotation.Validated; 9 import org.springframework.validation.annotation.Validated;
13 import org.springframework.web.bind.annotation.*; 10 import org.springframework.web.bind.annotation.*;
14 import io.swagger.annotations.*; 11 import io.swagger.annotations.*;
15 import java.io.IOException;
16 import javax.servlet.http.HttpServletResponse;
17 12
18 /** 13 /**
19 * @author XiangHan 14 * @author XiangHan
...@@ -39,7 +34,6 @@ public class MemberGroupController { ...@@ -39,7 +34,6 @@ public class MemberGroupController {
39 return ResultInfo.success(MemberGroupService.queryAll(criteria)); 34 return ResultInfo.success(MemberGroupService.queryAll(criteria));
40 } 35 }
41 36
42 @Log
43 @PostMapping 37 @PostMapping
44 @ApiOperation("新增MemberGroup") 38 @ApiOperation("新增MemberGroup")
45 public ResultInfo create(@Validated @RequestBody MemberGroup resources) { 39 public ResultInfo create(@Validated @RequestBody MemberGroup resources) {
...@@ -47,7 +41,6 @@ public class MemberGroupController { ...@@ -47,7 +41,6 @@ public class MemberGroupController {
47 return ResultInfo.success(); 41 return ResultInfo.success();
48 } 42 }
49 43
50 @Log
51 @PutMapping 44 @PutMapping
52 @ApiOperation("修改MemberGroup") 45 @ApiOperation("修改MemberGroup")
53 public ResultInfo update(@Validated @RequestBody MemberGroup resources) { 46 public ResultInfo update(@Validated @RequestBody MemberGroup resources) {
...@@ -55,8 +48,6 @@ public class MemberGroupController { ...@@ -55,8 +48,6 @@ public class MemberGroupController {
55 return ResultInfo.success(); 48 return ResultInfo.success();
56 } 49 }
57 50
58
59 @Log
60 @DeleteMapping(value = "/{id}") 51 @DeleteMapping(value = "/{id}")
61 @ApiOperation("删除MemberGroup") 52 @ApiOperation("删除MemberGroup")
62 public ResultInfo delete(@PathVariable Long id) { 53 public ResultInfo delete(@PathVariable Long id) {
......
1 package com.topdraw.business.basicdata.member.group.service; 1 package com.topdraw.business.module.member.group.service;
2 2
3 import com.topdraw.business.basicdata.member.group.domain.MemberGroup; 3 import com.topdraw.business.module.member.group.domain.MemberGroup;
4 import com.topdraw.business.basicdata.member.group.service.dto.MemberGroupDTO; 4 import com.topdraw.business.module.member.group.service.dto.MemberGroupDTO;
5 import com.topdraw.business.basicdata.member.group.service.dto.MemberGroupQueryCriteria; 5 import com.topdraw.business.module.member.group.service.dto.MemberGroupQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
9 import java.io.IOException;
10 import javax.servlet.http.HttpServletResponse;
11 9
12 /** 10 /**
13 * @author XiangHan 11 * @author XiangHan
......
1 package com.topdraw.business.basicdata.member.group.service.dto; 1 package com.topdraw.business.module.member.group.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp; 4 import java.sql.Timestamp;
......
1 package com.topdraw.business.basicdata.member.group.service.dto; 1 package com.topdraw.business.module.member.group.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import com.topdraw.annotation.Query; 4 import com.topdraw.annotation.Query;
......
1 package com.topdraw.business.basicdata.member.group.service.impl; 1 package com.topdraw.business.module.member.group.service.impl;
2 2
3 import com.topdraw.business.basicdata.member.group.domain.MemberGroup; 3 import com.topdraw.business.module.member.group.domain.MemberGroup;
4 import com.topdraw.utils.ValidationUtil; 4 import com.topdraw.utils.ValidationUtil;
5 import com.topdraw.utils.FileUtil; 5 import com.topdraw.business.module.member.group.repository.MemberGroupRepository;
6 import com.topdraw.business.basicdata.member.group.repository.MemberGroupRepository; 6 import com.topdraw.business.module.member.group.service.MemberGroupService;
7 import com.topdraw.business.basicdata.member.group.service.MemberGroupService; 7 import com.topdraw.business.module.member.group.service.dto.MemberGroupDTO;
8 import com.topdraw.business.basicdata.member.group.service.dto.MemberGroupDTO; 8 import com.topdraw.business.module.member.group.service.dto.MemberGroupQueryCriteria;
9 import com.topdraw.business.basicdata.member.group.service.dto.MemberGroupQueryCriteria; 9 import com.topdraw.business.module.member.group.service.mapper.MemberGroupMapper;
10 import com.topdraw.business.basicdata.member.group.service.mapper.MemberGroupMapper;
11 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
13 import org.springframework.transaction.annotation.Propagation; 12 import org.springframework.transaction.annotation.Propagation;
...@@ -18,14 +17,9 @@ import org.springframework.data.domain.Pageable; ...@@ -18,14 +17,9 @@ import org.springframework.data.domain.Pageable;
18 import org.springframework.util.Assert; 17 import org.springframework.util.Assert;
19 import com.topdraw.utils.PageUtil; 18 import com.topdraw.utils.PageUtil;
20 import com.topdraw.utils.QueryHelp; 19 import com.topdraw.utils.QueryHelp;
21 import com.topdraw.utils.StringUtils;
22 20
23 import java.util.List; 21 import java.util.List;
24 import java.util.Map; 22 import java.util.Map;
25 import java.io.IOException;
26 import javax.servlet.http.HttpServletResponse;
27 import java.util.ArrayList;
28 import java.util.LinkedHashMap;
29 23
30 /** 24 /**
31 * @author XiangHan 25 * @author XiangHan
......
1 package com.topdraw.business.basicdata.member.group.service.mapper; 1 package com.topdraw.business.module.member.group.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.member.group.domain.MemberGroup; 4 import com.topdraw.business.module.member.group.domain.MemberGroup;
5 import com.topdraw.business.basicdata.member.group.service.dto.MemberGroupDTO; 5 import com.topdraw.business.module.member.group.service.dto.MemberGroupDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.member.level.domain; 1 package com.topdraw.business.module.member.level.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
......
1 package com.topdraw.business.basicdata.member.level.repository; 1 package com.topdraw.business.module.member.level.repository;
2 2
3 import com.topdraw.business.basicdata.member.level.domain.MemberLevel; 3 import com.topdraw.business.module.member.level.domain.MemberLevel;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
......
1 package com.topdraw.business.basicdata.member.level.rest; 1 package com.topdraw.business.module.member.level.rest;
2 2
3 import com.topdraw.common.ResultInfo; 3 import com.topdraw.common.ResultInfo;
4 import com.topdraw.aop.log.Log; 4 import com.topdraw.business.module.member.level.service.MemberLevelService;
5 import com.topdraw.business.basicdata.member.level.domain.MemberLevel; 5 import com.topdraw.business.module.member.level.service.dto.MemberLevelQueryCriteria;
6 import com.topdraw.business.basicdata.member.level.service.MemberLevelService;
7 import com.topdraw.business.basicdata.member.level.service.dto.MemberLevelQueryCriteria;
8 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.data.domain.Pageable; 7 import org.springframework.data.domain.Pageable;
10 import org.springframework.validation.annotation.Validated;
11 import org.springframework.web.bind.annotation.*; 8 import org.springframework.web.bind.annotation.*;
12 import io.swagger.annotations.*; 9 import io.swagger.annotations.*;
13 10
......
1 package com.topdraw.business.basicdata.member.level.service; 1 package com.topdraw.business.module.member.level.service;
2 2
3 import com.topdraw.business.basicdata.member.level.domain.MemberLevel; 3 import com.topdraw.business.module.member.level.domain.MemberLevel;
4 import com.topdraw.business.basicdata.member.level.service.dto.MemberLevelDTO; 4 import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO;
5 import com.topdraw.business.basicdata.member.level.service.dto.MemberLevelQueryCriteria; 5 import com.topdraw.business.module.member.level.service.dto.MemberLevelQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
......
1 package com.topdraw.business.basicdata.member.level.service.dto; 1 package com.topdraw.business.module.member.level.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp; 4 import java.sql.Timestamp;
......
1 package com.topdraw.business.basicdata.member.level.service.dto; 1 package com.topdraw.business.module.member.level.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
......
1 package com.topdraw.business.basicdata.member.level.service.impl; 1 package com.topdraw.business.module.member.level.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.member.level.domain.MemberLevel; 4 import com.topdraw.business.module.member.level.domain.MemberLevel;
5 import com.topdraw.utils.ValidationUtil; 5 import com.topdraw.utils.ValidationUtil;
6 import com.topdraw.business.basicdata.member.level.repository.MemberLevelRepository; 6 import com.topdraw.business.module.member.level.repository.MemberLevelRepository;
7 import com.topdraw.business.basicdata.member.level.service.MemberLevelService; 7 import com.topdraw.business.module.member.level.service.MemberLevelService;
8 import com.topdraw.business.basicdata.member.level.service.dto.MemberLevelDTO; 8 import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO;
9 import com.topdraw.business.basicdata.member.level.service.dto.MemberLevelQueryCriteria; 9 import com.topdraw.business.module.member.level.service.dto.MemberLevelQueryCriteria;
10 import com.topdraw.business.basicdata.member.level.service.mapper.MemberLevelMapper; 10 import com.topdraw.business.module.member.level.service.mapper.MemberLevelMapper;
11 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.cache.annotation.Cacheable;
13 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
14 import org.springframework.transaction.annotation.Propagation; 13 import org.springframework.transaction.annotation.Propagation;
15 import org.springframework.transaction.annotation.Transactional; 14 import org.springframework.transaction.annotation.Transactional;
......
1 package com.topdraw.business.basicdata.member.level.service.mapper; 1 package com.topdraw.business.module.member.level.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.member.level.domain.MemberLevel; 4 import com.topdraw.business.module.member.level.domain.MemberLevel;
5 import com.topdraw.business.basicdata.member.level.service.dto.MemberLevelDTO; 5 import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.member.profile; 1 package com.topdraw.business.module.member.profile;
2 2
3 public interface DoSaveMemberProfileGroup { 3 public interface DoSaveMemberProfileGroup {
4 } 4 }
......
1 package com.topdraw.business.basicdata.member.profile; 1 package com.topdraw.business.module.member.profile;
2 2
3 public interface DoUpdateMemberProfileGroup { 3 public interface DoUpdateMemberProfileGroup {
4 } 4 }
......
1 package com.topdraw.business.basicdata.member.profile.domain; 1 package com.topdraw.business.module.member.profile.domain;
2 2
3 import com.topdraw.business.basicdata.member.profile.DoSaveMemberProfileGroup; 3 import com.topdraw.business.module.member.profile.DoSaveMemberProfileGroup;
4 import com.topdraw.business.basicdata.member.profile.DoUpdateMemberProfileGroup; 4 import com.topdraw.business.module.member.profile.DoUpdateMemberProfileGroup;
5 import lombok.Data; 5 import lombok.Data;
6 import lombok.experimental.Accessors; 6 import lombok.experimental.Accessors;
7 import cn.hutool.core.bean.BeanUtil; 7 import cn.hutool.core.bean.BeanUtil;
...@@ -89,6 +89,10 @@ public class MemberProfile implements Serializable { ...@@ -89,6 +89,10 @@ public class MemberProfile implements Serializable {
89 @Column(name = "district") 89 @Column(name = "district")
90 private String district; 90 private String district;
91 91
92 //头像
93 @Transient
94 private String avatarUrl;
95
92 // 描述 96 // 描述
93 @Column(name = "description") 97 @Column(name = "description")
94 private String description; 98 private String description;
......
1 package com.topdraw.business.module.member.profile.domain;
2
3 import com.topdraw.utils.StringUtils;
4
5 import java.sql.Timestamp;
6 import java.util.Objects;
7
8 public class MemberProfileBuild {
9
10 public static MemberProfile build(Long memberId , String realname , Integer gender, Timestamp birthday){
11 MemberProfile memberProfile = build(memberId,realname,gender,"","","","","","",
12 "","","",birthday);
13 return memberProfile;
14 }
15
16 public static MemberProfile build(){
17 MemberProfile memberProfile = build(null,"",null,"","","","","","",
18 "","","",null);
19 return memberProfile;
20 }
21
22 public static MemberProfile build(Long memberId, String realName, Integer sex,
23 String contry, String district, String city, String idCard, String province,
24 String email, String description, String phone, String constellation,
25 Timestamp timestamp) {
26
27 if (memberId == null)
28 throw new NullPointerException("memberId is null");
29
30 MemberProfile memberProfile = new MemberProfile();
31 memberProfile.setMemberId(memberId);
32 memberProfile.setRealname(stringIsNull(realName));
33 memberProfile.setGender(sex == null ? 0 : sex);
34 memberProfile.setCountry(stringIsNull(contry));
35 memberProfile.setDistrict(stringIsNull(district));
36 memberProfile.setCity(stringIsNull(city));
37 memberProfile.setIdCard(stringIsNull(idCard));
38 memberProfile.setProvince(stringIsNull(province));
39 memberProfile.setEmail(stringIsNull(email));
40 memberProfile.setDescription(stringIsNull(description));
41 memberProfile.setPhone(stringIsNull(phone));
42 memberProfile.setConstellation(stringIsNull(constellation));
43 memberProfile.setBirthday(timestamp);
44
45 return memberProfile;
46 }
47
48 private static String stringIsNull(String s){
49 return StringUtils.isBlank(s)?"":s;
50 }
51
52 private static Object objectIsNull(Object s){
53 return Objects.nonNull(s)?null:s;
54 }
55
56 }
1 package com.topdraw.business.basicdata.member.profile.repository; 1 package com.topdraw.business.module.member.profile.repository;
2 2
3 import com.topdraw.business.basicdata.member.profile.domain.MemberProfile; 3 import com.topdraw.business.module.member.domain.Member;
4 import com.topdraw.business.module.member.profile.domain.MemberProfile;
4 import org.springframework.data.jpa.repository.JpaRepository; 5 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 6 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 7
...@@ -13,4 +14,6 @@ import java.util.Optional; ...@@ -13,4 +14,6 @@ import java.util.Optional;
13 public interface MemberProfileRepository extends JpaRepository<MemberProfile, Long>, JpaSpecificationExecutor<MemberProfile> { 14 public interface MemberProfileRepository extends JpaRepository<MemberProfile, Long>, JpaSpecificationExecutor<MemberProfile> {
14 15
15 Optional<MemberProfile> findByMemberId(Long memberId); 16 Optional<MemberProfile> findByMemberId(Long memberId);
17
18 Optional<MemberProfile> findFirstByMemberId(Long memberId);
16 } 19 }
......
1 package com.topdraw.business.basicdata.member.profile.rest; 1 package com.topdraw.business.module.member.profile.rest;
2 2
3 import com.topdraw.business.basicdata.member.profile.service.dto.MemberProfileDTO; 3 import com.topdraw.annotation.AnonymousAccess;
4 import com.topdraw.business.basicdata.member.service.MemberService; 4 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
5 import com.topdraw.business.basicdata.member.service.dto.MemberDTO; 5 import com.topdraw.business.module.member.service.MemberService;
6 import com.topdraw.business.module.member.service.dto.MemberDTO;
6 import com.topdraw.common.ResultInfo; 7 import com.topdraw.common.ResultInfo;
7 import com.topdraw.aop.log.Log; 8 import com.topdraw.business.module.member.profile.domain.MemberProfile;
8 import com.topdraw.business.basicdata.member.profile.domain.MemberProfile; 9 import com.topdraw.business.module.member.profile.service.MemberProfileService;
9 import com.topdraw.business.basicdata.member.profile.service.MemberProfileService; 10 import com.topdraw.util.Base64Util;
10 import com.topdraw.business.basicdata.member.profile.service.dto.MemberProfileQueryCriteria;
11 import com.topdraw.utils.StringUtils; 11 import com.topdraw.utils.StringUtils;
12 import lombok.extern.slf4j.Slf4j;
12 import org.springframework.beans.factory.annotation.Autowired; 13 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.data.domain.Pageable;
14 import org.springframework.util.Assert; 14 import org.springframework.util.Assert;
15 import org.springframework.validation.annotation.Validated; 15 import org.springframework.validation.annotation.Validated;
16 import org.springframework.web.bind.annotation.*; 16 import org.springframework.web.bind.annotation.*;
...@@ -24,8 +24,9 @@ import java.util.Objects; ...@@ -24,8 +24,9 @@ import java.util.Objects;
24 */ 24 */
25 @Api(tags = "MemberProfile管理") 25 @Api(tags = "MemberProfile管理")
26 @RestController 26 @RestController
27 @RequestMapping("/api/MemberProfile") 27 @RequestMapping("/ucEngine/api/memberProfile")
28 @CrossOrigin 28 @CrossOrigin
29 @Slf4j
29 public class MemberProfileController { 30 public class MemberProfileController {
30 31
31 @Autowired 32 @Autowired
...@@ -45,18 +46,23 @@ public class MemberProfileController { ...@@ -45,18 +46,23 @@ public class MemberProfileController {
45 return ResultInfo.success(MemberProfileService.queryAll(criteria)); 46 return ResultInfo.success(MemberProfileService.queryAll(criteria));
46 }*/ 47 }*/
47 48
48 @Log
49 @PostMapping(value = "/create") 49 @PostMapping(value = "/create")
50 @ApiOperation("新增MemberProfile") 50 @ApiOperation("新增MemberProfile")
51 @AnonymousAccess
51 public ResultInfo create(@Validated @RequestBody MemberProfile resources) { 52 public ResultInfo create(@Validated @RequestBody MemberProfile resources) {
53 log.info("MemberProfileServiceImpl ==>> create ==>> resources ===>> [{}]",resources);
54 String realname = resources.getRealname();
52 MemberProfileService.create(resources); 55 MemberProfileService.create(resources);
53 return ResultInfo.success(); 56 return ResultInfo.success();
54 } 57 }
55 58
56 @Log
57 @PutMapping(value = "/update") 59 @PutMapping(value = "/update")
58 @ApiOperation("修改MemberProfile") 60 @ApiOperation("修改MemberProfile")
61 @AnonymousAccess
59 public ResultInfo update(@Validated @RequestBody MemberProfile resources) { 62 public ResultInfo update(@Validated @RequestBody MemberProfile resources) {
63
64 log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
65
60 Long memberId = resources.getMemberId(); 66 Long memberId = resources.getMemberId();
61 Assert.notNull(memberId,"memberId can't be null"); 67 Assert.notNull(memberId,"memberId can't be null");
62 MemberDTO memberDTO = this.memberService.findById(memberId); 68 MemberDTO memberDTO = this.memberService.findById(memberId);
...@@ -77,8 +83,15 @@ public class MemberProfileController { ...@@ -77,8 +83,15 @@ public class MemberProfileController {
77 return ResultInfo.success(); 83 return ResultInfo.success();
78 } 84 }
79 85
86 @PutMapping
87 @ApiOperation("修改MemberProfile")
88 @AnonymousAccess
89 public ResultInfo updateMemberProfileAndMember(@Validated @RequestBody MemberProfile resources) {
90 log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
91 this.MemberProfileService.updateMemberProfileAndMember(resources);
92 return ResultInfo.success();
93 }
80 94
81 @Log
82 @DeleteMapping(value = "/delete/{id}") 95 @DeleteMapping(value = "/delete/{id}")
83 @ApiOperation("删除MemberProfile") 96 @ApiOperation("删除MemberProfile")
84 public ResultInfo delete(@PathVariable Long id) { 97 public ResultInfo delete(@PathVariable Long id) {
......
1 package com.topdraw.business.basicdata.member.profile.service; 1 package com.topdraw.business.module.member.profile.service;
2 2
3 import com.topdraw.business.basicdata.member.profile.domain.MemberProfile; 3 import com.topdraw.business.module.member.profile.domain.MemberProfile;
4 import com.topdraw.business.basicdata.member.profile.service.dto.MemberProfileDTO; 4 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
5 import com.topdraw.business.basicdata.member.profile.service.dto.MemberProfileQueryCriteria; 5 import com.topdraw.business.module.member.profile.service.dto.MemberProfileQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
...@@ -35,11 +35,15 @@ public interface MemberProfileService { ...@@ -35,11 +35,15 @@ public interface MemberProfileService {
35 */ 35 */
36 MemberProfileDTO findById(Long id); 36 MemberProfileDTO findById(Long id);
37 37
38 void create(MemberProfile resources); 38 MemberProfile create(MemberProfile resources);
39
40 MemberProfile createDefault(MemberProfile resources);
39 41
40 void update(MemberProfile resources); 42 void update(MemberProfile resources);
41 43
42 void delete(Long id); 44 void delete(Long id);
43 45
44 MemberProfileDTO findByMemberId(Long memberId); 46 MemberProfileDTO findByMemberId(Long memberId);
47
48 void updateMemberProfileAndMember(MemberProfile resources);
45 } 49 }
......
1 package com.topdraw.business.basicdata.member.profile.service.dto; 1 package com.topdraw.business.module.member.profile.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import java.sql.Timestamp; 4 import java.sql.Timestamp;
...@@ -21,21 +21,30 @@ public class MemberProfileDTO implements Serializable { ...@@ -21,21 +21,30 @@ public class MemberProfileDTO implements Serializable {
21 // 姓名 21 // 姓名
22 private String realname; 22 private String realname;
23 23
24 private String nickname;
25
24 // 性别 0:女; 1:男 -1:未知 26 // 性别 0:女; 1:男 -1:未知
25 private Integer gender; 27 private Integer gender;
26 28
27 // 生日 29 // 生日
28 private Timestamp birthday; 30 private Timestamp birthday;
29 31
32 // 生日字符串
33 private String birthdayStr;
34
35 // vip
36 private Integer vip;
37
30 // 星座 38 // 星座
31 private String constellation; 39 private String constellation;
32 40
33 // 身份证 41 private Long vipExpireTime;
34 private String idCard;
35 42
36 // 电话
37 private String phone; 43 private String phone;
38 44
45 // 身份证
46 private String idCard;
47
39 // 电子邮件 48 // 电子邮件
40 private String email; 49 private String email;
41 50
...@@ -48,6 +57,9 @@ public class MemberProfileDTO implements Serializable { ...@@ -48,6 +57,9 @@ public class MemberProfileDTO implements Serializable {
48 // 城市 57 // 城市
49 private String city; 58 private String city;
50 59
60 // 头像
61 private String avatarUrl;
62
51 // 区县 63 // 区县
52 private String district; 64 private String district;
53 65
......
1 package com.topdraw.business.basicdata.member.profile.service.dto; 1 package com.topdraw.business.module.member.profile.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
......
1 package com.topdraw.business.basicdata.member.profile.service.impl; 1 package com.topdraw.business.module.member.profile.service.impl;
2 2
3 import cn.hutool.core.date.DateUtil;
3 import com.topdraw.aspect.AsyncMqSend; 4 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.member.profile.domain.MemberProfile; 5 import com.topdraw.business.module.member.domain.Member;
5 import com.topdraw.business.basicdata.member.service.MemberService; 6 import com.topdraw.business.module.member.profile.domain.MemberProfile;
6 import com.topdraw.business.basicdata.member.service.dto.MemberDTO; 7 import com.topdraw.business.module.member.profile.domain.MemberProfileBuild;
8 import com.topdraw.business.module.member.repository.MemberRepository;
9 import com.topdraw.business.module.member.service.MemberService;
10 import com.topdraw.utils.StringUtils;
7 import com.topdraw.utils.ValidationUtil; 11 import com.topdraw.utils.ValidationUtil;
8 import com.topdraw.business.basicdata.member.profile.repository.MemberProfileRepository; 12 import com.topdraw.business.module.member.profile.repository.MemberProfileRepository;
9 import com.topdraw.business.basicdata.member.profile.service.MemberProfileService; 13 import com.topdraw.business.module.member.profile.service.MemberProfileService;
10 import com.topdraw.business.basicdata.member.profile.service.dto.MemberProfileDTO; 14 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
11 import com.topdraw.business.basicdata.member.profile.service.dto.MemberProfileQueryCriteria; 15 import com.topdraw.business.module.member.profile.service.dto.MemberProfileQueryCriteria;
12 import com.topdraw.business.basicdata.member.profile.service.mapper.MemberProfileMapper; 16 import com.topdraw.business.module.member.profile.service.mapper.MemberProfileMapper;
17 import lombok.extern.slf4j.Slf4j;
13 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.stereotype.Service; 19 import org.springframework.stereotype.Service;
15 import org.springframework.transaction.annotation.Propagation; 20 import org.springframework.transaction.annotation.Propagation;
...@@ -21,6 +26,8 @@ import org.springframework.util.Assert; ...@@ -21,6 +26,8 @@ import org.springframework.util.Assert;
21 import com.topdraw.utils.PageUtil; 26 import com.topdraw.utils.PageUtil;
22 import com.topdraw.utils.QueryHelp; 27 import com.topdraw.utils.QueryHelp;
23 28
29 import java.nio.charset.StandardCharsets;
30 import java.util.Base64;
24 import java.util.List; 31 import java.util.List;
25 import java.util.Map; 32 import java.util.Map;
26 import java.util.Optional; 33 import java.util.Optional;
...@@ -31,13 +38,19 @@ import java.util.Optional; ...@@ -31,13 +38,19 @@ import java.util.Optional;
31 */ 38 */
32 @Service 39 @Service
33 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) 40 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
41 @Slf4j
34 public class MemberProfileServiceImpl implements MemberProfileService { 42 public class MemberProfileServiceImpl implements MemberProfileService {
35 43
36 @Autowired 44 @Autowired
37 private MemberProfileRepository MemberProfileRepository; 45 private MemberProfileRepository MemberProfileRepository;
38 46
39 @Autowired 47 @Autowired
48 private MemberRepository memberRepository;
49
50 @Autowired
40 private MemberProfileMapper MemberProfileMapper; 51 private MemberProfileMapper MemberProfileMapper;
52 @Autowired
53 private MemberService memberService;
41 54
42 55
43 @Override 56 @Override
...@@ -61,17 +74,35 @@ public class MemberProfileServiceImpl implements MemberProfileService { ...@@ -61,17 +74,35 @@ public class MemberProfileServiceImpl implements MemberProfileService {
61 @Override 74 @Override
62 @Transactional(rollbackFor = Exception.class) 75 @Transactional(rollbackFor = Exception.class)
63 @AsyncMqSend() 76 @AsyncMqSend()
64 public void create(MemberProfile resources) { 77 public MemberProfile create(MemberProfile resources) {
78 log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
65 MemberProfileRepository.save(resources); 79 MemberProfileRepository.save(resources);
80 return resources;
81 }
82
83 @Override
84 public MemberProfile createDefault(MemberProfile resources) {
85
86 Long memberId = resources.getMemberId();
87 String realname = resources.getRealname();
88 Integer gender = resources.getGender();
89 MemberProfile memberProfile = MemberProfileBuild.build();
90 MemberProfile memberProfile1 = this.MemberProfileRepository.save(memberProfile);
91 return memberProfile1;
66 } 92 }
67 93
68 @Override 94 @Override
69 @Transactional(rollbackFor = Exception.class) 95 @Transactional(rollbackFor = Exception.class)
70 @AsyncMqSend() 96 @AsyncMqSend()
71 public void update(MemberProfile resources) { 97 public void update(MemberProfile resources) {
98
99 log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
100
72 MemberProfile MemberProfile = MemberProfileRepository.findById(resources.getId()).orElseGet(MemberProfile::new); 101 MemberProfile MemberProfile = MemberProfileRepository.findById(resources.getId()).orElseGet(MemberProfile::new);
73 ValidationUtil.isNull( MemberProfile.getId(),"MemberProfile","id",resources.getId()); 102 ValidationUtil.isNull( MemberProfile.getId(),"MemberProfile","id",resources.getId());
74 MemberProfile.copy(resources); 103 MemberProfile.copy(resources);
104
105 log.info("MemberProfileServiceImpl ==>> update ==>> copy ===>> resources ===>> [{}]",resources);
75 MemberProfileRepository.save(MemberProfile); 106 MemberProfileRepository.save(MemberProfile);
76 } 107 }
77 108
...@@ -95,5 +126,37 @@ public class MemberProfileServiceImpl implements MemberProfileService { ...@@ -95,5 +126,37 @@ public class MemberProfileServiceImpl implements MemberProfileService {
95 return null; 126 return null;
96 } 127 }
97 128
129 @Override
130 @Transactional(rollbackFor = Exception.class)
131 public void updateMemberProfileAndMember(MemberProfile resources) {
132 log.info("MemberProfileServiceImpl ==>> updateMemberProfileAndMember ==>> resources ===>> [{}]",resources);
133 String realname = resources.getRealname();
134 String nickNameStr = "";
135 if (StringUtils.isNotBlank(realname)) {
136 byte[] encode = Base64.getEncoder().encode(realname.getBytes(StandardCharsets.UTF_8));
137 nickNameStr = new String(encode);
138 resources.setRealname(nickNameStr);
139 }
140
141 if (StringUtils.isNotBlank(resources.getIdCard())) {
142 resources.setIdCard("000000000000000000");
143 }
144
145 this.MemberProfileRepository.save(resources);
146
147 //修改member相关信息
148 Long memberId = resources.getMemberId();
149 Member member = memberRepository.findById(memberId).orElseGet(Member::new);
150 ValidationUtil.isNull(member.getId(),"member","id", memberId);
151
152 member.setNickname(nickNameStr);
153 member.setGender(resources.getGender());
154 member.setBirthday(DateUtil.format(resources.getBirthday(), "yyyy-MM-dd"));
155 member.setAvatarUrl(resources.getAvatarUrl());
156
157 // memberRepository.save(member);
158 log.info("updateMemberProfileAndMember ==>> member ==>> [{}]",member);
159 memberService.update(member);
160 }
98 161
99 } 162 }
......
1 package com.topdraw.business.basicdata.member.profile.service.mapper; 1 package com.topdraw.business.module.member.profile.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.member.profile.domain.MemberProfile; 4 import com.topdraw.business.module.member.profile.domain.MemberProfile;
5 import com.topdraw.business.basicdata.member.profile.service.dto.MemberProfileDTO; 5 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.member.relatedinfo.domain; 1 package com.topdraw.business.module.member.relatedinfo.domain;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
5 import cn.hutool.core.bean.BeanUtil; 5 import cn.hutool.core.bean.BeanUtil;
6 import cn.hutool.core.bean.copier.CopyOptions; 6 import cn.hutool.core.bean.copier.CopyOptions;
7 import javax.persistence.*; 7 import javax.persistence.*;
8 import javax.validation.constraints.NotNull;
9
8 import org.springframework.data.annotation.CreatedDate; 10 import org.springframework.data.annotation.CreatedDate;
9 import org.springframework.data.annotation.LastModifiedDate; 11 import org.springframework.data.annotation.LastModifiedDate;
10 import org.springframework.data.jpa.domain.support.AuditingEntityListener; 12 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
...@@ -28,6 +30,7 @@ public class MemberRelatedInfo implements Serializable { ...@@ -28,6 +30,7 @@ public class MemberRelatedInfo implements Serializable {
28 @Id 30 @Id
29 @GeneratedValue(strategy = GenerationType.IDENTITY) 31 @GeneratedValue(strategy = GenerationType.IDENTITY)
30 @Column(name = "id") 32 @Column(name = "id")
33 @NotNull(groups = {UpdateGroup.class})
31 private Long id; 34 private Long id;
32 35
33 // 会员id 36 // 会员id
......
1 package com.topdraw.business.module.member.relatedinfo.domain;
2
3 public interface UpdateGroup {
4 }
1 package com.topdraw.business.basicdata.member.relatedinfo.repository; 1 package com.topdraw.business.module.member.relatedinfo.repository;
2 2
3 import com.topdraw.business.basicdata.member.relatedinfo.domain.MemberRelatedInfo; 3 import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
......
1 package com.topdraw.business.module.member.relatedinfo.rest;
2
3 import com.topdraw.annotation.AnonymousAccess;
4 import com.topdraw.business.module.member.relatedinfo.domain.UpdateGroup;
5 import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
6 import com.topdraw.business.module.member.service.MemberService;
7 import com.topdraw.business.module.member.service.dto.MemberDTO;
8 import com.topdraw.common.ResultInfo;
9 import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo;
10 import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoService;
11 import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria;
12 import com.topdraw.exception.BadRequestException;
13 import com.topdraw.util.Base64Util;
14 import lombok.extern.slf4j.Slf4j;
15 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.data.domain.Pageable;
17 import org.springframework.util.Assert;
18 import org.springframework.util.StringUtils;
19 import org.springframework.validation.annotation.Validated;
20 import org.springframework.web.bind.annotation.*;
21 import io.swagger.annotations.*;
22
23 import java.util.Base64;
24 import java.util.Objects;
25
26 /**
27 * @author XiangHan
28 * @date 2021-10-22
29 */
30 @Slf4j
31 @Api(tags = "MemberRelatedInfo管理")
32 @RestController
33 @RequestMapping("/ucEngine/api/memberRelatedInfo")
34 @CrossOrigin
35 public class MemberRelatedInfoController {
36
37 @Autowired
38 private MemberRelatedInfoService MemberRelatedInfoService;
39 @Autowired
40 private MemberService memberService;
41
42 @GetMapping(value = "/pageMemberRelatedInfos")
43 @ApiOperation("查询MemberRelatedInfo")
44 public ResultInfo pageMemberRelatedInfos(@Validated MemberRelatedInfoQueryCriteria criteria, Pageable pageable) {
45 return ResultInfo.successPage(MemberRelatedInfoService.queryAll(criteria,pageable));
46 }
47
48 @PostMapping(value = "/create")
49 @ApiOperation("新增MemberRelatedInfo")
50 @AnonymousAccess
51 public ResultInfo create(@Validated @RequestBody MemberRelatedInfo resources) {
52 String name = resources.getName();
53 if (StringUtils.hasText(name)) {
54 String nickNameEncode = Base64Util.encode(name);
55 resources.setName(nickNameEncode);
56 }
57
58 MemberRelatedInfoService.create(resources);
59 return ResultInfo.success();
60 }
61
62 @PutMapping(value = "/update")
63 @ApiOperation("修改MemberRelatedInfo")
64 @AnonymousAccess
65 public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberRelatedInfo resources) {
66
67 log.info("Param ===> resources ===> [{}]",resources);
68
69 String name = resources.getName();
70 if (StringUtils.hasText(name)) {
71 String nickNameEncode = Base64Util.encode(name);
72 resources.setName(nickNameEncode);
73 }
74
75 Long id = resources.getId();
76 MemberRelatedInfoDTO memberRelatedInfoDTO = this.MemberRelatedInfoService.findById(id);
77 if (memberRelatedInfoDTO.getId() != null) {
78 Long memberId = memberRelatedInfoDTO.getMemberId();
79 if (Objects.isNull(memberId)) {
80 log.info("id ==>> [{}]",id);
81 throw new BadRequestException("memberId is null! please check member info");
82 }
83
84 MemberDTO memberDTO = this.memberService.findById(memberId);
85 if (Objects.nonNull(memberDTO)) {
86 String code = memberDTO.getCode();
87 Assert.notNull(code,"code can't be null");
88 resources.setMemberCode(code);
89 MemberRelatedInfoService.update(resources);
90 }
91 }
92
93 return ResultInfo.success();
94 }
95
96 @GetMapping(value = "/findById/{id}")
97 @ApiOperation("查询指定MemberRelatedInfo")
98 public ResultInfo findById(@PathVariable("id") Long id) {
99 return ResultInfo.success(MemberRelatedInfoService.findById(id));
100 }
101
102 @DeleteMapping(value = "/delete/{id}")
103 @ApiOperation("删除MemberRelatedInfo")
104 @AnonymousAccess
105 public ResultInfo delete(@PathVariable Long id) {
106 MemberRelatedInfoService.delete(id);
107 return ResultInfo.success();
108 }
109
110 }
1 package com.topdraw.business.basicdata.member.relatedinfo.service; 1 package com.topdraw.business.module.member.relatedinfo.service;
2 2
3 import com.topdraw.business.basicdata.member.relatedinfo.domain.MemberRelatedInfo; 3 import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo;
4 import com.topdraw.business.basicdata.member.relatedinfo.service.dto.MemberRelatedInfoDTO; 4 import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
5 import com.topdraw.business.basicdata.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria; 5 import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria;
6 import org.springframework.data.domain.Pageable; 6 import org.springframework.data.domain.Pageable;
7 import java.util.Map; 7 import java.util.Map;
8 import java.util.List; 8 import java.util.List;
......
1 package com.topdraw.business.basicdata.member.relatedinfo.service.dto; 1 package com.topdraw.business.module.member.relatedinfo.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
5 import javax.persistence.Column;
6 import java.sql.Timestamp; 5 import java.sql.Timestamp;
7 import java.io.Serializable; 6 import java.io.Serializable;
8 import java.time.LocalDate; 7 import java.time.LocalDate;
......
1 package com.topdraw.business.basicdata.member.relatedinfo.service.dto; 1 package com.topdraw.business.module.member.relatedinfo.service.dto;
2 2
3 import com.topdraw.annotation.Query; 3 import com.topdraw.annotation.Query;
4 import lombok.Data; 4 import lombok.Data;
5 5
6 import javax.validation.constraints.NotNull;
7
8 /** 6 /**
9 * @author XiangHan 7 * @author XiangHan
10 * @date 2021-10-22 8 * @date 2021-10-22
......
1 package com.topdraw.business.basicdata.member.relatedinfo.service.impl; 1 package com.topdraw.business.module.member.relatedinfo.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.member.relatedinfo.domain.MemberRelatedInfo; 4 import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo;
5 import com.topdraw.utils.ValidationUtil; 5 import com.topdraw.utils.ValidationUtil;
6 import com.topdraw.business.basicdata.member.relatedinfo.repository.MemberRelatedInfoRepository; 6 import com.topdraw.business.module.member.relatedinfo.repository.MemberRelatedInfoRepository;
7 import com.topdraw.business.basicdata.member.relatedinfo.service.MemberRelatedInfoService; 7 import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoService;
8 import com.topdraw.business.basicdata.member.relatedinfo.service.dto.MemberRelatedInfoDTO; 8 import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
9 import com.topdraw.business.basicdata.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria; 9 import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria;
10 import com.topdraw.business.basicdata.member.relatedinfo.service.mapper.MemberRelatedInfoMapper; 10 import com.topdraw.business.module.member.relatedinfo.service.mapper.MemberRelatedInfoMapper;
11 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
13 import org.springframework.transaction.annotation.Propagation; 13 import org.springframework.transaction.annotation.Propagation;
......
1 package com.topdraw.business.basicdata.member.relatedinfo.service.mapper; 1 package com.topdraw.business.module.member.relatedinfo.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.member.relatedinfo.domain.MemberRelatedInfo; 4 import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo;
5 import com.topdraw.business.basicdata.member.relatedinfo.service.dto.MemberRelatedInfoDTO; 5 import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.basicdata.member.repository; 1 package com.topdraw.business.module.member.repository;
2 2
3 import com.topdraw.business.basicdata.member.domain.Member; 3 import com.topdraw.business.module.member.domain.Member;
4 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 6
7 import java.util.List;
7 import java.util.Optional; 8 import java.util.Optional;
8 9
9 /** 10 /**
...@@ -13,4 +14,6 @@ import java.util.Optional; ...@@ -13,4 +14,6 @@ import java.util.Optional;
13 public interface MemberRepository extends JpaRepository<Member, Long>, JpaSpecificationExecutor<Member> { 14 public interface MemberRepository extends JpaRepository<Member, Long>, JpaSpecificationExecutor<Member> {
14 15
15 Optional<Member> findFirstByCode(String code); 16 Optional<Member> findFirstByCode(String code);
17
18 List<Member> findByUserIptvId(Long id);
16 } 19 }
......
1 package com.topdraw.business.basicdata.member.rest; 1 package com.topdraw.business.module.member.rest;
2
3 2
4 import com.topdraw.annotation.AnonymousAccess; 3 import com.topdraw.annotation.AnonymousAccess;
5 import com.topdraw.aop.log.Log; 4 import com.topdraw.business.module.member.domain.Member;
6 import com.topdraw.business.basicdata.member.domain.Member; 5 import com.topdraw.business.module.member.service.MemberService;
7 import com.topdraw.business.basicdata.member.service.MemberService; 6 import com.topdraw.business.module.member.service.dto.MemberDTO;
8 import com.topdraw.business.basicdata.member.service.dto.MemberDTO; 7 import com.topdraw.business.module.user.iptv.domain.UserTv;
9 import com.topdraw.business.basicdata.user.iptv.domain.UserTv; 8 import com.topdraw.business.process.service.UserOperationService;
10 import com.topdraw.business.process.service.UserTvOperationService;
11 import com.topdraw.common.ResultInfo; 9 import com.topdraw.common.ResultInfo;
12 import com.topdraw.util.Base64Util; 10 import com.topdraw.util.Base64Util;
13 import io.swagger.annotations.Api; 11 import io.swagger.annotations.Api;
...@@ -27,7 +25,7 @@ import java.util.Objects; ...@@ -27,7 +25,7 @@ import java.util.Objects;
27 */ 25 */
28 @Api(tags = "Member管理") 26 @Api(tags = "Member管理")
29 @RestController 27 @RestController
30 @RequestMapping("/api/member") 28 @RequestMapping("/ucEngine/api/member")
31 @CrossOrigin 29 @CrossOrigin
32 public class MemberController { 30 public class MemberController {
33 31
...@@ -35,9 +33,8 @@ public class MemberController { ...@@ -35,9 +33,8 @@ public class MemberController {
35 private MemberService memberService; 33 private MemberService memberService;
36 34
37 @Autowired 35 @Autowired
38 private UserTvOperationService userTvOperationService; 36 private UserOperationService userTvOperationService;
39 37
40 @Log
41 @GetMapping(value = "/findById/{id}") 38 @GetMapping(value = "/findById/{id}")
42 @ApiOperation("新增UserTv会员") 39 @ApiOperation("新增UserTv会员")
43 public ResultInfo findById(@PathVariable Long id) { 40 public ResultInfo findById(@PathVariable Long id) {
...@@ -45,10 +42,8 @@ public class MemberController { ...@@ -45,10 +42,8 @@ public class MemberController {
45 return ResultInfo.success(memberDTO); 42 return ResultInfo.success(memberDTO);
46 } 43 }
47 44
48 @Log
49 @PostMapping(value = "/createMemberByUserTv") 45 @PostMapping(value = "/createMemberByUserTv")
50 @ApiOperation("新增UserTv会员") 46 @ApiOperation("新增UserTv会员")
51 @AnonymousAccess
52 public ResultInfo createMemberByUserTv(@Validated @RequestBody UserTv resources) { 47 public ResultInfo createMemberByUserTv(@Validated @RequestBody UserTv resources) {
53 String platformAccount = resources.getPlatformAccount(); 48 String platformAccount = resources.getPlatformAccount();
54 Assert.notNull(platformAccount, "The given platformAccount must not be null!"); 49 Assert.notNull(platformAccount, "The given platformAccount must not be null!");
...@@ -56,15 +51,14 @@ public class MemberController { ...@@ -56,15 +51,14 @@ public class MemberController {
56 return ResultInfo.success(result); 51 return ResultInfo.success(result);
57 } 52 }
58 53
59 @Log
60 @PostMapping(value = "/create") 54 @PostMapping(value = "/create")
61 @ApiOperation("新增Member") 55 @ApiOperation("新增Member")
56 @AnonymousAccess
62 public ResultInfo create(@Validated @RequestBody Member resources) { 57 public ResultInfo create(@Validated @RequestBody Member resources) {
63 Long id = memberService.create(resources); 58 Long id = memberService.create(resources);
64 return ResultInfo.success(id); 59 return ResultInfo.success(id);
65 } 60 }
66 61
67 @Log
68 @PostMapping(value = "/doUpdateVip") 62 @PostMapping(value = "/doUpdateVip")
69 @ApiOperation("修改Member等级") 63 @ApiOperation("修改Member等级")
70 public ResultInfo doUpdateVip(@RequestBody Member member) { 64 public ResultInfo doUpdateVip(@RequestBody Member member) {
...@@ -72,9 +66,9 @@ public class MemberController { ...@@ -72,9 +66,9 @@ public class MemberController {
72 return ResultInfo.success(); 66 return ResultInfo.success();
73 } 67 }
74 68
75 @Log
76 @PutMapping(value = "/update") 69 @PutMapping(value = "/update")
77 @ApiOperation("修改Member") 70 @ApiOperation("修改Member")
71 @AnonymousAccess
78 public ResultInfo update(@Validated @RequestBody Member resources) { 72 public ResultInfo update(@Validated @RequestBody Member resources) {
79 Long memberId = resources.getId(); 73 Long memberId = resources.getId();
80 Assert.notNull(memberId,"memberId can't be null"); 74 Assert.notNull(memberId,"memberId can't be null");
...@@ -83,10 +77,6 @@ public class MemberController { ...@@ -83,10 +77,6 @@ public class MemberController {
83 String code = memberDTO.getCode(); 77 String code = memberDTO.getCode();
84 Assert.notNull(code, "code can't be null"); 78 Assert.notNull(code, "code can't be null");
85 resources.setCode(code); 79 resources.setCode(code);
86 String nickname = resources.getNickname();
87 if (!StringUtils.isEmpty(nickname)) {
88 resources.setNickname(Base64Util.encode(nickname));
89 }
90 memberService.update(resources); 80 memberService.update(resources);
91 } 81 }
92 return ResultInfo.success(); 82 return ResultInfo.success();
......
1 package com.topdraw.business.basicdata.member.service; 1 package com.topdraw.business.module.member.service;
2 2
3 import com.topdraw.business.basicdata.member.domain.Member; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.member.service.dto.MemberDTO; 4 import com.topdraw.business.module.member.domain.Member;
5 import com.topdraw.business.basicdata.member.service.dto.MemberQueryCriteria; 5 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
6 import com.topdraw.business.basicdata.user.iptv.domain.UserTv; 6 import com.topdraw.business.module.member.service.dto.MemberDTO;
7 import com.topdraw.business.module.member.service.dto.MemberQueryCriteria;
7 import org.springframework.data.domain.Pageable; 8 import org.springframework.data.domain.Pageable;
9 import org.springframework.transaction.annotation.Transactional;
8 10
9 import java.util.List; 11 import java.util.List;
10 import java.util.Map; 12 import java.util.Map;
...@@ -37,10 +39,28 @@ public interface MemberService { ...@@ -37,10 +39,28 @@ public interface MemberService {
37 */ 39 */
38 MemberDTO findById(Long id); 40 MemberDTO findById(Long id);
39 41
42 /**
43 *
44 * @param resources
45 * @return
46 */
40 Long create(Member resources); 47 Long create(Member resources);
41 48
49 Member createAndReturnMember(Member resources);
50
51 /**
52 *
53 * @param resources
54 */
42 void update(Member resources); 55 void update(Member resources);
43 56
57
58 void unbind(Member resources);
59
60 /**
61 *
62 * @param id
63 */
44 void delete(Long id); 64 void delete(Long id);
45 65
46 /** 66 /**
...@@ -50,5 +70,11 @@ public interface MemberService { ...@@ -50,5 +70,11 @@ public interface MemberService {
50 */ 70 */
51 MemberDTO getByCode(String code); 71 MemberDTO getByCode(String code);
52 72
73 /**
74 *
75 * @param member
76 */
53 void doUpdateMemberPoints(Member member); 77 void doUpdateMemberPoints(Member member);
78
79 List<MemberDTO> findByUserIptvId(Long id);
54 } 80 }
......
1 package com.topdraw.business.basicdata.member.service.dto; 1 package com.topdraw.business.module.member.service.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
...@@ -14,6 +14,11 @@ import java.time.LocalDateTime; ...@@ -14,6 +14,11 @@ import java.time.LocalDateTime;
14 @Data 14 @Data
15 public class MemberDTO implements Serializable { 15 public class MemberDTO implements Serializable {
16 16
17 private String platformAccount;
18
19 // iptv绑定的主会员 0:否 1:是
20 private Integer iptvMajor;
21
17 // vip过期时间 22 // vip过期时间
18 private LocalDateTime vipExpireTime; 23 private LocalDateTime vipExpireTime;
19 24
...@@ -78,13 +83,13 @@ public class MemberDTO implements Serializable { ...@@ -78,13 +83,13 @@ public class MemberDTO implements Serializable {
78 private Integer bindIptvPlatformType; 83 private Integer bindIptvPlatformType;
79 84
80 // iptv账号绑定时间 85 // iptv账号绑定时间
81 private Timestamp bindIptvTime; 86 private LocalDateTime bindIptvTime;
82 87
83 // 创建时间 88 // 创建时间
84 private Timestamp createTime; 89 private LocalDateTime createTime;
85 90
86 // 更新时间 91 // 更新时间
87 private Timestamp updateTime; 92 private LocalDateTime updateTime;
88 93
89 // 是否在黑名单 1:是;0否 94 // 是否在黑名单 1:是;0否
90 private Long blackStatus; 95 private Long blackStatus;
......
1 package com.topdraw.business.basicdata.member.service.dto; 1 package com.topdraw.business.module.member.service.dto;
2 2
3 import com.topdraw.annotation.Query; 3 import com.topdraw.annotation.Query;
4 import lombok.Data; 4 import lombok.Data;
......
1 package com.topdraw.business.basicdata.member.service.impl; 1 package com.topdraw.business.module.member.service.impl;
2 2
3 import com.topdraw.aspect.AsyncMqSend; 3 import com.topdraw.aspect.AsyncMqSend;
4 import com.topdraw.business.basicdata.member.domain.Member; 4 import com.topdraw.business.module.member.domain.Member;
5 import com.topdraw.business.basicdata.member.repository.MemberRepository; 5 import com.topdraw.business.module.member.repository.MemberRepository;
6 import com.topdraw.business.basicdata.member.service.MemberService; 6 import com.topdraw.business.module.member.service.MemberService;
7 import com.topdraw.business.basicdata.member.service.dto.MemberDTO; 7 import com.topdraw.business.module.member.service.dto.MemberDTO;
8 import com.topdraw.business.basicdata.member.service.dto.MemberQueryCriteria; 8 import com.topdraw.business.module.member.service.dto.MemberQueryCriteria;
9 import com.topdraw.business.basicdata.member.service.mapper.MemberMapper; 9 import com.topdraw.business.module.member.service.mapper.MemberMapper;
10 import com.topdraw.business.basicdata.user.iptv.domain.UserTv;
11 import com.topdraw.business.basicdata.user.iptv.service.UserTvService;
12 import com.topdraw.business.basicdata.user.iptv.service.dto.UserTvDTO;
13 import com.topdraw.common.ResultInfo;
14 import com.topdraw.config.LocalConstants;
15 import com.topdraw.mq.config.RabbitMqConfig;
16 import com.topdraw.util.IdWorker; 10 import com.topdraw.util.IdWorker;
17 import com.topdraw.util.RedissonUtil; 11 import com.topdraw.util.RedissonUtil;
18 import com.topdraw.util.TimestampUtil;
19 import com.topdraw.utils.PageUtil; 12 import com.topdraw.utils.PageUtil;
20 import com.topdraw.utils.QueryHelp; 13 import com.topdraw.utils.QueryHelp;
21 import com.topdraw.utils.StringUtils; 14 import com.topdraw.utils.StringUtils;
...@@ -23,21 +16,15 @@ import com.topdraw.utils.ValidationUtil; ...@@ -23,21 +16,15 @@ import com.topdraw.utils.ValidationUtil;
23 import lombok.extern.slf4j.Slf4j; 16 import lombok.extern.slf4j.Slf4j;
24 import org.redisson.api.RLock; 17 import org.redisson.api.RLock;
25 import org.redisson.api.RedissonClient; 18 import org.redisson.api.RedissonClient;
26 import org.springframework.beans.BeanUtils;
27 import org.springframework.beans.factory.annotation.Autowired; 19 import org.springframework.beans.factory.annotation.Autowired;
28 import org.springframework.cache.annotation.CacheConfig;
29 import org.springframework.cache.annotation.CacheEvict; 20 import org.springframework.cache.annotation.CacheEvict;
30 import org.springframework.cache.annotation.Cacheable;
31 import org.springframework.dao.EmptyResultDataAccessException; 21 import org.springframework.dao.EmptyResultDataAccessException;
32 import org.springframework.data.domain.Page; 22 import org.springframework.data.domain.Page;
33 import org.springframework.data.domain.Pageable; 23 import org.springframework.data.domain.Pageable;
34 import org.springframework.stereotype.Service; 24 import org.springframework.stereotype.Service;
35 import org.springframework.transaction.PlatformTransactionManager; 25 import org.springframework.transaction.PlatformTransactionManager;
36 import org.springframework.transaction.TransactionDefinition;
37 import org.springframework.transaction.TransactionStatus;
38 import org.springframework.transaction.annotation.Propagation; 26 import org.springframework.transaction.annotation.Propagation;
39 import org.springframework.transaction.annotation.Transactional; 27 import org.springframework.transaction.annotation.Transactional;
40 import org.springframework.transaction.support.DefaultTransactionDefinition;
41 import org.springframework.util.Assert; 28 import org.springframework.util.Assert;
42 29
43 import java.nio.charset.StandardCharsets; 30 import java.nio.charset.StandardCharsets;
...@@ -65,7 +52,7 @@ public class MemberServiceImpl implements MemberService { ...@@ -65,7 +52,7 @@ public class MemberServiceImpl implements MemberService {
65 PlatformTransactionManager platformTransactionManager; 52 PlatformTransactionManager platformTransactionManager;
66 53
67 @Autowired 54 @Autowired
68 private com.topdraw.business.basicdata.user.iptv.service.UserTvService UserTvService; 55 private com.topdraw.business.module.user.iptv.service.UserTvService UserTvService;
69 56
70 @Override 57 @Override
71 public Map<String, Object> queryAll(MemberQueryCriteria criteria, Pageable pageable) { 58 public Map<String, Object> queryAll(MemberQueryCriteria criteria, Pageable pageable) {
...@@ -80,7 +67,6 @@ public class MemberServiceImpl implements MemberService { ...@@ -80,7 +67,6 @@ public class MemberServiceImpl implements MemberService {
80 } 67 }
81 68
82 @Override 69 @Override
83 // @Cacheable(value = "member::memberId",key = "#p0")
84 public MemberDTO findById(Long id) { 70 public MemberDTO findById(Long id) {
85 Member member = memberRepository.findById(id).orElseGet(Member::new); 71 Member member = memberRepository.findById(id).orElseGet(Member::new);
86 ValidationUtil.isNull(member.getId(),"Member","id",id); 72 ValidationUtil.isNull(member.getId(),"Member","id",id);
...@@ -92,12 +78,20 @@ public class MemberServiceImpl implements MemberService { ...@@ -92,12 +78,20 @@ public class MemberServiceImpl implements MemberService {
92 @Transactional(rollbackFor = Exception.class) 78 @Transactional(rollbackFor = Exception.class)
93 @AsyncMqSend 79 @AsyncMqSend
94 public Long create(Member resources) { 80 public Long create(Member resources) {
95 log.info("start=====>>>>>resources======>>>>接收到的数据 --->>>> " + resources);
96 Member member = this.checkMemberData(resources); 81 Member member = this.checkMemberData(resources);
97 memberRepository.save(member); 82 memberRepository.save(member);
98 return member.getId(); 83 return member.getId();
99 } 84 }
100 85
86 @Override
87 @Transactional(rollbackFor = Exception.class)
88 @AsyncMqSend
89 public Member createAndReturnMember(Member resources) {
90 Member member = this.checkMemberData(resources);
91 memberRepository.save(member);
92 return resources;
93 }
94
101 private Member checkMemberData(Member member) { 95 private Member checkMemberData(Member member) {
102 Long defaultValue = 0L; 96 Long defaultValue = 0L;
103 String code = member.getCode(); 97 String code = member.getCode();
...@@ -119,18 +113,16 @@ public class MemberServiceImpl implements MemberService { ...@@ -119,18 +113,16 @@ public class MemberServiceImpl implements MemberService {
119 member.setDueCouponAmount(defaultValue); 113 member.setDueCouponAmount(defaultValue);
120 member.setBlackStatus(0L); 114 member.setBlackStatus(0L);
121 String nickname = member.getNickname(); 115 String nickname = member.getNickname();
122 if (StringUtils.isEmpty(nickname)) { 116 if (StringUtils.isNotEmpty(nickname)) {
123 nickname = "未设置"; 117 String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8)));
118 member.setNickname(base64Nickname);
124 } 119 }
125 String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8)));
126 member.setNickname(base64Nickname);
127 return member; 120 return member;
128 } 121 }
129 122
130 @Override 123 @Override
131 @Transactional(rollbackFor = Exception.class) 124 @Transactional(rollbackFor = Exception.class)
132 @AsyncMqSend() 125 @AsyncMqSend()
133 @CacheEvict(value = "member::memberId",key = "#p0.id")
134 public void update(Member resources) { 126 public void update(Member resources) {
135 RLock rLock = this.redissonClient.getLock("member::update::id" + resources.getId().toString()); 127 RLock rLock = this.redissonClient.getLock("member::update::id" + resources.getId().toString());
136 try { 128 try {
...@@ -147,6 +139,25 @@ public class MemberServiceImpl implements MemberService { ...@@ -147,6 +139,25 @@ public class MemberServiceImpl implements MemberService {
147 } 139 }
148 } 140 }
149 141
142 @Override
143 @Transactional(rollbackFor = Exception.class)
144 @AsyncMqSend()
145 public void unbind(Member resources) {
146 RLock rLock = this.redissonClient.getLock("member::update::id" + resources.getId().toString());
147 try {
148 RedissonUtil.lock(rLock);
149 Member member = memberRepository.findById(resources.getId()).orElseGet(Member::new);
150 ValidationUtil.isNull(member.getId(), "Member", "id", resources.getId());
151 member.copy(resources);
152 this.save(member);
153 } catch (Exception e) {
154 e.printStackTrace();
155 throw e;
156 } finally {
157 RedissonUtil.unlock(rLock);
158 }
159 }
160
150 private void save(Member member){ 161 private void save(Member member){
151 memberRepository.save(member); 162 memberRepository.save(member);
152 } 163 }
...@@ -178,6 +189,7 @@ public class MemberServiceImpl implements MemberService { ...@@ -178,6 +189,7 @@ public class MemberServiceImpl implements MemberService {
178 } 189 }
179 190
180 @Override 191 @Override
192 @AsyncMqSend()
181 public void doUpdateMemberPoints(Member resources) { 193 public void doUpdateMemberPoints(Member resources) {
182 RLock rLock = this.redissonClient.getLock("member::update::id" + resources.getId().toString()); 194 RLock rLock = this.redissonClient.getLock("member::update::id" + resources.getId().toString());
183 try { 195 try {
...@@ -194,5 +206,11 @@ public class MemberServiceImpl implements MemberService { ...@@ -194,5 +206,11 @@ public class MemberServiceImpl implements MemberService {
194 } 206 }
195 } 207 }
196 208
209 @Override
210 public List<MemberDTO> findByUserIptvId(Long id) {
211 List<Member> memberList = this.memberRepository.findByUserIptvId(id);
212 return memberMapper.toDto(memberList);
213 }
214
197 215
198 } 216 }
......
1 package com.topdraw.business.basicdata.member.service.mapper; 1 package com.topdraw.business.module.member.service.mapper;
2 2
3 import com.topdraw.base.BaseMapper; 3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.basicdata.member.domain.Member; 4 import com.topdraw.business.module.member.domain.Member;
5 import com.topdraw.business.basicdata.member.service.dto.MemberDTO; 5 import com.topdraw.business.module.member.service.dto.MemberDTO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy; 7 import org.mapstruct.ReportingPolicy;
8 8
......
1 package com.topdraw.business.module.member.viphistory.domain;
2
3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.bean.copier.CopyOptions;
5 import lombok.Data;
6 import lombok.experimental.Accessors;
7 import org.springframework.data.annotation.CreatedDate;
8 import org.springframework.data.annotation.LastModifiedDate;
9 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
10
11 import javax.persistence.*;
12 import java.io.Serializable;
13 import java.sql.Timestamp;
14 import java.time.LocalDateTime;
15
16 /**
17 * @author luerlong
18 * @date 2021-12-10
19 */
20 @Entity
21 @Data
22 @EntityListeners(AuditingEntityListener.class)
23 @Accessors(chain = true)
24 @Table(name="uc_member_vip_history")
25 public class MemberVipHistory implements Serializable {
26
27 // 主键
28 @Id
29 @GeneratedValue(strategy = GenerationType.IDENTITY)
30 @Column(name = "id")
31 private Long id;
32
33 // 会员id
34 @Column(name = "member_id")
35 private Long memberId;
36
37 // 会员vip等级
38 @Column(name = "vip")
39 private Integer vip;
40
41 // 修改之前vip等级
42 @Column(name = "before_vip")
43 private Integer beforeVip;
44
45 // vip失效时间
46 @Column(name = "vip_expire_time")
47 private LocalDateTime vipExpireTime;
48
49 // 状态 1正常 0已过期
50 @Column(name = "status")
51 private Integer status;
52
53 // 创建时间
54 @CreatedDate
55 @Column(name = "create_time")
56 private Timestamp createTime;
57
58 // 修改时间
59 @LastModifiedDate
60 @Column(name = "update_time")
61 private Timestamp updateTime;
62
63 public void copy(MemberVipHistory source){
64 BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
65 }
66 }
1 package com.topdraw.business.module.member.viphistory.repository;
2
3 import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory;
4 import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 import org.springframework.data.jpa.repository.Query;
7
8 import java.time.LocalDateTime;
9 import java.util.Optional;
10
11 /**
12 * @author luerlong
13 * @date 2021-12-10
14 */
15 public interface MemberVipHistoryRepository extends JpaRepository<MemberVipHistory, Long>, JpaSpecificationExecutor<MemberVipHistory> {
16
17 @Query(value = "SELECT * FROM uc_member_vip_history " +
18 " WHERE vip_expire_time >= ?2 AND member_id = ?1 order by create_time desc limit 1 ", nativeQuery = true)
19 Optional<MemberVipHistory> findByTime(Long memberId, LocalDateTime nowTime);
20 }
1 package com.topdraw.business.module.member.viphistory.rest;
2
3 import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory;
4 import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService;
5 import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryQueryCriteria;
6 import com.topdraw.common.ResultInfo;
7 import io.swagger.annotations.Api;
8 import io.swagger.annotations.ApiOperation;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.data.domain.Pageable;
11 import org.springframework.validation.annotation.Validated;
12 import org.springframework.web.bind.annotation.*;
13
14 /**
15 * @author luerlong
16 * @date 2021-12-10
17 */
18 @Api(tags = "MemberVipHistory管理")
19 @RestController
20 @RequestMapping("/api/memberVipHistory")
21 public class MemberVipHistoryController {
22
23 @Autowired
24 private MemberVipHistoryService memberVipHistoryService;
25
26 @GetMapping
27 @ApiOperation("查询MemberVipHistory")
28 public ResultInfo getMemberVipHistorys(MemberVipHistoryQueryCriteria criteria, Pageable pageable) {
29 return ResultInfo.successPage(memberVipHistoryService.queryAll(criteria,pageable));
30 }
31
32 @GetMapping(value = "/all")
33 @ApiOperation("查询所有MemberVipHistory")
34 public ResultInfo getMemberVipHistorys(MemberVipHistoryQueryCriteria criteria) {
35 return ResultInfo.success(memberVipHistoryService.queryAll(criteria));
36 }
37
38 @PostMapping
39 @ApiOperation("新增MemberVipHistory")
40 public ResultInfo create(@Validated @RequestBody MemberVipHistory resources) {
41 memberVipHistoryService.create(resources);
42 return ResultInfo.success();
43 }
44
45 @PutMapping
46 @ApiOperation("修改MemberVipHistory")
47 public ResultInfo update(@Validated @RequestBody MemberVipHistory resources) {
48 memberVipHistoryService.update(resources);
49 return ResultInfo.success();
50 }
51
52 @DeleteMapping(value = "/{id}")
53 @ApiOperation("删除MemberVipHistory")
54 public ResultInfo delete(@PathVariable Long id) {
55 memberVipHistoryService.delete(id);
56 return ResultInfo.success();
57 }
58
59 }
1 package com.topdraw.business.module.member.viphistory.service;
2
3 import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory;
4 import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryDTO;
5 import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryQueryCriteria;
6 import org.springframework.data.domain.Pageable;
7
8 import java.time.LocalDateTime;
9 import java.util.List;
10 import java.util.Map;
11 import java.util.Optional;
12
13 /**
14 * @author luerlong
15 * @date 2021-12-10
16 */
17 public interface MemberVipHistoryService {
18
19 /**
20 * 查询数据分页
21 * @param criteria 条件参数
22 * @param pageable 分页参数
23 * @return Map<String,Object>
24 */
25 Map<String,Object> queryAll(MemberVipHistoryQueryCriteria criteria, Pageable pageable);
26
27 /**
28 * 查询所有数据不分页
29 * @param criteria 条件参数
30 * @return List<MemberVipHistoryDTO>
31 */
32 List<MemberVipHistoryDTO> queryAll(MemberVipHistoryQueryCriteria criteria);
33
34 /**
35 * 根据ID查询
36 * @param id ID
37 * @return MemberVipHistoryDTO
38 */
39 MemberVipHistoryDTO findById(Long id);
40
41 void create(MemberVipHistory resources);
42
43 void update(MemberVipHistory resources);
44
45 void delete(Long id);
46
47 MemberVipHistory findByTime(Long id, LocalDateTime nowTime);
48 }
1 package com.topdraw.business.module.member.viphistory.service.dto;
2
3 import lombok.Data;
4
5 import java.io.Serializable;
6 import java.sql.Timestamp;
7 import java.time.LocalDateTime;
8
9
10 /**
11 * @author luerlong
12 * @date 2021-12-10
13 */
14 @Data
15 public class MemberVipHistoryDTO implements Serializable {
16
17 // 主键
18 private Long id;
19
20 // 会员id
21 private Long memberId;
22
23 // 会员vip等级
24 private Integer vip;
25
26 // 修改之前vip等级
27 private Integer beforeVip;
28
29 // vip失效时间
30 private LocalDateTime vipExpireTime;
31
32 // 状态 1正常 0已过期
33 private Integer status;
34
35 // 创建时间
36 private Timestamp createTime;
37
38 // 修改时间
39 private Timestamp updateTime;
40 }
1 package com.topdraw.business.module.member.viphistory.service.dto;
2
3 import lombok.Data;
4
5 /**
6 * @author luerlong
7 * @date 2021-12-10
8 */
9 @Data
10 public class MemberVipHistoryQueryCriteria {
11 }
1 package com.topdraw.business.module.member.viphistory.service.impl;
2
3
4 import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory;
5 import com.topdraw.business.module.member.viphistory.repository.MemberVipHistoryRepository;
6 import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService;
7 import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryDTO;
8 import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryQueryCriteria;
9 import com.topdraw.business.module.member.viphistory.service.mapper.MemberVipHistoryMapper;
10 import com.topdraw.utils.PageUtil;
11 import com.topdraw.utils.QueryHelp;
12 import com.topdraw.utils.ValidationUtil;
13 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.dao.EmptyResultDataAccessException;
15 import org.springframework.data.domain.Page;
16 import org.springframework.data.domain.Pageable;
17 import org.springframework.stereotype.Service;
18 import org.springframework.transaction.annotation.Propagation;
19 import org.springframework.transaction.annotation.Transactional;
20 import org.springframework.util.Assert;
21
22 import java.time.LocalDateTime;
23 import java.util.List;
24 import java.util.Map;
25 import java.util.Optional;
26
27 /**
28 * @author luerlong
29 * @date 2021-12-10
30 */
31 @Service
32 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
33 public class MemberVipHistoryServiceImpl implements MemberVipHistoryService {
34
35 @Autowired
36 private MemberVipHistoryRepository memberVipHistoryRepository;
37
38 @Autowired
39 private MemberVipHistoryMapper memberVipHistoryMapper;
40
41 @Override
42 public Map<String, Object> queryAll(MemberVipHistoryQueryCriteria criteria, Pageable pageable) {
43 Page<MemberVipHistory> page = memberVipHistoryRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
44 return PageUtil.toPage(page.map(memberVipHistoryMapper::toDto));
45 }
46
47 @Override
48 public List<MemberVipHistoryDTO> queryAll(MemberVipHistoryQueryCriteria criteria) {
49 return memberVipHistoryMapper.toDto(memberVipHistoryRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
50 }
51
52 @Override
53 public MemberVipHistoryDTO findById(Long id) {
54 MemberVipHistory memberVipHistory = memberVipHistoryRepository.findById(id).orElseGet(MemberVipHistory::new);
55 ValidationUtil.isNull(memberVipHistory.getId(),"MemberVipHistory","id",id);
56 return memberVipHistoryMapper.toDto(memberVipHistory);
57 }
58
59 @Override
60 @Transactional(rollbackFor = Exception.class)
61 public void create(MemberVipHistory resources) {
62 memberVipHistoryRepository.save(resources);
63 }
64
65 @Override
66 @Transactional(rollbackFor = Exception.class)
67 public void update(MemberVipHistory resources) {
68 MemberVipHistory memberVipHistory = memberVipHistoryRepository.findById(resources.getId()).orElseGet(MemberVipHistory::new);
69 ValidationUtil.isNull( memberVipHistory.getId(),"MemberVipHistory","id",resources.getId());
70 memberVipHistory.copy(resources);
71 memberVipHistoryRepository.save(memberVipHistory);
72 }
73
74 @Override
75 @Transactional(rollbackFor = Exception.class)
76 public void delete(Long id) {
77 Assert.notNull(id, "The given id must not be null!");
78 MemberVipHistory memberVipHistory = memberVipHistoryRepository.findById(id).orElseThrow(
79 () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberVipHistory.class, id), 1));
80 memberVipHistoryRepository.delete(memberVipHistory);
81 }
82
83 @Override
84 public MemberVipHistory findByTime(Long memberId, LocalDateTime nowTime) {
85 MemberVipHistory memberVipHistory = this.memberVipHistoryRepository.findByTime(memberId, nowTime).orElseGet(MemberVipHistory::new);
86 return memberVipHistory;
87 }
88
89
90 }
1 package com.topdraw.business.module.member.viphistory.service.mapper;
2
3 import com.topdraw.base.BaseMapper;
4 import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory;
5 import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryDTO;
6 import org.mapstruct.Mapper;
7 import org.mapstruct.ReportingPolicy;
8
9 /**
10 * @author luerlong
11 * @date 2021-12-10
12 */
13 @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
14 public interface MemberVipHistoryMapper extends BaseMapper<MemberVipHistoryDTO, MemberVipHistory> {
15
16 }