Commit 7c0a2e66 7c0a2e66498ce13ba50288a5afcf420a5d25606a by xianghan

1.优化日志信息

2.清理无用的文件
1 parent 6856ef82
Showing 32 changed files with 132 additions and 1080 deletions
package com.topdraw.business.process.domian;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import java.sql.Timestamp;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempCoupon extends TempRights {
@Transient
protected String code;
@Transient
protected Integer useStatus;
@Transient
protected Timestamp useTime;
/**领取时间*/
@Transient
protected Timestamp receiveTime;
@Transient
protected String userNickname;
}
package com.topdraw.business.process.domian;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempExp extends TempRights {
// 获得成长值
@Transient
protected Long rewardExp;
}
package com.topdraw.business.process.domian;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempIptvUser {
// 账户
@Transient
private String platformAccount;
// 分数
@Transient
private Long points;
}
package com.topdraw.business.process.domian;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class TempPoints extends TempRights {
// 获得积分
@Transient
@NotNull(message = "【points】积分数值不得为空!!")
protected Long points;
// 积分类型 0:通用
@Transient
protected Integer pointsType;
@Transient
protected Long rewardPointsExpireTime;
}
package com.topdraw.business.process.domian;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempRights {
/** 主键 */
@Transient
protected Long id;
/** 编号 */
@Transient
protected String code;
/** 权益名称 */
@Transient
protected String name;
/** 会员ID */
@Transient
protected Long memberId;
/** 会员编号 */
@Transient
protected String memberCode;
/** 账号id */
@Transient
protected Long userId;
/** 发放策略 */
@Transient
protected Integer rightsSendStrategy;
/** 账号id */
@Transient
private Long accountId;
/** 过期时间 */
@Transient
protected LocalDateTime expireTime;
/** 设备类型 1:大屏;2:小屏(微信)3.小屏(xx) */
@Transient
@NotNull(message = "设备类型不得为空")
protected Integer deviceType;
/** 应用code(表示当前用户对应应用的标识) */
@Transient
protected String appCode;
/** 订单id */
@Transient
protected Long orderId;
/** 节目id(针对观影操作) */
@Transient
protected Long mediaId;
/** 活动id(针对参与活动) */
@Transient
protected Long activityId;
/** 商品id */
@Transient
protected Long itemId;
/** 积分变化描述,用于管理侧显示 */
@Transient
protected String description;
/** 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;98:系统操作;99:其他 */
@Transient
protected Integer evtType;
/** 数量 */
@Transient
protected Integer rightsAmount;
}
package com.topdraw.business.process.domian.weixin;
import com.alibaba.fastjson.annotation.JSONField;
import com.topdraw.annotation.Query;
import lombok.Data;
import java.sql.Timestamp;
@Data
public class UserCollectionMq {
// 应用ID
@JSONField(name = "app_id")
private Long appId;
@JSONField(name = "userId")
private Long userId;
// 收藏夹类型:1-收藏 2-播放记录 3-播放列表 4-评分 5-点赞/关注/订阅
private Integer type;
// 收藏夹名称
private String name;
// 数量
private Integer count;
private String images;
// 收藏夹ID
@JSONField(name = "user_collection_id")
@Query
private Long userCollectionId;
// 自定义收藏内容的类型CODE,默认:DEFAULT
@JSONField(name = "detail_folder_code")
@Query
private String detailFolderCode;
// 收藏内容的类型:MEDIA|EPISODE|CATEGORY|SUBJECT|ARTICLE|ARTIST|SCHOOL
@JSONField(name = "detail_type")
@Query
private String detailType;
// 收藏内容的ID
@JSONField(name = "detail_id")
@Query
private Long detailId;
// 收藏内容的CODE
@JSONField(name = "detail_code")
@Query
private String detailCode;
// 收藏内容的剧集ID
@JSONField(name = "detail_episode_id")
@Query
private Long detailEpisodeId;
// 收藏内容的剧集CODE
@JSONField(name = "detail_episode_code")
@Query
private String detailEpisodeCode;
// 收藏内容的名称
@JSONField(name = "detail_name")
@Query
private String detailName;
// 收藏内容的标记
@JSONField(name = "detail_mark")
@Query
private Integer detailMark;
// 收藏内容的图片
@JSONField(name = "detail_img")
private String detailImg;
// 收藏内容的剧集序号
@JSONField(name = "detail_index")
@Query
private Integer detailIndex;
// 收藏内容的剧集总数
@JSONField(name = "detail_total_index")
@Query
private Integer detailTotalIndex;
// 收藏内容的播放时间
@JSONField(name = "detail_play_time")
@Query
private Integer detailPlayTime;
// 收藏内容的总时间
@JSONField(name = "detail_total_time")
@Query
private Integer detailTotalTime;
// 收藏内容在同一folder中的顺序
@JSONField(name = "detail_sequence")
@Query
private Integer detailSequence;
// 收藏内容的评分
@JSONField(name = "detail_score")
@Query
private Float detailScore;
// 收藏内容(根据文件夹和类型的不同)的点赞/关注/订阅
@JSONField(name = "detail_like")
@Query
private Integer detailLike;
// 收藏内容的扩展数据
@JSONField(name = "detail_ext_data")
@Query
private String detailExtData;
// 创建时间
@JSONField(name = "create_time")
@Query
private Timestamp createTime;
// 更新时间
@JSONField(name = "update_time")
private Timestamp updateTime;
}
package com.topdraw.business.process.service;
import com.topdraw.business.process.domian.TempExp;
import java.util.List;
/**
* @description 权益操作接口
......
package com.topdraw.business.process.service.domian;
public enum RightType {
/**积分*/
POINTS,
/**成长值*/
EXP,
/**优惠券券*/
COUPON,
/**权益统称*/
RIGHTS
}
package com.topdraw.business.process.service.domian;
import com.topdraw.business.process.domian.TempRights;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import java.sql.Timestamp;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempCoupon extends TempRights {
@Transient
protected String code;
@Transient
protected Integer useStatus;
@Transient
protected Timestamp useTime;
/**领取时间*/
@Transient
protected Timestamp receiveTime;
@Transient
protected String userNickname;
}
package com.topdraw.business.process.service.domian;
import com.topdraw.business.process.domian.TempIptvUser;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempCustomPointBean extends TempIptvUser {
/** 设备类型 1:大屏;2:小屏(微信)3.小屏(xx) */
@Transient
@NotNull(message = "设备类型不得为空")
protected Integer deviceType;
/** 订单id */
@Transient
protected Long orderId;
/** 节目id(针对观影操作) */
@Transient
protected Long mediaId;
/** 活动id(针对参与活动) */
@Transient
protected Long activityId;
/** 商品id */
@Transient
protected Long itemId;
/** 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;98:系统操作;99:其他 */
@Transient
protected Integer evtType;
}
package com.topdraw.business.process.service.domian;
import com.topdraw.business.process.domian.TempRights;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempExp extends TempRights {
// 获得成长值
@Transient
protected Long rewardExp;
}
package com.topdraw.business.process.service.domian;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import java.sql.Timestamp;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempIptvUser {
private String unionid;
// 账户
@Transient
private String platformAccount;
// 分数
@Transient
private Long points;
// ID
private Long id;
// 人ID
private Long personId;
// 运营商平台
private String platform;
// 手机号
private String cellphone;
// 用户名
private String username;
// 密码 MD5
private String password;
// 昵称 Base64
private String nickname;
// 头像
private String image;
// 登录天数(总天数)
private Integer loginDays;
// 连续登录天数
private Integer continueDays;
// 活跃时间
private Timestamp activeTime;
// 分组 分组ID用逗号分隔
private String groups;
// 标签 标签用逗号分隔
private String tags;
// 登录类型 1-运营商隐式登录 2-手机验证登录 3-微信登录 4-QQ登录 5-微博登录 6-苹果登录
private Integer loginType;
// 状态 0-下线 1-上线
private Integer status;
// 描述
private String description;
// 创建者
private String createBy;
// 创建时间
private Timestamp createTime;
// 更新者
private String updateBy;
// 更新时间
private Timestamp updateTime;
// 会员id
private Long memberId;
private String memberCode;
}
package com.topdraw.business.process.service.domian;
import com.topdraw.business.process.domian.TempRights;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class TempPoints extends TempRights {
// 获得积分
@Transient
@NotNull(message = "【points】积分数值不得为空!!")
protected Long points;
// 积分类型 0:通用
@Transient
protected Integer pointsType;
@Transient
protected Long rewardPointsExpireTime;
}
package com.topdraw.business.process.service.domian;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* 权益-非持久化数据
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TempRights {
/** 主键 */
@Transient
protected Long id;
/** 编号 */
@Transient
protected String code;
/** 权益名称 */
@Transient
protected String name;
/** 会员ID */
@Transient
protected Long memberId;
/** 会员编号 */
@Transient
protected String memberCode;
/** 账号id */
@Transient
protected Long userId;
/** 发放策略 */
@Transient
protected Integer rightsSendStrategy;
/** 账号id */
@Transient
protected Long accountId;
/** 过期时间 */
@Transient
protected LocalDateTime expireTime;
/** 设备类型 1:大屏;2:小屏(微信)3.小屏(xx) */
@Transient
@NotNull(message = "设备类型不得为空")
protected Integer deviceType;
/** 应用code(表示当前用户对应应用的标识) */
@Transient
protected String appCode;
/** 订单id */
@Transient
protected Long orderId;
/** 节目id(针对观影操作) */
@Transient
protected Long mediaId;
/** 活动id(针对参与活动) */
@Transient
protected Long activityId;
/** 商品id */
@Transient
protected Long itemId;
/** 积分变化描述,用于管理侧显示 */
@Transient
protected String description;
/** 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;98:系统操作;99:其他 */
@Transient
protected Integer evtType;
/** 数量 */
@Transient
protected Integer rightsAmount;
}
package com.topdraw.business.process.service.domian;
public interface UnbindGroup {
}
package com.topdraw.business.process.service.domian.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CustomPointsResult {
private boolean result;
private Long point;
}
package com.topdraw.business.process.service.domian.result;
public interface TaskTemplateType {
int TYPE_1 = 1;
int TYPE_2 = 2;
int TYPE_3 = 3;
int TYPE_4 = 4;
}
package com.topdraw.business.process.service.domian.weixin;
import lombok.Data;
@Data
public class BindBean extends WeiXinUserBean {
private Long platformUserId;
private String platformAccount;
}
package com.topdraw.business.process.service.domian.weixin;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 微信账户信息
* @author XiangHan
* @date 2021-01-18
*/
@Data
public class BuyVipBean extends WeiXinUserBean {
private Integer vip;
@JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime vipExpireTime;
}
package com.topdraw.business.process.service.domian.weixin;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
@Data
public class SubscribeBean extends WeiXinUserBean {
private JSONObject userInfoJson;
private JSONObject iptvUserInfo;
private String msgType;
private String event;
/** */
private String openId;
/** */
private String appId;
/** */
private String eventKey;
private String unionid;
private String nickname;
private String headimgurl;
}
package com.topdraw.business.process.service.domian.weixin;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SubscribeBeanEvent {
@NotNull(message = "【content】 not be null !!!")
private String content;
}
package com.topdraw.business.process.service.domian.weixin;
import com.alibaba.fastjson.annotation.JSONField;
import com.topdraw.annotation.Query;
import lombok.Data;
import java.sql.Timestamp;
@Data
public class UserCollectionMq {
// 应用ID
@JSONField(name = "app_id")
private Long appId;
@JSONField(name = "userId")
private Long userId;
// 收藏夹类型:1-收藏 2-播放记录 3-播放列表 4-评分 5-点赞/关注/订阅
private Integer type;
// 收藏夹名称
private String name;
// 数量
private Integer count;
private String images;
// 收藏夹ID
@JSONField(name = "user_collection_id")
@Query
private Long userCollectionId;
// 自定义收藏内容的类型CODE,默认:DEFAULT
@JSONField(name = "detail_folder_code")
@Query
private String detailFolderCode;
// 收藏内容的类型:MEDIA|EPISODE|CATEGORY|SUBJECT|ARTICLE|ARTIST|SCHOOL
@JSONField(name = "detail_type")
@Query
private String detailType;
// 收藏内容的ID
@JSONField(name = "detail_id")
@Query
private Long detailId;
// 收藏内容的CODE
@JSONField(name = "detail_code")
@Query
private String detailCode;
// 收藏内容的剧集ID
@JSONField(name = "detail_episode_id")
@Query
private Long detailEpisodeId;
// 收藏内容的剧集CODE
@JSONField(name = "detail_episode_code")
@Query
private String detailEpisodeCode;
// 收藏内容的名称
@JSONField(name = "detail_name")
@Query
private String detailName;
// 收藏内容的标记
@JSONField(name = "detail_mark")
@Query
private Integer detailMark;
// 收藏内容的图片
@JSONField(name = "detail_img")
private String detailImg;
// 收藏内容的剧集序号
@JSONField(name = "detail_index")
@Query
private Integer detailIndex;
// 收藏内容的剧集总数
@JSONField(name = "detail_total_index")
@Query
private Integer detailTotalIndex;
// 收藏内容的播放时间
@JSONField(name = "detail_play_time")
@Query
private Integer detailPlayTime;
// 收藏内容的总时间
@JSONField(name = "detail_total_time")
@Query
private Integer detailTotalTime;
// 收藏内容在同一folder中的顺序
@JSONField(name = "detail_sequence")
@Query
private Integer detailSequence;
// 收藏内容的评分
@JSONField(name = "detail_score")
@Query
private Float detailScore;
// 收藏内容(根据文件夹和类型的不同)的点赞/关注/订阅
@JSONField(name = "detail_like")
@Query
private Integer detailLike;
// 收藏内容的扩展数据
@JSONField(name = "detail_ext_data")
@Query
private String detailExtData;
// 创建时间
@JSONField(name = "create_time")
@Query
private Timestamp createTime;
// 更新时间
@JSONField(name = "update_time")
private Timestamp updateTime;
}
package com.topdraw.business.process.service.domian.weixin;
import lombok.Data;
/**
* 微信账户信息
* @author XiangHan
* @date 2021-01-18
*/
@Data
public class WeiXinUserBean {
private Long id;
private String unionid;
/** */
private String openid;
/** */
private String appid;
/** 加密后的appId,参数 */
private String wxAppid;
/** 加密后的code,参数 */
private String wxCode;
/** */
private String userInfo;
/** 会员id */
private Long memberId;
/** 加密信息 */
private String encryptedData;
/** 解析用户电话号码时使用,参数 */
private String iv;
/** 资源id */
private String sourceId;
/** 资源类型 */
private String sourceType;
/** 资源描述,用来表示从哪个地方链接进来的 */
private String sourceDesc;
/** 资源实例 */
private String sourceEntity;
/** 推荐者id */
private Long sourceUser;
private String nikename;
private String headimgurl;
}
package com.topdraw.business.process.service.impl;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.task.domain.Task;
import java.util.List;
@FunctionalInterface
public interface CompareTaskCondition {
boolean compareCondition(MemberDTO memberDTO, List<Task> taskList);
}
......@@ -17,8 +17,6 @@ public class CouponOperationServiceImpl implements CouponOperationService {
@Autowired
private CouponHistoryService couponHistoryService;
@Autowired
private MemberOperationService memberOperationService;
@Autowired
private MemberService memberService;
public void asyncMemberCoupon(Member member) {
......
......@@ -3,43 +3,66 @@ package com.topdraw.business.process.service.impl;
import com.topdraw.business.module.exp.detail.domain.ExpDetail;
import com.topdraw.business.module.exp.detail.service.ExpDetailService;
import com.topdraw.business.module.member.domain.Member;
import com.topdraw.business.module.member.level.service.MemberLevelService;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.process.service.ExpOperationService;
import com.topdraw.business.process.service.member.MemberOperationService;
import com.topdraw.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import java.util.Objects;
/**
*
*/
@Service
@Slf4j
public class ExpOperationServiceImpl implements ExpOperationService {
@Autowired
private ExpDetailService expDetailService;
@Autowired
private MemberService memberService;
@Autowired
private ExpDetailService expDetailService;
public void asyncMemberExpAndLevel(Member resource) {
log.info("同步会员成长值和等级,参数 asyncMemberExpAndLevel# resource ==>> {}", resource);
String code = resource.getCode();
if (StringUtils.isBlank(code)) {
log.error("同步会员成长值和等级异常,asyncMemberExpAndLevel# message ==>> 会员code不得为空");
return;
}
public void asyncMemberExpAndLevel(Member member) {
String code = member.getCode();
MemberDTO memberDTO = this.memberService.findByCode(code);
member.setId(memberDTO.getId());
log.info("同步会员成长值和等级,asyncMemberExpAndLevel# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", code, memberDTO);
resource.setId(memberDTO.getId());
this.memberService.doUpdateMemberExpAndLevel(member);
log.info("同步会员成长值和等级,asyncMemberExpAndLevel# 入库参数,resource ==>> {}", resource);
this.memberService.doUpdateMemberExpAndLevel(resource);
}
public void asyncExpDetail(ExpDetail expDetail) {
String code = expDetail.getMemberCode();
public void asyncExpDetail(ExpDetail resource) {
log.info("同步会员成长值详情,参数 asyncExpDetail# resource ==>> {}", resource);
String code = resource.getMemberCode();
if (StringUtils.isBlank(code)) {
log.error("同步会员成长值和等级异常,asyncExpDetail# message ==>> 会员code不得为空");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(code);
if (Objects.nonNull(memberDTO.getId())) {
expDetail.setMemberId(memberDTO.getId());
this.expDetailService.create(expDetail);
log.info("同步会员成长值详情,asyncExpDetail# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", code, memberDTO);
if (Objects.isNull(memberDTO.getId())) {
log.error("同步会员成长值详情,asyncExpDetail# message ==>> 会员");
return;
}
resource.setMemberId(memberDTO.getId());
log.info("同步会员成长值详情,asyncExpDetail# 入库参数,resource ==>> {}", resource);
this.expDetailService.create(resource);
}
}
......
......@@ -13,7 +13,6 @@ import com.topdraw.business.process.service.PointsOperationService;
import com.topdraw.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
......@@ -29,49 +28,92 @@ import java.util.*;
public class PointsOperationServiceImpl implements PointsOperationService {
@Autowired
private MemberService memberService;
@Autowired
private PointsDetailService pointsDetailService;
@Autowired
private PointsAvailableService pointsAvailableService;
@Autowired
private MemberService memberService;
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
public void asyncMemberPoint(Member member) {
log.info("修改会员积分,参数 =>> {}", member);
String code = member.getCode();
public void asyncMemberPoint(Member resource) {
log.info("同步会员积分,参数 asyncMemberPoint# resource ==>> {}", resource);
String code = resource.getCode();
if (StringUtils.isBlank(code)) {
log.error("修改会员积分失败,参数错误,会员code为空");
log.error("同步会员积分异常,asyncMemberPoint# message ==>> 会员code不得为空");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(code);
if (Objects.nonNull(memberDTO.getId())) {
member.setId(memberDTO.getId());
this.memberService.doUpdateMemberPoints(member);
log.info("同步会员积分,asyncMemberPoint# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", code, memberDTO);
if (Objects.isNull(memberDTO.getId())) {
log.error("同步会员积分异常,asyncMemberPoint# message ==>> 会员信息不存在");
return;
}
resource.setId(memberDTO.getId());
log.info("同步会员积分,asyncMemberPoint# 入库参数, resource ==>> {}", resource);
this.memberService.doUpdateMemberPoints(resource);
}
public void asyncPointsAvailable(PointsAvailable pointsAvailable) {
String memberCode = pointsAvailable.getMemberCode();
public void asyncPointsAvailable(PointsAvailable resource) {
log.info("同步会员可用积分,参数 asyncPointsAvailable# resource ==>> {}", resource);
String memberCode = resource.getMemberCode();
if (StringUtils.isBlank(memberCode)) {
log.error("同步会员可用积分异常,asyncPointsAvailable# message ==>> 会员code不得为空");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
if (Objects.nonNull(memberDTO.getId())) {
pointsAvailable.setMemberId(memberDTO.getId());
this.pointsAvailableService.create4Custom(pointsAvailable);
log.info("同步会员可用积分,asyncPointsAvailable# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", memberCode, memberDTO);
if (Objects.isNull(memberDTO.getId())) {
log.error("同步会员可用积分异常,asyncPointsAvailable# message ==>> 会员信息不存在 || code ==>> {}", memberCode);
return;
}
resource.setMemberId(memberDTO.getId());
log.info("同步会员可用积分,asyncPointsAvailable# 入库参数, resource ==>> {}", resource);
this.pointsAvailableService.create4Custom(resource);
}
public void asyncPointsDetail(PointsDetail pointsDetail) {
String memberCode = pointsDetail.getMemberCode();
public void asyncPointsDetail(PointsDetail resource) {
log.info("同步会员积分流水,参数 asyncPointsDetail# resource ==>> {}", resource);
String memberCode = resource.getMemberCode();
if (StringUtils.isBlank(memberCode)) {
log.error("同步会员积分流水异常,asyncPointsDetail# message ==>> 会员code不得为空");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
log.info("同步会员积分流水,asyncPointsDetail# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", memberCode, memberDTO);
if (Objects.nonNull(memberDTO.getId())) {
pointsDetail.setMemberId(memberDTO.getId());
this.pointsDetailService.create4Custom(pointsDetail);
log.error("同步会员积分流水异常,asyncPointsDetail# message ==>> 会员信息不存在 || code ==>> {}", memberCode);
return;
}
resource.setMemberId(memberDTO.getId());
log.info("同步会员积分流水,asyncPointsDetail# 入库参数, resource ==>> {}", resource);
this.pointsDetailService.create4Custom(resource);
}
public void asyncDeletePointsAvailable(PointsAvailable pointsAvailable) {
String code = pointsAvailable.getCode();
public void asyncDeletePointsAvailable(PointsAvailable resource) {
log.info("同步删除会员可用积分,参数 asyncDeletePointsAvailable# resource ==>> {}", resource);
String code = resource.getCode();
if (StringUtils.isBlank(code)) {
log.error("同步删除会员可用积分异常,asyncDeletePointsAvailable# message ==>> 可用积分code不得为空");
return;
}
PointsAvailableDTO pointsAvailableDTO = this.pointsAvailableService.getByCode(code);
log.info("同步会员积分流水,asyncPointsDetail# 通过code ==>> {},查询会员可用积分,结果集,pointsAvailableDTO ==>> {}", code, pointsAvailableDTO);
log.info("同步会员积分流水,asyncPointsDetail# 删除可用积分,入库参数,pointsAvailableDTO ==>> {}", pointsAvailableDTO);
this.pointsAvailableService.delete(pointsAvailableDTO.getId());
}
}
......
package com.topdraw.business.process.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.topdraw.business.module.task.attribute.domain.TaskAttr;
import com.topdraw.business.module.task.attribute.service.TaskAttrService;
import com.topdraw.business.module.task.attribute.service.dto.TaskAttrDTO;
......
......@@ -5,7 +5,6 @@ import com.topdraw.business.module.task.template.service.TaskTemplateService;
import com.topdraw.business.module.task.template.service.dto.TaskTemplateDTO;
import com.topdraw.business.process.service.TaskTemplateOperationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -29,27 +28,14 @@ public class TaskTemplateOperationServiceImpl implements TaskTemplateOperationSe
private TaskTemplateService taskTemplateService;
public void asyncCreate(TaskTemplate resources) {
this.create(resources);
}
public void asyncUpdate(TaskTemplate resources) {
this.update(resources);
}
public void asyncDelete(TaskTemplate resources) {
this.delete(resources);
}
private void create(TaskTemplate resources) {
String code = resources.getCode();
TaskTemplateDTO taskTemplateDTO = this.findByCode(code);
if (Objects.isNull(taskTemplateDTO.getId())) {
this.taskTemplateService.create(resources);
}
}
private void update(TaskTemplate resources) {
public void asyncUpdate(TaskTemplate resources) {
String code = resources.getCode();
TaskTemplateDTO taskTemplateDTO = this.findByCode(code);
if (Objects.nonNull(taskTemplateDTO.getId())) {
......@@ -59,7 +45,7 @@ public class TaskTemplateOperationServiceImpl implements TaskTemplateOperationSe
}
}
private void delete(TaskTemplate resources) {
public void asyncDelete(TaskTemplate resources) {
String code = resources.getCode();
TaskTemplateDTO taskTemplateDTO = this.findByCode(code);
if (Objects.nonNull(taskTemplateDTO.getId())) {
......@@ -68,21 +54,11 @@ public class TaskTemplateOperationServiceImpl implements TaskTemplateOperationSe
}
}
private void delete(Long id) {
TaskTemplateDTO taskTemplateDTO = this.findById(id);
this.taskTemplateService.delete(id);
TaskTemplate taskTemplate = new TaskTemplate();
BeanUtils.copyProperties(taskTemplateDTO, taskTemplate);
taskTemplate.setDeleteMark(1);
}
@Override
public TaskTemplateDTO findByCode(String code) {
return this.taskTemplateService.findByCode(code);
}
private TaskTemplateDTO findById(Long id) {
return this.taskTemplateService.findById(id);
}
......
......@@ -39,21 +39,25 @@ public class MemberProfileOperationServiceImpl implements MemberProfileOperation
* @param resource
*/
public void asyncCreateMemberProfileAndSyncMember(MemberProfileDTO resource) {
log.info("创建会员属性,参数 ==>> {}", resource);
log.info("保存会员以及会员属性,参数 asyncCreateMemberProfileAndSyncMember# resource ==>> {}", resource);
String memberCode = resource.getMemberCode();
if (StringUtils.isBlank(memberCode)) {
log.error("创建会员属性失败,会员code不存在");
log.error("保存会员以及会员属性异常,asyncCreateMemberProfileAndSyncMember# message ==>> 会员code不存在");
return;
}
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
log.info("保存会员以及会员属性,asyncCreateMemberProfileAndSyncMember# 通过code ==>> {},查询会员信息,结果集,memberDTO ==>> {}", memberCode, memberDTO);
if (Objects.isNull(memberDTO.getId())) {
log.error("创建会员属性失败,会员信息不存在 ==>> memberCode ==>> {}", memberCode);
log.error("保存会员以及会员属性失败,asyncCreateMemberProfileAndSyncMember# message ==>> 会员信息不存在 || memberCode ==>> {}", memberCode);
return;
}
Long memberId = memberDTO.getId();
MemberProfileDTO _memberProfileDTO = this.memberProfileService.findByMemberId(memberId);
log.info("保存会员以及会员属性,asyncCreateMemberProfileAndSyncMember# 通过会员id ==>> {},查询会员属性信息,结果集,_memberProfileDTO ==>> {}", memberId, _memberProfileDTO);
if (Objects.isNull(_memberProfileDTO.getId())) {
......@@ -61,6 +65,8 @@ public class MemberProfileOperationServiceImpl implements MemberProfileOperation
BeanUtils.copyProperties(resource, memberProfile);
memberProfile.setId(null);
memberProfile.setMemberId(memberId);
log.info("保存会员以及会员属性,asyncCreateMemberProfileAndSyncMember# 保存会员属性,入库参数,memberProfile ==>> {}", memberProfile);
this.memberProfileService.createDefault(memberProfile);
Member member = new Member();
......@@ -69,56 +75,60 @@ public class MemberProfileOperationServiceImpl implements MemberProfileOperation
member.setAvatarUrl(memberProfile.getAvatarUrl());
member.setNickname(memberProfile.getRealname());
member.setGender(memberProfile.getGender());
log.info("保存会员以及会员属性,asyncCreateMemberProfileAndSyncMember# 更新会员头像、昵称、性别,入库参数,member ==>> {}", member);
this.memberService.doUpdateMemberAvatarUrlAndNicknameAndGender(member);
}
}
/**
*
* @param resources
*/
public void asyncUpdateMemberProfileAndSyncMember(MemberProfileAndMemberDTO resources) {
log.info("修改会员属性,参数 ==>> {}", resources);
log.info("修改会员属性,参数 asyncUpdateMemberProfileAndSyncMember# resource ==>> {}", resources);
MemberProfileDTO memberProfileDTO = resources.getMemberProfileDTO();
if (Objects.isNull(memberProfileDTO)) {
log.error("修改会员属性异常, 会员属性参数为空");
log.error("修改会员属性异常,asyncUpdateMemberProfileAndSyncMember# message ==>> 会员属性不得为空");
return;
}
MemberDTO memberDTO = resources.getMemberDTO();
if (Objects.isNull(memberDTO)) {
log.error("修改会员属性异常, 会员信息为空");
log.error("修改会员属性异常,asyncUpdateMemberProfileAndSyncMember# message ==>> 会员信息不得为空");
return;
}
MemberProfileDTO _memberProfileDTO = this.asyncMemberProfile(memberProfileDTO);
log.info("修改会员属性,asyncUpdateMemberProfileAndSyncMember# 结果集,_memberProfileDTO ==>> {}", _memberProfileDTO);
String code = memberDTO.getCode();
if (!StringUtils.isEmpty(code)) {
MemberDTO memberDTO1 = this.memberService.findByCode(code);
log.info("修改会员属性,asyncUpdateMemberProfileAndSyncMember# 通过code ==>> {},查询会员信息,结果集,memberDTO1 ==>> {}", code, memberDTO);
Member member = new Member();
member.setId(memberDTO1.getId());
member.setNickname(_memberProfileDTO.getRealname());
member.setBirthday(_memberProfileDTO.getBirthday());
member.setGender(_memberProfileDTO.getGender());
log.info("修改会员属性,asyncUpdateMemberProfileAndSyncMember# 入库参数,member ==>> {}", member);
this.memberService.doUpdateMemberAvatarUrlAndNicknameAndGender(member);
}
}
public MemberProfileDTO asyncMemberProfile(MemberProfileDTO memberProfileDTO){
String memberCode = memberProfileDTO.getMemberCode();
public MemberProfileDTO asyncMemberProfile(MemberProfileDTO resource){
log.info("修改会员属性,参数 asyncMemberProfile# resource ==>> {}", resource);
String memberCode = resource.getMemberCode();
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
Long memberId = memberDTO.getId();
MemberProfileDTO _memberProfileDTO = this.memberProfileService.findByMemberId(memberId);
memberProfileDTO.setId(_memberProfileDTO.getId());
memberProfileDTO.setMemberId(memberId);
resource.setId(_memberProfileDTO.getId());
resource.setMemberId(memberId);
MemberProfile memberProfile = new MemberProfile();
BeanUtils.copyProperties(memberProfileDTO, memberProfile);
BeanUtils.copyProperties(resource, memberProfile);
return this.memberProfileService.update(memberProfile);
}
......
package com.topdraw.business.process.service.mapper;
import com.topdraw.base.BaseMapper;
import com.topdraw.business.module.user.weixin.collection.domain.UserCollectionDetail;
import com.topdraw.business.process.domian.weixin.UserCollectionMq;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.ReportingPolicy;
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface CollectionMq2DetailMapper extends BaseMapper<UserCollectionMq, UserCollectionDetail> {
@Override
@Mappings({
@Mapping(target = "detailImg", source = "images")
})
UserCollectionDetail toEntity(UserCollectionMq dto);
}