记得上下班打卡 | git大法好,push需谨慎

Commit 55cc0b18 authored by 张国柄's avatar 张国柄

fix:会员字段排查;

parent 22c8a742
...@@ -10,13 +10,13 @@ import java.io.Serializable; ...@@ -10,13 +10,13 @@ import java.io.Serializable;
@Data @Data
public class AdamMemberCodeParam implements Serializable { public class AdamMemberCodeParam implements Serializable {
private static final long serialVersionUID = -7273522103593077617L; private static final long serialVersionUID = -7273522103593077617L;
@ApiModelProperty(position = 1, required = true, value = "会员类型ID", example = "67647671736885249") @ApiModelProperty(position = 1, required = true, value = "会员类型ID", example = "1")
private String memberId; private String memberId;
@ApiModelProperty(position = 2, required = true, value = "会员价格ID", example = "69153548142796800") @ApiModelProperty(position = 2, required = true, value = "会员价格ID", example = "101")
private String memberPriceId; private String memberPriceId;
@ApiModelProperty(position = 3, required = true, value = "类型:0-用户购买兑换码,1-后台生成兑换码", example = "1") @ApiModelProperty(position = 3, required = true, value = "类型:0-用户购买兑换码,1-后台生成兑换码", example = "1")
private Integer type; private Integer type;
@ApiModelProperty(position = 4, required = false, value = "用户ID", example = "1") @ApiModelProperty(position = 4, required = false, value = "用户ID")
private String buyUid; private String buyUid;
} }
...@@ -37,10 +37,8 @@ public class AdamMemberParam implements Serializable { ...@@ -37,10 +37,8 @@ public class AdamMemberParam implements Serializable {
private Integer needQuestion; private Integer needQuestion;
@ApiModelProperty(position = 12, required = true, value = "是否展示协议[0-否,1-是]", allowableValues = "0,1") @ApiModelProperty(position = 12, required = true, value = "是否展示协议[0-否,1-是]", allowableValues = "0,1")
private Integer displayAgreement; private Integer displayAgreement;
@ApiModelProperty(position = 13, required = true, value = "状态[1-NORMAL,2-INVALID]") @ApiModelProperty(position = 13, required = true, value = "状态[1-NORMAL,2-INVALID]", example = "1")
private Integer state; private Integer state;
@ApiModelProperty(position = 14, required = true, value = "限购数量,0不限购[200]", example = "0") @ApiModelProperty(position = 14, required = true, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation; private Integer limitation;
@ApiModelProperty(position = 15, required = true, value = "会员卡价格ID", example = "[63666042953703424]")
private List<String> memberPriceList;
} }
...@@ -26,8 +26,12 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable { ...@@ -26,8 +26,12 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
private String subTitle; private String subTitle;
@ApiModelProperty(position = 4, value = "icon图标[200]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png") @ApiModelProperty(position = 4, value = "icon图标[200]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png")
private String icon; private String icon;
@ApiModelProperty(position = 5, value = "会员头像[200]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.pngv") @ApiModelProperty(position = 5, value = "会员头像[200]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png")
private String avatar; private String avatar;
@ApiModelProperty(position = 6, value = "起始编号", example = "10000")
private Integer startNo;
@ApiModelProperty(position = 7, value = "会员类型:1-VIP会员", example = "1")
private Integer type;
@ApiModelProperty(position = 6, value = "权益详情[200]", example = "加入摩登天空会员您可享受到.....") @ApiModelProperty(position = 6, value = "权益详情[200]", example = "加入摩登天空会员您可享受到.....")
private String interestsDetail; private String interestsDetail;
@ApiModelProperty(position = 7, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....") @ApiModelProperty(position = 7, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....")
...@@ -72,6 +76,8 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable { ...@@ -72,6 +76,8 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
this.setSubTitle(source.getSubTitle()); this.setSubTitle(source.getSubTitle());
this.setIcon(source.getIcon()); this.setIcon(source.getIcon());
this.setAvatar(source.getAvatar()); this.setAvatar(source.getAvatar());
this.setStartNo(source.getStartNo());
this.setType(source.getType());
this.setInterestsDetail(source.getInterestsDetail()); this.setInterestsDetail(source.getInterestsDetail());
this.setNotes(source.getNotes()); this.setNotes(source.getNotes());
this.setIsNotice(source.getIsNotice()); this.setIsNotice(source.getIsNotice());
...@@ -83,49 +89,4 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable { ...@@ -83,49 +89,4 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
this.setLimitation(source.getLimitation()); this.setLimitation(source.getLimitation());
return this; return this;
} }
// /**
// * 设置会员价格
// * @param adamMemberPrices
// * @return
// */
// @JsonIgnore
// public static List<AdamMemberPriceVo> setMemberPrice(List<AdamMemberPrice> adamMemberPrices){
// List<AdamMemberPriceVo> adamMemberPricesVo = new ArrayList<>();
// for (int i =0;i<adamMemberPrices.size();i++){
// AdamMemberPrice adamMemberPrice = adamMemberPrices.get(i);
// AdamMemberPriceVo adamMemberPriceVo = new AdamMemberPriceVo();
// BeanUtils.copyProperties(adamMemberPrice, adamMemberPriceVo);
// adamMemberPriceVo.setCreatedAt(DateUtil.format(adamMemberPrice.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
// adamMemberPriceVo.setUpdatedAt(DateUtil.format(adamMemberPrice.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
// }
// return adamMemberPricesVo;
// }
// /**
// * 组装MQ需要的对象
// * @param adamMember
// * @return
// */
// @JsonIgnore
// public List<Object> getMqList(AdamMember adamMember){
// List<Object> paramList = new ArrayList<>();
// paramList.add(adamMember.getName());
// paramList.add(adamMember.getTitle());
// paramList.add(adamMember.getSubTitle());
// paramList.add(adamMember.getIcon());
// paramList.add(adamMember.getAvatar());
// paramList.add(adamMember.getStartNo());
// paramList.add(adamMember.getType());
// paramList.add(adamMember.getInterestsDetail());
// paramList.add(adamMember.getNotes());
// paramList.add(adamMember.getIsNotice());
// paramList.add(adamMember.getNoticeInfo());
// paramList.add(adamMember.getNoticeTitle());
// paramList.add(adamMember.getNeedQuestion());
// paramList.add(adamMember.getDisplayAgreement());
// paramList.add(adamMember.getMemberId());
// paramList.add(adamMember.getLimitation());
// return paramList;
// }
} }
package com.liquidnet.service.adam.dto.vo; package com.liquidnet.service.adam.dto.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -44,6 +45,7 @@ public class AdamUserMemberVo implements Serializable, Cloneable { ...@@ -44,6 +45,7 @@ public class AdamUserMemberVo implements Serializable, Cloneable {
* *
* @return true-有效 * @return true-有效
*/ */
@JsonIgnore
public boolean isActive() { public boolean isActive() {
LocalDateTime expiryAt = DateUtil.Formatter.yyyyMMddHHmmss.parse(this.getExpiryAt()); LocalDateTime expiryAt = DateUtil.Formatter.yyyyMMddHHmmss.parse(this.getExpiryAt());
......
...@@ -2,13 +2,12 @@ package com.liquidnet.service.adam.service.admin; ...@@ -2,13 +2,12 @@ package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberParam; import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
/** /**
* 会员信息 * 会员信息
*/ */
public interface IAdamMemberAdminService extends IService<AdamMember> { public interface IAdamMemberAdminService extends IService<AdamMember> {
void add(AdamMemberParam info); AdamMemberVo add(AdamMemberParam info);
void edit(AdamMember info);
} }
...@@ -2,10 +2,11 @@ package com.liquidnet.service.adam.service.admin; ...@@ -2,10 +2,11 @@ package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam; import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice; import com.liquidnet.service.adam.entity.AdamMemberPrice;
public interface IAdamMemberPriceAdminService extends IService<AdamMemberPrice> { public interface IAdamMemberPriceAdminService extends IService<AdamMemberPrice> {
void add(AdamMemberPrice info); AdamMemberPriceVo add(AdamMemberPrice info);
void edit(AdamMemberPriceParam param); AdamMemberPriceVo edit(AdamMemberPriceParam param);
} }
...@@ -46,8 +46,8 @@ public class AdamMemberController { ...@@ -46,8 +46,8 @@ public class AdamMemberController {
@GetMapping("info") @GetMapping("info")
public ResponseDto<AdamMemberVo> query() { public ResponseDto<AdamMemberVo> query() {
AdamMemberSimpleVo memberSimpleVo = adamRdmService.getMemberSimpleVo(); AdamMemberSimpleVo memberSimpleVo = adamRdmService.getMemberSimpleVo();
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(memberSimpleVo.getMemberId()); AdamMemberVo memberVo = null;
if (null != memberVo) { if (null != memberSimpleVo && null != (memberVo = adamRdmService.getMemberVoByMemberId(memberSimpleVo.getMemberId()))) {
memberVo.setPriceVoList(adamRdmService.getMemberPriceVoByMemberId(memberVo.getMemberId())); memberVo.setPriceVoList(adamRdmService.getMemberPriceVoByMemberId(memberVo.getMemberId()));
memberVo.setRightsVoList(adamRdmService.getMemberRightsVoByMemberId(memberVo.getMemberId())); memberVo.setRightsVoList(adamRdmService.getMemberRightsVoByMemberId(memberVo.getMemberId()));
......
...@@ -161,7 +161,6 @@ public class AdamMemberOrderController { ...@@ -161,7 +161,6 @@ public class AdamMemberOrderController {
@GetMapping("list") @GetMapping("list")
public ResponseDto<PageInfo<AdamMemberOrderSimpleVo>> list(@RequestParam(defaultValue = "1", required = false) int pageNo, public ResponseDto<PageInfo<AdamMemberOrderSimpleVo>> list(@RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "5", required = false) int pageSize) { @RequestParam(defaultValue = "5", required = false) int pageSize) {
// List<AdamMemberOrderVo> memberOrderList = adamMemberOrderService.getMemberOrderList(currentUid);
return ResponseDto.success(adamMemberOrderService.queryPage(CurrentUtil.getCurrentUid(), pageNo, pageSize)); return ResponseDto.success(adamMemberOrderService.queryPage(CurrentUtil.getCurrentUid(), pageNo, pageSize));
} }
...@@ -180,17 +179,20 @@ public class AdamMemberOrderController { ...@@ -180,17 +179,20 @@ public class AdamMemberOrderController {
if (null == memberOrderInfo) { if (null == memberOrderInfo) {
return ResponseDto.failure(ErrorMapping.get("10211")); return ResponseDto.failure(ErrorMapping.get("10211"));
} }
try { if (memberOrderInfo.getMode() <= 1) {
String rst = HttpUtil.get(env.getProperty("liquidnet.url-pay.check") + "?code=" + memberOrderInfo.getPayNo(), null); try {
String rst = HttpUtil.get(env.getProperty("liquidnet.url-pay.check") + "?code=" + memberOrderInfo.getPayNo(), null);
JsonNode rstJNode = JsonUtils.fromJson(rst, JsonNode.class); JsonNode rstJNode = JsonUtils.fromJson(rst, JsonNode.class);
int status = Integer.parseInt(rstJNode.get("status").asText("0")); int status = Integer.parseInt(rstJNode.get("status").asText("0"));
return ResponseDto.success(status == 1 ? status : 0); return ResponseDto.success(status == 1 ? status : 0);
} catch (Exception e) { } catch (Exception e) {
log.error("支付中心:会员订单状态查询失败:{}", orderNo, e); log.error("支付中心:会员订单状态查询失败:{}", orderNo, e);
return ResponseDto.failure(ErrorMapping.get("10212")); return ResponseDto.failure(ErrorMapping.get("10212"));
}
} }
return ResponseDto.success(memberOrderInfo.getState());
} }
} }
...@@ -2,19 +2,19 @@ package com.liquidnet.service.adam.controller.admin; ...@@ -2,19 +2,19 @@ package com.liquidnet.service.adam.controller.admin;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.dto.AdamMemberCodeParam; import com.liquidnet.service.adam.dto.AdamMemberCodeParam;
import com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.AdamMemberParam; import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService; import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ApiSupport(order = 90060) @ApiSupport(order = 90060)
@Api(tags = "后台管理:会员信息") @Api(tags = "后台管理:会员信息")
...@@ -28,18 +28,10 @@ public class AdamMemberAdminController { ...@@ -28,18 +28,10 @@ public class AdamMemberAdminController {
IAdamMemberCodeAdminService adamMemberCodeAdminService; IAdamMemberCodeAdminService adamMemberCodeAdminService;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "添加会员类型") @ApiOperation(value = "添加会员")
@PostMapping("add") @PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamMemberParam parameter) { public ResponseDto<Object> add(@RequestBody AdamMemberParam parameter) {
AdamMember adamMember = new AdamMember(); return ResponseDto.success(adamMemberService.add(parameter));
BeanUtils.copyProperties(parameter, adamMember);
adamMember.setLimitation(1000);
adamMember.setType(1);
adamMember.setStartNo(1000);
adamMember.setMemberId(String.valueOf(IDGenerator.nextSnowId()));
adamMemberService.add(parameter);
return ResponseDto.success();
} }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam; import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice; import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
...@@ -65,18 +66,16 @@ public class AdamMemberPriceAdminController { ...@@ -65,18 +66,16 @@ public class AdamMemberPriceAdminController {
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
@ApiOperation(value = "添加会员价格") @ApiOperation(value = "添加会员价格")
@PostMapping("add") @PostMapping("add")
public ResponseDto<Object> add(@Valid @RequestBody AdamMemberPriceParam param) { public ResponseDto<AdamMemberPriceVo> add(@Valid @RequestBody AdamMemberPriceParam param) {
AdamMemberPrice entity = new AdamMemberPrice(); AdamMemberPrice entity = new AdamMemberPrice();
BeanUtils.copyProperties(param, entity); BeanUtils.copyProperties(param, entity);
adamMemberPriceService.add(entity); return ResponseDto.success(adamMemberPriceService.add(entity));
return ResponseDto.success();
} }
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
@ApiOperation(value = "编辑会员价格") @ApiOperation(value = "编辑会员价格")
@PostMapping("edit") @PostMapping("edit")
public ResponseDto<Object> edit(@Valid @RequestBody AdamMemberPriceParam param) { public ResponseDto<AdamMemberPriceVo> edit(@Valid @RequestBody AdamMemberPriceParam param) {
adamMemberPriceService.edit(param); return ResponseDto.success(adamMemberPriceService.edit(param));
return ResponseDto.success();
} }
} }
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo; import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamUserMember; import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper;
import com.liquidnet.service.adam.mapper.AdamUserMemberMapper; import com.liquidnet.service.adam.mapper.AdamUserMemberMapper;
import com.liquidnet.service.adam.service.IAdamRdmService; import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService; import com.liquidnet.service.adam.service.IAdamUserMemberService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -40,10 +35,13 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper, ...@@ -40,10 +35,13 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper,
AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName()); AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
long currentMaxMemberNo = Long.parseLong(latestMaxMemberNoVo.getMemberNo()); if (null == latestMaxMemberNoVo) {
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(memberId);
adamRdmService.setMemberNoByMemberId(memberId, currentMaxMemberNo + 1);
adamRdmService.setMemberNoByMemberId(memberId, memberVo.getStartNo());
} else {
adamRdmService.setMemberNoByMemberId(memberId, Long.parseLong(latestMaxMemberNoVo.getMemberNo()));
}
return String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId)); return String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId));
} else { } else {
String nextMemberNoStr = String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId)); String nextMemberNoStr = String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId));
......
...@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.service.impl.admin; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.service.impl.admin;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
...@@ -11,6 +12,8 @@ import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo; ...@@ -11,6 +12,8 @@ import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice; import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper; import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -20,8 +23,10 @@ import org.springframework.data.mongodb.core.query.Query; ...@@ -20,8 +23,10 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Slf4j @Slf4j
@Service @Service
...@@ -35,17 +40,24 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice ...@@ -35,17 +40,24 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamMemberPrice info) { public AdamMemberPriceVo add(AdamMemberPrice info) {
info.setMemberPriceId(IDGenerator.nextSnowId().toString()); List<AdamMemberPrice> existList = adamMemberPriceMapper.selectList(
Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberId, info.getMemberId()));
info.setMemberPriceId(CollectionUtils.isEmpty(existList) ? "101" : IDGenerator.nextSnowId().toString());
info.setCreatedAt(LocalDateTime.now()); info.setCreatedAt(LocalDateTime.now());
adamMemberPriceMapper.insert(info); adamMemberPriceMapper.insert(info);
mongoTemplate.insert(AdamMemberPriceVo.getNew().copy(info), AdamMemberPriceVo.class.getSimpleName());
AdamMemberPriceVo vo = AdamMemberPriceVo.getNew().copy(info);
mongoTemplate.insert(vo, AdamMemberPriceVo.class.getSimpleName());
return vo;
} }
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamMemberPriceParam param) { public AdamMemberPriceVo edit(AdamMemberPriceParam param) {
AdamMemberPrice updateInfo = new AdamMemberPrice(); AdamMemberPrice updateInfo = new AdamMemberPrice();
updateInfo.setState(param.getState()); updateInfo.setState(param.getState());
updateInfo.setName(param.getName()); updateInfo.setName(param.getName());
...@@ -59,10 +71,14 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice ...@@ -59,10 +71,14 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
adamMemberPriceMapper.update( adamMemberPriceMapper.update(
updateInfo, Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberPriceId, memberPriceId)); updateInfo, Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberPriceId, memberPriceId));
mongoTemplate.getCollection(AdamMemberPriceVo.class.getSimpleName()).updateOne(
Document doc = mongoTemplate.getCollection(AdamMemberPriceVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("memberPriceId").is(memberPriceId)).getQueryObject(), Query.query(Criteria.where("memberPriceId").is(memberPriceId)).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateInfo))) new Document("$set", Document.parse(JsonUtils.toJson(updateInfo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
redisUtil.del(AdamRedisConst.INFO_MEMBER_PRICE.concat(memberPriceId)); redisUtil.del(AdamRedisConst.INFO_MEMBER_PRICE.concat(memberPriceId));
return BsonUtil.toBean(doc, AdamMemberPriceVo.class);
} }
} }
package com.liquidnet.service.adam.service.impl.admin; package com.liquidnet.service.adam.service.impl.admin;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamMemberParam; import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.mapper.AdamMemberMapper; import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService; import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Slf4j @Slf4j
@Service @Service
...@@ -32,30 +30,24 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad ...@@ -32,30 +30,24 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
RedisUtil redisUtil; RedisUtil redisUtil;
@Override @Override
public void add(AdamMemberParam info) { public AdamMemberVo add(AdamMemberParam param) {
AdamMember adamMember = new AdamMember(); AdamMember adamMember = new AdamMember();
BeanUtils.copyProperties(info, adamMember); BeanUtils.copyProperties(param, adamMember);
adamMember.setMemberId(IDGenerator.nextSnowId().toString()); List<AdamMember> existList = adamMemberMapper.selectList(Wrappers.lambdaQuery());
adamMember.setMemberId(CollectionUtils.isEmpty(existList) ? "1" : IDGenerator.nextSnowId().toString());
adamMember.setType(1);
adamMember.setStartNo(10000); adamMember.setStartNo(10000);
adamMember.setCreatedAt(LocalDateTime.now()); adamMember.setCreatedAt(LocalDateTime.now());
adamMember.setUpdatedAt(LocalDateTime.now()); adamMember.setUpdatedAt(LocalDateTime.now());
adamMemberMapper.insert(adamMember); adamMemberMapper.insert(adamMember);
mongoTemplate.insert(AdamMemberVo.getNew().copy(adamMember), AdamMemberVo.class.getSimpleName()); AdamMemberVo vo = AdamMemberVo.getNew().copy(adamMember);
}
@Override
public void edit(AdamMember info) {
info.setUpdatedAt(LocalDateTime.now());
AdamMemberVo updateVo = AdamMemberVo.getNew().copy(info); mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
mongoTemplate.getCollection(AdamMemberVo.class.getSimpleName()).updateOne( return vo;
Query.query(Criteria.where("mId").is(info.getMid())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo)))
);
redisUtil.del(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(info.getMemberId()));
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment