Commit 8ac1bcff authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/dev-tiande' into dev-tiande

parents 716df786 9139d751
...@@ -25,7 +25,7 @@ public class RabbitConstant { ...@@ -25,7 +25,7 @@ public class RabbitConstant {
public static final String KEY_APPUSER_REGISTER = "appUser.register"; public static final String KEY_APPUSER_REGISTER = "appUser.register";
public static final String KEY_APPUSER_AUTH = "appUser.auth"; public static final String KEY_APPUSER_AUTH = "appUser.auth";
public static final String KEY_MEMBER_SHARE = "member.share"; public static final String KEY_MEMBER_SHARE = "member.share";
public static final String KEY_MEMBER_CHANGE = "member.change";
//积分 //积分
public static final String INTEGRAL_ROUTING_KEY = "integral_routing_key"; public static final String INTEGRAL_ROUTING_KEY = "integral_routing_key";
......
...@@ -106,6 +106,11 @@ public class ResultCode { ...@@ -106,6 +106,11 @@ public class ResultCode {
// 用户已存在 // 用户已存在
public static int USER_EXIST_CODE = Integer.valueOf(SystemProperty.getResultConfig("USER_EXIST_CODE")); public static int USER_EXIST_CODE = Integer.valueOf(SystemProperty.getResultConfig("USER_EXIST_CODE"));
// 会员等级信息不存在
public static int USER_MEMBER_INFO_NOT_EXIST_CODE = Integer.valueOf(SystemProperty.getResultConfig("USER_MEMBER_INFO_NOT_EXIST_CODE"));
// 手机号已绑定人脸 // 手机号已绑定人脸
public static int WX_BIND_CODE = Integer.valueOf(SystemProperty.getResultConfig("WX_BIND_CODE")); public static int WX_BIND_CODE = Integer.valueOf(SystemProperty.getResultConfig("WX_BIND_CODE"));
......
...@@ -107,6 +107,10 @@ USER_NOTEXIST_CODE=5002 ...@@ -107,6 +107,10 @@ USER_NOTEXIST_CODE=5002
USER_EXIST_CODE=5003 USER_EXIST_CODE=5003
5003=用户不存在 5003=用户不存在
USER_MEMBER_INFO_NOT_EXIST_CODE = 5004
5004 = 会员等级信息不存在
ORG_INSERT_FAILED_CODE=6001 ORG_INSERT_FAILED_CODE=6001
6001=新增组织失败 6001=新增组织失败
......
...@@ -19,4 +19,6 @@ public class MemberShareCountRecordDto extends PageParam { ...@@ -19,4 +19,6 @@ public class MemberShareCountRecordDto extends PageParam {
private String startDate; private String startDate;
private String endDate; private String endDate;
private String name;
} }
package com.github.wxiaoqi.security.admin.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @ClassName : MemberShareRecordDto
* @Description : 会员分成记录
* @Author : jiaoruizhen
* @Date: 2020-11-09 11:39
*/
@Data
public class MemberShareRecordDto extends PageParam {
Integer userId;
}
...@@ -3,10 +3,7 @@ package com.github.wxiaoqi.security.admin.entity; ...@@ -3,10 +3,7 @@ package com.github.wxiaoqi.security.admin.entity;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.persistence.Column; import javax.persistence.*;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -80,5 +77,12 @@ public class MemberShareCountRecord implements Serializable { ...@@ -80,5 +77,12 @@ public class MemberShareCountRecord implements Serializable {
@ApiModelProperty(value = "会员等级") @ApiModelProperty(value = "会员等级")
private Integer memberLevel; private Integer memberLevel;
@Column(name = "count_day")
@ApiModelProperty(value = "统计日期")
private String countDay;
private Integer issue;
@Transient
private String levelName;
} }
...@@ -120,4 +120,10 @@ public class MemberShareRecord implements Serializable { ...@@ -120,4 +120,10 @@ public class MemberShareRecord implements Serializable {
private Integer memberNum; private Integer memberNum;
@Transient
private String levelName;
@Transient
private String realName;
} }
...@@ -80,7 +80,7 @@ public class AppUserCollectBiz extends BaseBiz<AppUserCollectMapper, AppUserColl ...@@ -80,7 +80,7 @@ public class AppUserCollectBiz extends BaseBiz<AppUserCollectMapper, AppUserColl
} }
} }
return ObjectRestResponse.succ(); return ObjectRestResponse.succ(collect.getId());
} }
//更新收藏 //更新收藏
......
...@@ -2,8 +2,10 @@ package com.github.wxiaoqi.security.admin.biz; ...@@ -2,8 +2,10 @@ package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear; import com.ace.cache.annotation.CacheClear;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO; import com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserRelation;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
...@@ -15,7 +17,11 @@ import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; ...@@ -15,7 +17,11 @@ import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo; import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -58,12 +64,18 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem ...@@ -58,12 +64,18 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
@Autowired @Autowired
private UserAuthConfig userAuthConfig; private UserAuthConfig userAuthConfig;
@Autowired
AppUserRelationBiz appUserRelationBiz;
@Autowired @Autowired
private BaseUserMemberExportBiz baseUserMemberExportBiz; private BaseUserMemberExportBiz baseUserMemberExportBiz;
@Autowired @Autowired
private HttpServletRequest request; private HttpServletRequest request;
@Autowired
MQSenderFeign mqSenderFeign;
// @Autowired // @Autowired
// private TaskExecutor taskExecutor; // private TaskExecutor taskExecutor;
// //
...@@ -144,12 +156,6 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem ...@@ -144,12 +156,6 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
} }
private void generateData(Integer level, Long userId) {
List<BaseUserMember> baseUserMemberList = getMyBiz().selectList(new BaseUserMember(){{setIsBind(1); setIsDel(0);setMemberLevel(level);}});
if (baseUserMemberList != null && baseUserMemberList.size() > 0) {
}
}
/** /**
* // * //
...@@ -306,6 +312,114 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem ...@@ -306,6 +312,114 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
} }
/**
* 修改用户会员等级
* @param baseUserMember
* @return
*/
public ObjectRestResponse updateUserLevel(BaseUserMember baseUserMember) {
if (baseUserMember.getId() == null || baseUserMember.getMemberLevel() == null) {
return ObjectRestResponse.paramIsEmpty();
}
BaseUserMember old = selectById(baseUserMember.getId());
if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
baseUserMember.setMemberLevel(baseUserMember.getMemberLevel());
updateSelectiveByIdRe(baseUserMember);
// todo 执行上级会员等级初始化操作
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_MEMBER_CHANGE, JSONObject.toJSONString(baseUserMember));
return ObjectRestResponse.succ();
}
//处理上级会员等级初始化
public void executeParentMemberLevel(BaseUserMember baseUserMember) {
log.info("【处理上级会员等级】: {}", baseUserMember);
Example example = new Example(BaseUserMemberLevel.class);
example.createCriteria().andEqualTo("isdel", 0);
example.orderBy("level");
List<BaseUserMemberLevel> userMemberLevelList = BaseUserMemberLevelMapper.selectByExample(example);
if (userMemberLevelList != null && userMemberLevelList.size() > 0) {
generateParentLevel(baseUserMember.getUserId(), userMemberLevelList);
}
}
private void generateParentLevel(Integer userId, List<BaseUserMemberLevel> userMemberLevelList) {
AppUserRelation appUserRelation = appUserRelationBiz.getRelationByUserId(userId);
if (appUserRelation != null && appUserRelation.getIsDel() != 1) {
//查询上级当前等级
Integer parentId = appUserRelation.getParentId();
BaseUserMemberVO parentUser = findOneByUserId(parentId);
log.info("【上级会员信息】: {}", parentUser);
if (parentUser != null && parentId != 0) {
//查询当前会员需要变更到的级别
Integer parentNewLevel = generateUserLevel(parentId, parentUser.getMemberLevel(), userMemberLevelList);
//如果返回为空,或者当前级别和需要更新的级别相等,不做处理
log.info("【上级需要修改等级为: {}】", parentNewLevel);
if (parentNewLevel != null && !parentNewLevel.equals(parentUser.getMemberLevel())) {
Example example1 = new Example(BaseUserMember.class);
example1.createCriteria().andEqualTo("userId", parentId).andEqualTo("isDel", 0);
BaseUserMember parent = mapper.selectOneByExample(example1);
if (parent != null) {
parent.setMemberLevel(parentNewLevel);
updateSelectiveByIdRe(parent);
}
generateParentLevel(parentId, userMemberLevelList);
}
}
}
}
/**
* 获取用户需要修改的等级
* @param userId
* @param level
* @param userMemberLevelList
*/
private Integer generateUserLevel(Integer userId, Integer level, List<BaseUserMemberLevel> userMemberLevelList) {
BaseUserMemberLevel currentLevel = null;
BaseUserMemberLevel subLevel = null;
for (int i = 0; i < userMemberLevelList.size(); i ++ ) {
if (level.equals(userMemberLevelList.get(i).getLevel())) {
currentLevel = userMemberLevelList.get(i);
if ((i+1) < userMemberLevelList.size()) {
subLevel = userMemberLevelList.get(i + 1);
}
}
}
//当前会员不存在,直接返回
if (currentLevel == null) {
return null;
}
//当前会员不分成且下一级也是不分成,直接返回
if ( currentLevel.getIsShare() != null && currentLevel.getIsShare() == 0 ) {
//下一级不存在、或者下一级不分成,就直接返回
if (subLevel == null || (subLevel != null && subLevel.getIsShare() != null && subLevel.getIsShare() == 0)) {
return currentLevel.getLevel();
}
}
Example example = new Example(BaseUserMemberLevel.class);
example.createCriteria().andEqualTo("isdel", 0).andEqualTo("isShare", 1);
example.orderBy("level");
List<BaseUserMemberLevel> baseUserMemberLevelList = BaseUserMemberLevelMapper.selectByExample(example);
//如果当前等级小于等于第一个分成等级的低一等级, 则直接查询大于等于第一个分成等级的低一等级的下级用户数量, 否则直接取当前等级的低一级会员数量
Integer queryLevel = level - 1;
if (level <= (baseUserMemberLevelList.get(0).getLevel() - 1)) {
queryLevel = baseUserMemberLevelList.get(0).getLevel() - 1;
}
//需要分成,则查询当前用户的下级是否符合条件,符合条件level+1
List<BaseUserMember> baseUserMemberList = mapper.selectAllChildrenByLevel(userId, queryLevel);
if (baseUserMemberList != null && baseUserMemberList.size() > getLimitNumber()) {
return generateUserLevel(userId, level+1, userMemberLevelList);
} else {
return level;
}
}
private Integer getLimitNumber() {
return 3;
}
public void deleteByUserIds(Collection<Integer> userIds) { public void deleteByUserIds(Collection<Integer> userIds) {
Example example = new Example(BaseUserMember.class); Example example = new Example(BaseUserMember.class);
......
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import cn.hutool.poi.excel.ExcelUtil;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import cn.hutool.poi.excel.ExcelWriter;
import com.github.wxiaoqi.security.admin.entity.MemberShareCountRecord; import com.github.wxiaoqi.security.admin.dto.MemberShareRecordDto;
import com.github.wxiaoqi.security.admin.entity.MemberShareRecord; import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.admin.mapper.MemberShareRecordMapper; import com.github.wxiaoqi.security.admin.mapper.MemberShareRecordMapper;
import com.github.wxiaoqi.security.admin.util.DateUtils; import com.github.wxiaoqi.security.admin.util.DateUtils;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.entity.OrderMemberDetail; import com.xxfc.platform.order.entity.OrderMemberDetail;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -18,7 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -18,7 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -42,6 +48,8 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe ...@@ -42,6 +48,8 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
BaseUserMemberBiz baseUserMemberBiz; BaseUserMemberBiz baseUserMemberBiz;
@Autowired @Autowired
BaseUserMemberLevelMapper baseUserMemberLevelMapper; BaseUserMemberLevelMapper baseUserMemberLevelMapper;
@Autowired
AppUserDetailBiz appUserDetailBiz;
/** /**
* 根据订单号查询分成记录 * 根据订单号查询分成记录
* 每个订单有且只有一条记录 * 每个订单有且只有一条记录
...@@ -85,10 +93,10 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe ...@@ -85,10 +93,10 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
* 查看某一用户分成记录明细 * 查看某一用户分成记录明细
* @return * @return
*/ */
public ObjectRestResponse<List<MemberShareRecord>> getAllRecord(Long userId) { public ObjectRestResponse<List<MemberShareRecord>> getAllRecord(MemberShareRecordDto memberShareRecordDto) {
Example example = new Example(MemberShareRecord.class); Query query = new Query(memberShareRecordDto);
example.createCriteria().andLike("memberIds", "%," + userId + ",%"); PageDataVO<MemberShareRecord> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectList(query.getSuper()));
return ObjectRestResponse.succ(mapper.selectByExample(example)); return ObjectRestResponse.succ(pageDataVO);
} }
/** /**
...@@ -189,6 +197,8 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe ...@@ -189,6 +197,8 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
memberShareCountRecord.setAmount(entry.getValue()); memberShareCountRecord.setAmount(entry.getValue());
memberShareCountRecord.setMemberLevel(level); memberShareCountRecord.setMemberLevel(level);
memberShareCountRecord.setCountMonth(dateTime.toString("yyyy-MM")); memberShareCountRecord.setCountMonth(dateTime.toString("yyyy-MM"));
memberShareCountRecord.setCountDay(dateTime.toString("dd"));
memberShareCountRecord.setIssue(0);
memberShareCountRecord.setCrtTime(System.currentTimeMillis()); memberShareCountRecord.setCrtTime(System.currentTimeMillis());
memberShareCountRecord.setUpdTime(System.currentTimeMillis()); memberShareCountRecord.setUpdTime(System.currentTimeMillis());
memberShareCountRecordList.add(memberShareCountRecord); memberShareCountRecordList.add(memberShareCountRecord);
...@@ -210,10 +220,16 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe ...@@ -210,10 +220,16 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
public void generateMemberShareQueue(OrderMemberDetail orderMemberDetail) { public void generateMemberShareQueue(OrderMemberDetail orderMemberDetail) {
if (orderMemberDetail != null) { if (orderMemberDetail != null) {
log.info("会员订单信息: {}", orderMemberDetail); log.info("会员订单信息: {}", orderMemberDetail);
BaseUserMemberLevel baseUserMemberLevel = baseUserMemberLevelMapper.selectOne(new BaseUserMemberLevel(){{setIsdel(0); setId(orderMemberDetail.getMemberLevelId());}}); Example example = new Example(BaseUserMemberLevel.class);
log.info("会员等级信息: {}", baseUserMemberLevel); example.createCriteria().andEqualTo("isdel", 0).andEqualTo("isShare", 1);
if (baseUserMemberLevel != null && baseUserMemberLevel.getIsShare() == 1) { example.orderBy("level");
List<BaseUserMember> baseUserMemberList = baseUserMemberBiz.selectList(new BaseUserMember(){{setIsDel(0); setMemberLevel(orderMemberDetail.getMemberLevel());}}); List<BaseUserMemberLevel> baseUserMemberLevelList = baseUserMemberLevelMapper.selectByExample(example);
if (baseUserMemberLevelList != null && baseUserMemberLevelList.size() > 0) {
//如果购买会员是分成会员低一级会员以及分成会员,才参与分成
if (orderMemberDetail.getMemberLevel().compareTo(baseUserMemberLevelList.get(0).getLevel() - 1) >= 0) {
//所有分成会员都需要新增一条记录
for (BaseUserMemberLevel baseUserMemberLevel : baseUserMemberLevelList) {
List<BaseUserMember> baseUserMemberList = baseUserMemberBiz.selectList(new BaseUserMember(){{setIsDel(0); setMemberLevel(baseUserMemberLevel.getLevel());}});
if (baseUserMemberList != null && baseUserMemberList.size() > 0) { if (baseUserMemberList != null && baseUserMemberList.size() > 0) {
List<Integer> userIds = baseUserMemberList.stream().map(BaseUserMember::getUserId).collect(Collectors.toList()); List<Integer> userIds = baseUserMemberList.stream().map(BaseUserMember::getUserId).collect(Collectors.toList());
if (userIds != null && userIds.size() > 0) { if (userIds != null && userIds.size() > 0) {
...@@ -221,8 +237,8 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe ...@@ -221,8 +237,8 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
memberShareRecord.setOrderNo(orderMemberDetail.getBaseOrder().getNo()); memberShareRecord.setOrderNo(orderMemberDetail.getBaseOrder().getNo());
memberShareRecord.setPayTime(orderMemberDetail.getBaseOrder().getPayTime()); memberShareRecord.setPayTime(orderMemberDetail.getBaseOrder().getPayTime());
memberShareRecord.setOrderAmount(orderMemberDetail.getBaseOrder().getOrderAmount()); memberShareRecord.setOrderAmount(orderMemberDetail.getBaseOrder().getOrderAmount());
memberShareRecord.setMemberLevel(orderMemberDetail.getMemberLevel()); memberShareRecord.setMemberLevel(baseUserMemberLevel.getLevel());
memberShareRecord.setMemberLevelId(orderMemberDetail.getMemberLevelId()); memberShareRecord.setMemberLevelId(baseUserMemberLevel.getId());
memberShareRecord.setUserId(orderMemberDetail.getBaseOrder().getUserId().longValue()); memberShareRecord.setUserId(orderMemberDetail.getBaseOrder().getUserId().longValue());
memberShareRecord.setOrderTime(orderMemberDetail.getCrtTime()); memberShareRecord.setOrderTime(orderMemberDetail.getCrtTime());
memberShareRecord.setTotalAmount(baseUserMemberLevel.getShareAmount()); memberShareRecord.setTotalAmount(baseUserMemberLevel.getShareAmount());
...@@ -241,5 +257,89 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe ...@@ -241,5 +257,89 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
} }
} }
} }
}
}
/**
* 会员分成导出信息
* @param httpServletResponse
* @param memberShareRecordDto
* @throws Exception
*/
public void exportRecordList(HttpServletResponse httpServletResponse, MemberShareRecordDto memberShareRecordDto)throws Exception {
AppUserVo appUserDetail = appUserDetailBiz.getUserInfoById(memberShareRecordDto.getUserId());
if (appUserDetail != null) {
ExcelWriter writer = null;
try {
writer = ExcelUtil.getWriter(true);
//封装表头
writer.addHeaderAlias("orderNo", "订单编号");
writer.addHeaderAlias("payUser", "下单用户");
writer.addHeaderAlias("payTime", "支付时间");
writer.addHeaderAlias("orderAmount", "订单金额");
writer.addHeaderAlias("totalAmount", "总分红");
writer.addHeaderAlias("userNum", "分红人数");
writer.addHeaderAlias("realName", "分红人");
writer.addHeaderAlias("levelName", "等级");
writer.addHeaderAlias("amount", "金额");
//处理数据
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
memberShareRecordDto.setLimit(Integer.MAX_VALUE);
Query query = new Query(memberShareRecordDto);
List<MemberShareRecord> memberShareCountRecordList = mapper.selectList(query.getSuper());
if (memberShareCountRecordList != null && memberShareCountRecordList.size() > 0) {
for (MemberShareRecord memberShareRecord : memberShareCountRecordList) {
Map<String, Object> map = new HashMap();
map.put("orderNo", memberShareRecord.getOrderNo());
map.put("payUser", memberShareRecord.getRealName());
map.put("payTime", DateUtil.date(memberShareRecord.getPayTime()).toString());
map.put("orderAmount", memberShareRecord.getOrderAmount());
map.put("totalAmount", memberShareRecord.getTotalAmount());
map.put("userNum", memberShareRecord.getMemberNum());
map.put("realName", appUserDetail.getRealname());
map.put("levelName", memberShareRecord.getLevelName());
map.put("amount", memberShareRecord.getAmount());
list.add(map);
}
}
if (list.size() == 0) {
Map<String, Object> map = new HashMap<String, Object>();
writer.addHeaderAlias("orderNo", "订单编号");
writer.addHeaderAlias("payUser", "下单用户");
writer.addHeaderAlias("payTime", "支付时间");
writer.addHeaderAlias("orderAmount", "订单金额");
writer.addHeaderAlias("totalAmount", "总分红");
writer.addHeaderAlias("userNum", "分红人数");
writer.addHeaderAlias("realName", "分红人");
writer.addHeaderAlias("levelName", "等级");
writer.addHeaderAlias("amount", "金额");
map.put("orderNo", "");
map.put("payUser", "");
map.put("payTime", "");
map.put("orderAmount", "");
map.put("totalAmount", "");
map.put("userNum", "");
map.put("realName", "");
map.put("levelName", "");
map.put("amount", "");
list.add(map);
}
writer.write(list);
httpServletResponse.setContentType("application/octet-stream;charset=utf-8");
httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("会员分成明细.xlsx", "utf-8"));
writer.flush(httpServletResponse.getOutputStream());
}catch (Exception ex) {
log.error(ex.getMessage(), ex);
throw ex;
}finally {
if (writer != null) {
writer.close();
}
}
}
}
} }
\ No newline at end of file
...@@ -35,6 +35,8 @@ public class RabbitAdminConfig extends RabbitCommonConfig { ...@@ -35,6 +35,8 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
public static final String MEMBER_SHARE_QUEUE = "admin.member.share"; public static final String MEMBER_SHARE_QUEUE = "admin.member.share";
public static final String MEMBER_CHANGE_QUEUE = "admin.member.change";
static { static {
myQueue = new ArrayList<BindDTO>() {{ myQueue = new ArrayList<BindDTO>() {{
//支付完成后永久绑定关系 //支付完成后永久绑定关系
...@@ -53,6 +55,8 @@ public class RabbitAdminConfig extends RabbitCommonConfig { ...@@ -53,6 +55,8 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
add(new BindDTO(COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD)); add(new BindDTO(COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD));
add(new BindDTO(MEMBER_SHARE_QUEUE, ADMIN_TOPIC, KEY_MEMBER_SHARE)); add(new BindDTO(MEMBER_SHARE_QUEUE, ADMIN_TOPIC, KEY_MEMBER_SHARE));
add(new BindDTO(MEMBER_CHANGE_QUEUE, ADMIN_TOPIC, KEY_MEMBER_CHANGE));
}}; }};
} }
} }
......
package com.github.wxiaoqi.security.admin.handler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.biz.BaseUserMemberBiz;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component;
import java.util.Map;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.MEMBER_CHANGE_QUEUE;
/**
* @ClassName : MemberChangeMQHandler
* @Description : 修改会员等级
* @Author : jiaoruizhen
* @Date: 2020-11-07 11:10
*/
@Component
@Slf4j
public class MemberChangeMQHandler {
@Autowired
BaseUserMemberBiz baseUserMemberBiz;
@RabbitListener(queues = MEMBER_CHANGE_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
try {
Thread.sleep(2000);
String msg = new String(message.getBody(), "UTF-8");
log.info("接收到的消息-----msg===="+msg);
BaseUserMember baseUserMember = JSONUtil.toBean(msg, BaseUserMember.class);
baseUserMemberBiz.executeParentMemberLevel(baseUserMember);
} catch (Exception e) {
log.error("接收消息失败:{}", e);
}
}
}
...@@ -6,6 +6,8 @@ import com.github.wxiaoqi.security.admin.vo.UserMemberVo; ...@@ -6,6 +6,8 @@ import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/** /**
* 用户会员表 * 用户会员表
* *
...@@ -19,4 +21,6 @@ public interface BaseUserMemberMapper extends Mapper<BaseUserMember> { ...@@ -19,4 +21,6 @@ public interface BaseUserMemberMapper extends Mapper<BaseUserMember> {
public UserMemberVo getInfoByUserId(@Param("userId")Integer userId); public UserMemberVo getInfoByUserId(@Param("userId")Integer userId);
BaseUserMemberVO getBaseUserMemberVOByUserId(@Param("userId") Integer userId); BaseUserMemberVO getBaseUserMemberVOByUserId(@Param("userId") Integer userId);
List<BaseUserMember> selectAllChildrenByLevel(@Param("userId") Integer userId, @Param("level") Integer level);
} }
...@@ -3,6 +3,9 @@ package com.github.wxiaoqi.security.admin.mapper; ...@@ -3,6 +3,9 @@ package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.MemberShareRecord; import com.github.wxiaoqi.security.admin.entity.MemberShareRecord;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
/** /**
* 会员分成记录 * 会员分成记录
* *
...@@ -11,5 +14,5 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -11,5 +14,5 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2020-11-03 11:12:15 * @date 2020-11-03 11:12:15
*/ */
public interface MemberShareRecordMapper extends Mapper<MemberShareRecord> { public interface MemberShareRecordMapper extends Mapper<MemberShareRecord> {
List<MemberShareRecord> selectList(Map<String, Object> params);
} }
...@@ -107,6 +107,7 @@ public class AppUserCollectController extends CommonBaseController { ...@@ -107,6 +107,7 @@ public class AppUserCollectController extends CommonBaseController {
@RequestMapping(value = "/collect/remove",method = RequestMethod.POST) @RequestMapping(value = "/collect/remove",method = RequestMethod.POST)
@ApiModelProperty("取消收藏") @ApiModelProperty("取消收藏")
public ObjectRestResponse remove(@RequestBody AppUserCollectDTO collectDTO)throws Exception { public ObjectRestResponse remove(@RequestBody AppUserCollectDTO collectDTO)throws Exception {
collectDTO.setStatus(1);
return collectBiz.upUserCollect(collectDTO); return collectBiz.upUserCollect(collectDTO);
} }
......
...@@ -133,4 +133,18 @@ public class BaseUserMemberController extends BaseController<BaseUserMemberBiz, ...@@ -133,4 +133,18 @@ public class BaseUserMemberController extends BaseController<BaseUserMemberBiz,
baseBiz.UpdateUserMember(userMemberDTO); baseBiz.UpdateUserMember(userMemberDTO);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@PutMapping(value = "updateLevel")
@ApiOperation(value = "修改会员等级")
public ObjectRestResponse updateUserLevel(@RequestBody BaseUserMember baseUserMember) {
return baseBiz.updateUserLevel(baseUserMember);
}
@GetMapping(value = "/app/unauth/executeParentMemberLevel")
public void executeParentMemberLevel(BaseUserMember baseUserMember) {
baseBiz.executeParentMemberLevel(baseUserMember);
}
} }
...@@ -34,7 +34,6 @@ public class MemberLevelController extends BaseController<UserMemberLevelBiz, Ba ...@@ -34,7 +34,6 @@ public class MemberLevelController extends BaseController<UserMemberLevelBiz, Ba
@RequestMapping(value = "/app/unauth/level/list", method = RequestMethod.GET) @RequestMapping(value = "/app/unauth/level/list", method = RequestMethod.GET)
public ObjectRestResponse<List<BaseUserMemberLevel>>list(BaseUserMemberLevel baseUserMemberLevel) throws Exception { public ObjectRestResponse<List<BaseUserMemberLevel>>list(BaseUserMemberLevel baseUserMemberLevel) throws Exception {
baseUserMemberLevel.setIsShow(1);
return ObjectRestResponse.succ(memberBiz.getList(baseUserMemberLevel)); return ObjectRestResponse.succ(memberBiz.getList(baseUserMemberLevel));
} }
......
package com.github.wxiaoqi.security.admin.rest.admin; package com.github.wxiaoqi.security.admin.rest.admin;
import com.github.wxiaoqi.security.admin.biz.MemberShareRecordBiz; import com.github.wxiaoqi.security.admin.biz.MemberShareRecordBiz;
import com.github.wxiaoqi.security.admin.dto.MemberShareRecordDto;
import com.github.wxiaoqi.security.admin.entity.MemberShareRecord; import com.github.wxiaoqi.security.admin.entity.MemberShareRecord;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
@RestController @RestController
@RequestMapping("memberShareRecord") @RequestMapping("memberShareRecord")
@Slf4j
public class MemberShareRecordController extends BaseController<MemberShareRecordBiz, MemberShareRecord> { public class MemberShareRecordController extends BaseController<MemberShareRecordBiz, MemberShareRecord> {
/** /**
* 获取用户分成明细 * 获取用户分成明细
* @param userId * @param memberShareRecordDto
* @return * @return
*/ */
@GetMapping(value = "getAllRecord") @GetMapping(value = "getAllRecord")
public ObjectRestResponse getAllRecord(Long userId) { public ObjectRestResponse getAllRecord(MemberShareRecordDto memberShareRecordDto) {
return baseBiz.getAllRecord(userId); return baseBiz.getAllRecord(memberShareRecordDto);
} }
/** /**
...@@ -29,4 +34,16 @@ public class MemberShareRecordController extends BaseController<MemberShareRecor ...@@ -29,4 +34,16 @@ public class MemberShareRecordController extends BaseController<MemberShareRecor
public void generateData() { public void generateData() {
baseBiz.generateData(); baseBiz.generateData();
} }
@GetMapping(value = "export")
public ObjectRestResponse export(HttpServletResponse response, MemberShareRecordDto memberShareRecordDto) {
try {
baseBiz.exportRecordList(response, memberShareRecordDto);
} catch (Exception e) {
log.error("{}", e);
return ObjectRestResponse.createDefaultFail();
}
return ObjectRestResponse.succ();
}
} }
\ No newline at end of file
...@@ -27,6 +27,11 @@ ...@@ -27,6 +27,11 @@
select * from base_user_member where user_id=#{userId} and is_del=0 limit 1 select * from base_user_member where user_id=#{userId} and is_del=0 limit 1
</select> </select>
<select id="selectAllChildrenByLevel" resultType="com.github.wxiaoqi.security.admin.entity.BaseUserMember">
select bum.* from app_user_relation aur
LEFT JOIN base_user_member bum on bum.user_id = aur.user_id
where aur.parent_id = #{userId} and bum.member_level &gt;= #{level}
</select>
<select id="getBaseUserMemberVOByUserId" parameterType="Integer" <select id="getBaseUserMemberVOByUserId" parameterType="Integer"
resultType="com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO"> resultType="com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO">
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<mapper namespace="com.github.wxiaoqi.security.admin.mapper.MemberShareCountRecordMapper"> <mapper namespace="com.github.wxiaoqi.security.admin.mapper.MemberShareCountRecordMapper">
<insert id="batchSave" parameterType="list"> <insert id="batchSave" parameterType="list">
insert into member_share_count_record ( user_id, real_name, count_month, amount, crt_time, upd_time, member_level) insert into member_share_count_record ( user_id, real_name, count_month, amount, crt_time, upd_time, member_level, issue, count_day)
VALUES VALUES
<foreach collection="list" item="emp" index="index" separator=","> <foreach collection="list" item="emp" index="index" separator=",">
( (
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
#{emp.amount,jdbcType=DECIMAL}, #{emp.amount,jdbcType=DECIMAL},
#{emp.crtTime,jdbcType=TIMESTAMP}, #{emp.crtTime,jdbcType=TIMESTAMP},
#{emp.updTime,jdbcType=TIMESTAMP}, #{emp.updTime,jdbcType=TIMESTAMP},
#{emp.memberLevel,jdbcType=INTEGER} #{emp.memberLevel,jdbcType=INTEGER},
#{emp.issue,jdbcType=INTEGER},
#{emp.countDay,jdbcType=VARCHAR}
) )
</foreach> </foreach>
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
...@@ -24,16 +26,22 @@ ...@@ -24,16 +26,22 @@
amount = values(amount), amount = values(amount),
crt_time = values(crt_time), crt_time = values(crt_time),
upd_time = values(upd_time), upd_time = values(upd_time),
member_level = values(member_level) member_level = values(member_level),
issue = values(issue),
count_day = values(count_day)
</insert> </insert>
<select id="selectList" resultType="com.github.wxiaoqi.security.admin.entity.MemberShareCountRecord"> <select id="selectList" resultType="com.github.wxiaoqi.security.admin.entity.MemberShareCountRecord">
select msr.count_month as countMonth, msr.user_id as userId, sum(msr.amount) as amount, aud.realname as realName from member_share_count_record msr select msr.count_month as countMonth, bml.name as levelName, msr.user_id as userId, msr.member_level as memberLevel, sum(msr.amount) as amount, aud.realname as realName from member_share_count_record msr
LEFT JOIN app_user_detail aud on aud.userid = msr.user_id LEFT JOIN app_user_detail aud on aud.userid = msr.user_id
LEFT JOIN base_user_member_level bml on bml.level = msr.member_level
<where> <where>
<if test="userId != null"> <if test="userId != null">
and msr.user_id = #{userId} and msr.user_id = #{userId}
</if> </if>
<if test="name != null">
and aud.realname like concat('%', #{name}, '%')
</if>
<if test="startDate != null and startDate != ''"> <if test="startDate != null and startDate != ''">
and msr.count_month between #{startDate} and #{endDate} and msr.count_month between #{startDate} and #{endDate}
</if> </if>
...@@ -41,7 +49,7 @@ ...@@ -41,7 +49,7 @@
and msr.count_month = #{countMonth} and msr.count_month = #{countMonth}
</if> </if>
</where> </where>
group by msr.count_month, msr.user_id group by msr.count_month, msr.member_level,msr.user_id
order By msr.count_month DESC order By msr.count_month DESC
</select> </select>
......
...@@ -3,22 +3,12 @@ ...@@ -3,22 +3,12 @@
<mapper namespace="com.github.wxiaoqi.security.admin.mapper.MemberShareRecordMapper"> <mapper namespace="com.github.wxiaoqi.security.admin.mapper.MemberShareRecordMapper">
<!-- 可根据自己的需求,是否要使用 --> <select id="selectList" resultType="com.github.wxiaoqi.security.admin.entity.MemberShareRecord">
<resultMap type="com.github.wxiaoqi.security.admin.entity.MemberShareRecord" id="memberShareRecordMap"> select msr.*,bml.name as levelName,aud.realname as realName from member_share_record msr
<result property="id" column="id"/> LEFT JOIN base_user_member_level bml on bml.id = msr.member_level_id
<result property="orderNo" column="order_no"/> LEFT JOIN app_user_detail aud on aud.userid = msr.user_id
<result property="memberIds" column="member_ids"/> where msr.member_ids like concat('%', #{userId}, '%')
<result property="payTime" column="pay_time"/> order by msr.pay_time DESC
<result property="memberLevel" column="member_level"/> </select>
<result property="memberLevelId" column="member_level_id"/>
<result property="orderAmount" column="order_amount"/>
<result property="totalAmount" column="total_amount"/>
<result property="amount" column="amount"/>
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="userId" column="user_id"/>
<result property="orderTime" column="order_time"/>
<result property="memberNum" column="member_num"/>
</resultMap>
</mapper> </mapper>
\ No newline at end of file
package com.xxfc.platform.order.pojo.order; package com.xxfc.platform.order.pojo.order;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderItem; import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.entity.OrderMemberDetail; import com.xxfc.platform.order.entity.OrderMemberDetail;
import com.xxfc.platform.order.entity.OrderTourDetail;
import com.xxfc.platform.order.entity.inter.OrderDetail; import com.xxfc.platform.order.entity.inter.OrderDetail;
import com.xxfc.platform.tour.entity.TourGood;
import com.xxfc.platform.tour.entity.TourUser;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -41,4 +36,6 @@ public class MemberBO extends OrderMemberDetail implements OrderDetail { ...@@ -41,4 +36,6 @@ public class MemberBO extends OrderMemberDetail implements OrderDetail {
* 订单子项 * 订单子项
*/ */
List<OrderItem> items; List<OrderItem> items;
} }
...@@ -3,6 +3,7 @@ package com.xxfc.platform.order.pojo.order.add; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.order.pojo.order.add;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
@Data @Data
...@@ -21,4 +22,18 @@ public class AddMemberDTO extends AddOrderCommonDTO{ ...@@ -21,4 +22,18 @@ public class AddMemberDTO extends AddOrderCommonDTO{
@ApiModelProperty(value = "优惠卷卷号") @ApiModelProperty(value = "优惠卷卷号")
private String tickerNos; private String tickerNos;
/**
* 用户手机号
*/
private String phone;
/**
* 下单时间
*/
private Long payTime;
/**
* 订单金额
*/
private BigDecimal orderAmount;
} }
...@@ -756,7 +756,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements ...@@ -756,7 +756,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
//发送消息队列到admin,进行分成计算 //发送消息队列到admin,进行分成计算
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_MEMBER_SHARE, JSONUtil.toJsonStr(omd)); mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_MEMBER_SHARE, JSONUtil.toJsonStr(omd));
} else if (OrderTypeEnum.RENT_VEHICLE.getCode().equals(baseOrder.getType())) { } else if (OrderTypeEnum.RENT_VEHICLE.getCode().equals(baseOrder.getType())) {
updateOrder.setStatus(OrderStatusEnum.ORDER_TOSTART.getCode()); updateOrder.setStatus(OrderStatusEnum.ORDER_TOSTART.getCode());
orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail() {{ orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail() {{
......
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import org.springframework.stereotype.Service; import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail; import com.xxfc.platform.order.entity.OrderMemberDetail;
import com.xxfc.platform.order.mapper.OrderMemberDetailMapper; import com.xxfc.platform.order.mapper.OrderMemberDetailMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.xxfc.platform.order.pojo.order.add.AddMemberDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
/** /**
* *
...@@ -15,4 +25,39 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -15,4 +25,39 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/ */
@Service @Service
public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderMemberDetail> { public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderMemberDetail> {
@Autowired
UserFeign userFeign;
@Autowired
BaseOrderBiz baseOrderBiz;
/**
* 后台创建订单
* @param dto
*/
public void createOrder(AddMemberDTO dto) {
AppUserLogin appUserLogin = userFeign.one(dto.getPhone());
if (appUserLogin != null) {
List<BaseUserMemberLevel> baseUserMemberLevelList = userFeign.levels();
if (baseUserMemberLevelList != null && baseUserMemberLevelList.size() > 0) {
BaseOrder baseOrder = new BaseOrder();
AtomicReference<BaseUserMemberLevel> currentLevel = null;
baseUserMemberLevelList.parallelStream().forEach(baseUserMemberLevel -> {
if (dto.getMemberLevel().equals(baseUserMemberLevel.getLevel())) {
currentLevel.set(baseUserMemberLevel);
}
});
if (currentLevel != null && currentLevel.get() != null) {
}
} else {
throw new BaseException(ResultCode.getMsg(ResultCode.USER_MEMBER_INFO_NOT_EXIST_CODE));
}
} else {
throw new BaseException(ResultCode.getMsg(ResultCode.USER_NOTEXIST_CODE));
}
}
} }
\ No newline at end of file
...@@ -8,7 +8,6 @@ import com.github.wxiaoqi.security.common.context.BaseContextHandler; ...@@ -8,7 +8,6 @@ import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.biz.OrderMemberDetailBiz; import com.xxfc.platform.order.biz.OrderMemberDetailBiz;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail; import com.xxfc.platform.order.entity.OrderMemberDetail;
...@@ -61,6 +60,14 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz, ...@@ -61,6 +60,14 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,
//return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "为了更好地为您提供会员服务,请联系在线客服(或拨打客服电话:4000-369-369)"); //return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "为了更好地为您提供会员服务,请联系在线客服(或拨打客服电话:4000-369-369)");
} }
@RequestMapping(value = "/baseOrder/createOrder", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "后台添加会员订单")
public ObjectRestResponse<BaseOrder> createOrder(@RequestBody AddMemberDTO dto) {
baseBiz.createOrder(dto);
return ObjectRestResponse.succ();
}
/** /**
* 会员订单列表 * 会员订单列表
* *
......
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