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

Commit 4d70e926 authored by anjiabin's avatar anjiabin
parents 65165a08 d3dd4074
......@@ -10,13 +10,13 @@ import java.io.Serializable;
@Data
public class AdamMemberCodeParam implements Serializable {
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;
@ApiModelProperty(position = 2, required = true, value = "会员价格ID", example = "69153548142796800")
@ApiModelProperty(position = 2, required = true, value = "会员价格ID", example = "101")
private String memberPriceId;
@ApiModelProperty(position = 3, required = true, value = "类型:0-用户购买兑换码,1-后台生成兑换码", example = "1")
private Integer type;
@ApiModelProperty(position = 4, required = false, value = "用户ID", example = "1")
@ApiModelProperty(position = 4, required = false, value = "用户ID")
private String buyUid;
}
......@@ -37,10 +37,8 @@ public class AdamMemberParam implements Serializable {
private Integer needQuestion;
@ApiModelProperty(position = 12, required = true, value = "是否展示协议[0-否,1-是]", allowableValues = "0,1")
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;
@ApiModelProperty(position = 14, required = true, value = "限购数量,0不限购[200]", example = "0")
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 {
private String subTitle;
@ApiModelProperty(position = 4, value = "icon图标[200]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png")
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;
@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 = "加入摩登天空会员您可享受到.....")
private String interestsDetail;
@ApiModelProperty(position = 7, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....")
......@@ -72,6 +76,8 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
this.setSubTitle(source.getSubTitle());
this.setIcon(source.getIcon());
this.setAvatar(source.getAvatar());
this.setStartNo(source.getStartNo());
this.setType(source.getType());
this.setInterestsDetail(source.getInterestsDetail());
this.setNotes(source.getNotes());
this.setIsNotice(source.getIsNotice());
......@@ -83,49 +89,4 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
this.setLimitation(source.getLimitation());
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;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.ApiModel;
......@@ -44,6 +45,7 @@ public class AdamUserMemberVo implements Serializable, Cloneable {
*
* @return true-有效
*/
@JsonIgnore
public boolean isActive() {
LocalDateTime expiryAt = DateUtil.Formatter.yyyyMMddHHmmss.parse(this.getExpiryAt());
......
......@@ -2,13 +2,12 @@ package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
/**
* 会员信息
*/
public interface IAdamMemberAdminService extends IService<AdamMember> {
void add(AdamMemberParam info);
void edit(AdamMember info);
AdamMemberVo add(AdamMemberParam info);
}
......@@ -2,10 +2,11 @@ package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.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 {
@GetMapping("info")
public ResponseDto<AdamMemberVo> query() {
AdamMemberSimpleVo memberSimpleVo = adamRdmService.getMemberSimpleVo();
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(memberSimpleVo.getMemberId());
if (null != memberVo) {
AdamMemberVo memberVo = null;
if (null != memberSimpleVo && null != (memberVo = adamRdmService.getMemberVoByMemberId(memberSimpleVo.getMemberId()))) {
memberVo.setPriceVoList(adamRdmService.getMemberPriceVoByMemberId(memberVo.getMemberId()));
memberVo.setRightsVoList(adamRdmService.getMemberRightsVoByMemberId(memberVo.getMemberId()));
......
......@@ -161,7 +161,6 @@ public class AdamMemberOrderController {
@GetMapping("list")
public ResponseDto<PageInfo<AdamMemberOrderSimpleVo>> list(@RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "5", required = false) int pageSize) {
// List<AdamMemberOrderVo> memberOrderList = adamMemberOrderService.getMemberOrderList(currentUid);
return ResponseDto.success(adamMemberOrderService.queryPage(CurrentUtil.getCurrentUid(), pageNo, pageSize));
}
......@@ -180,17 +179,20 @@ public class AdamMemberOrderController {
if (null == memberOrderInfo) {
return ResponseDto.failure(ErrorMapping.get("10211"));
}
try {
String rst = HttpUtil.get(env.getProperty("liquidnet.url-pay.check") + "?code=" + memberOrderInfo.getPayNo(), null);
if (memberOrderInfo.getMode() <= 1) {
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);
} catch (Exception e) {
log.error("支付中心:会员订单状态查询失败:{}", orderNo, e);
return ResponseDto.failure(ErrorMapping.get("10212"));
return ResponseDto.success(status == 1 ? status : 0);
} catch (Exception e) {
log.error("支付中心:会员订单状态查询失败:{}", orderNo, e);
return ResponseDto.failure(ErrorMapping.get("10212"));
}
}
return ResponseDto.success(memberOrderInfo.getState());
}
}
......@@ -2,19 +2,19 @@ package com.liquidnet.service.adam.controller.admin;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
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.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.base.ResponseDto;
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.IAdamMemberCodeAdminService;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
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)
@Api(tags = "后台管理:会员信息")
......@@ -28,18 +28,10 @@ public class AdamMemberAdminController {
IAdamMemberCodeAdminService adamMemberCodeAdminService;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "添加会员类型")
@ApiOperation(value = "添加会员")
@PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamMemberParam parameter) {
AdamMember adamMember = new AdamMember();
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();
return ResponseDto.success(adamMemberService.add(parameter));
}
@ApiOperationSupport(order = 2)
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
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.service.admin.IAdamMemberPriceAdminService;
import com.liquidnet.service.base.ResponseDto;
......@@ -65,18 +66,16 @@ public class AdamMemberPriceAdminController {
@ApiOperationSupport(order = 3)
@ApiOperation(value = "添加会员价格")
@PostMapping("add")
public ResponseDto<Object> add(@Valid @RequestBody AdamMemberPriceParam param) {
public ResponseDto<AdamMemberPriceVo> add(@Valid @RequestBody AdamMemberPriceParam param) {
AdamMemberPrice entity = new AdamMemberPrice();
BeanUtils.copyProperties(param, entity);
adamMemberPriceService.add(entity);
return ResponseDto.success();
return ResponseDto.success(adamMemberPriceService.add(entity));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "编辑会员价格")
@PostMapping("edit")
public ResponseDto<Object> edit(@Valid @RequestBody AdamMemberPriceParam param) {
adamMemberPriceService.edit(param);
return ResponseDto.success();
public ResponseDto<AdamMemberPriceVo> edit(@Valid @RequestBody AdamMemberPriceParam param) {
return ResponseDto.success(adamMemberPriceService.edit(param));
}
}
package com.liquidnet.service.adam.service.impl;
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.AdamUserMemberVo;
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.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
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.Query;
import org.springframework.stereotype.Service;
......@@ -40,10 +35,13 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper,
AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
long currentMaxMemberNo = Long.parseLong(latestMaxMemberNoVo.getMemberNo());
adamRdmService.setMemberNoByMemberId(memberId, currentMaxMemberNo + 1);
if (null == latestMaxMemberNoVo) {
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(memberId);
adamRdmService.setMemberNoByMemberId(memberId, memberVo.getStartNo());
} else {
adamRdmService.setMemberNoByMemberId(memberId, Long.parseLong(latestMaxMemberNoVo.getMemberNo()));
}
return String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId));
} else {
String nextMemberNoStr = String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId));
......
......@@ -3,6 +3,7 @@ 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.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.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst;
......@@ -11,6 +12,8 @@ import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
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 org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -20,8 +23,10 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service
......@@ -35,17 +40,24 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamMemberPrice info) {
info.setMemberPriceId(IDGenerator.nextSnowId().toString());
public AdamMemberPriceVo add(AdamMemberPrice info) {
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());
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
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamMemberPriceParam param) {
public AdamMemberPriceVo edit(AdamMemberPriceParam param) {
AdamMemberPrice updateInfo = new AdamMemberPrice();
updateInfo.setState(param.getState());
updateInfo.setName(param.getName());
......@@ -59,10 +71,14 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
adamMemberPriceMapper.update(
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(),
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));
return BsonUtil.toBean(doc, AdamMemberPriceVo.class);
}
}
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.liquidnet.common.cache.redis.util.RedisUtil;
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.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service
......@@ -32,30 +30,24 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
RedisUtil redisUtil;
@Override
public void add(AdamMemberParam info) {
public AdamMemberVo add(AdamMemberParam param) {
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.setCreatedAt(LocalDateTime.now());
adamMember.setUpdatedAt(LocalDateTime.now());
adamMemberMapper.insert(adamMember);
mongoTemplate.insert(AdamMemberVo.getNew().copy(adamMember), AdamMemberVo.class.getSimpleName());
}
@Override
public void edit(AdamMember info) {
info.setUpdatedAt(LocalDateTime.now());
AdamMemberVo vo = AdamMemberVo.getNew().copy(adamMember);
AdamMemberVo updateVo = AdamMemberVo.getNew().copy(info);
mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
mongoTemplate.getCollection(AdamMemberVo.class.getSimpleName()).updateOne(
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()));
return vo;
}
}
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