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 {
public static final String KEY_APPUSER_REGISTER = "appUser.register";
public static final String KEY_APPUSER_AUTH = "appUser.auth";
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";
......
......@@ -106,6 +106,11 @@ public class ResultCode {
// 用户已存在
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"));
......
......@@ -107,6 +107,10 @@ USER_NOTEXIST_CODE=5002
USER_EXIST_CODE=5003
5003=用户不存在
USER_MEMBER_INFO_NOT_EXIST_CODE = 5004
5004 = 会员等级信息不存在
ORG_INSERT_FAILED_CODE=6001
6001=新增组织失败
......
......@@ -19,4 +19,6 @@ public class MemberShareCountRecordDto extends PageParam {
private String startDate;
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;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
......@@ -79,6 +76,13 @@ public class MemberShareCountRecord implements Serializable {
@Column(name = "member_level")
@ApiModelProperty(value = "会员等级")
private Integer memberLevel;
@Column(name = "count_day")
@ApiModelProperty(value = "统计日期")
private String countDay;
private Integer issue;
@Transient
private String levelName;
}
......@@ -118,6 +118,12 @@ public class MemberShareRecord implements Serializable {
@Column(name = "member_num")
@ApiModelProperty(value = "分成人数")
private Integer memberNum;
@Transient
private String levelName;
@Transient
private String realName;
}
......@@ -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;
import com.ace.cache.annotation.Cache;
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.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserRelation;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
......@@ -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.common.util.jwt.IJWTInfo;
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.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
......@@ -58,12 +64,18 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
AppUserRelationBiz appUserRelationBiz;
@Autowired
private BaseUserMemberExportBiz baseUserMemberExportBiz;
@Autowired
private HttpServletRequest request;
@Autowired
MQSenderFeign mqSenderFeign;
// @Autowired
// private TaskExecutor taskExecutor;
//
......@@ -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
}
/**
* 修改用户会员等级
* @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) {
Example example = new Example(BaseUserMember.class);
......
......@@ -35,6 +35,8 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
public static final String MEMBER_SHARE_QUEUE = "admin.member.share";
public static final String MEMBER_CHANGE_QUEUE = "admin.member.change";
static {
myQueue = new ArrayList<BindDTO>() {{
//支付完成后永久绑定关系
......@@ -53,6 +55,8 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
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_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;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
* 用户会员表
*
......@@ -19,4 +21,6 @@ public interface BaseUserMemberMapper extends Mapper<BaseUserMember> {
public UserMemberVo getInfoByUserId(@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;
import com.github.wxiaoqi.security.admin.entity.MemberShareRecord;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
/**
* 会员分成记录
*
......@@ -11,5 +14,5 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2020-11-03 11:12:15
*/
public interface MemberShareRecordMapper extends Mapper<MemberShareRecord> {
List<MemberShareRecord> selectList(Map<String, Object> params);
}
......@@ -107,6 +107,7 @@ public class AppUserCollectController extends CommonBaseController {
@RequestMapping(value = "/collect/remove",method = RequestMethod.POST)
@ApiModelProperty("取消收藏")
public ObjectRestResponse remove(@RequestBody AppUserCollectDTO collectDTO)throws Exception {
collectDTO.setStatus(1);
return collectBiz.upUserCollect(collectDTO);
}
......
......@@ -133,4 +133,18 @@ public class BaseUserMemberController extends BaseController<BaseUserMemberBiz,
baseBiz.UpdateUserMember(userMemberDTO);
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
@RequestMapping(value = "/app/unauth/level/list", method = RequestMethod.GET)
public ObjectRestResponse<List<BaseUserMemberLevel>>list(BaseUserMemberLevel baseUserMemberLevel) throws Exception {
baseUserMemberLevel.setIsShow(1);
return ObjectRestResponse.succ(memberBiz.getList(baseUserMemberLevel));
}
......
package com.github.wxiaoqi.security.admin.rest.admin;
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.common.msg.ObjectRestResponse;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
@RestController
@RequestMapping("memberShareRecord")
@Slf4j
public class MemberShareRecordController extends BaseController<MemberShareRecordBiz, MemberShareRecord> {
/**
* 获取用户分成明细
* @param userId
* @param memberShareRecordDto
* @return
*/
@GetMapping(value = "getAllRecord")
public ObjectRestResponse getAllRecord(Long userId) {
return baseBiz.getAllRecord(userId);
public ObjectRestResponse getAllRecord(MemberShareRecordDto memberShareRecordDto) {
return baseBiz.getAllRecord(memberShareRecordDto);
}
/**
......@@ -29,4 +34,16 @@ public class MemberShareRecordController extends BaseController<MemberShareRecor
public void 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 @@
select * from base_user_member where user_id=#{userId} and is_del=0 limit 1
</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"
resultType="com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO">
......
......@@ -4,7 +4,7 @@
<mapper namespace="com.github.wxiaoqi.security.admin.mapper.MemberShareCountRecordMapper">
<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
<foreach collection="list" item="emp" index="index" separator=",">
(
......@@ -14,7 +14,9 @@
#{emp.amount,jdbcType=DECIMAL},
#{emp.crtTime,jdbcType=TIMESTAMP},
#{emp.updTime,jdbcType=TIMESTAMP},
#{emp.memberLevel,jdbcType=INTEGER}
#{emp.memberLevel,jdbcType=INTEGER},
#{emp.issue,jdbcType=INTEGER},
#{emp.countDay,jdbcType=VARCHAR}
)
</foreach>
ON DUPLICATE KEY UPDATE
......@@ -24,16 +26,22 @@
amount = values(amount),
crt_time = values(crt_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>
<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 base_user_member_level bml on bml.level = msr.member_level
<where>
<if test="userId != null">
and msr.user_id = #{userId}
</if>
<if test="name != null">
and aud.realname like concat('%', #{name}, '%')
</if>
<if test="startDate != null and startDate != ''">
and msr.count_month between #{startDate} and #{endDate}
</if>
......@@ -41,7 +49,7 @@
and msr.count_month = #{countMonth}
</if>
</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
</select>
......
......@@ -3,22 +3,12 @@
<mapper namespace="com.github.wxiaoqi.security.admin.mapper.MemberShareRecordMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.github.wxiaoqi.security.admin.entity.MemberShareRecord" id="memberShareRecordMap">
<result property="id" column="id"/>
<result property="orderNo" column="order_no"/>
<result property="memberIds" column="member_ids"/>
<result property="payTime" column="pay_time"/>
<result property="memberLevel" column="member_level"/>
<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>
<select id="selectList" resultType="com.github.wxiaoqi.security.admin.entity.MemberShareRecord">
select msr.*,bml.name as levelName,aud.realname as realName from member_share_record msr
LEFT JOIN base_user_member_level bml on bml.id = msr.member_level_id
LEFT JOIN app_user_detail aud on aud.userid = msr.user_id
where msr.member_ids like concat('%', #{userId}, '%')
order by msr.pay_time DESC
</select>
</mapper>
\ No newline at end of file
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.feign.dto.AppUserDTO;
import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderItem;
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.tour.entity.TourGood;
import com.xxfc.platform.tour.entity.TourUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -41,4 +36,6 @@ public class MemberBO extends OrderMemberDetail implements OrderDetail {
* 订单子项
*/
List<OrderItem> items;
}
......@@ -3,6 +3,7 @@ package com.xxfc.platform.order.pojo.order.add;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
@Data
......@@ -21,4 +22,18 @@ public class AddMemberDTO extends AddOrderCommonDTO{
@ApiModelProperty(value = "优惠卷卷号")
private String tickerNos;
/**
* 用户手机号
*/
private String phone;
/**
* 下单时间
*/
private Long payTime;
/**
* 订单金额
*/
private BigDecimal orderAmount;
}
......@@ -756,7 +756,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
//发送消息队列到admin,进行分成计算
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_MEMBER_SHARE, JSONUtil.toJsonStr(omd));
} else if (OrderTypeEnum.RENT_VEHICLE.getCode().equals(baseOrder.getType())) {
updateOrder.setStatus(OrderStatusEnum.ORDER_TOSTART.getCode());
orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail() {{
......
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.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;
*/
@Service
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;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
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.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail;
......@@ -61,6 +60,14 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,
//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