Commit f89029fd authored by codezwjava's avatar codezwjava

订单测试11

parent ba588d9d
......@@ -170,4 +170,13 @@ public interface UsersMapper extends BaseMapper<User> {
* @return
*/
User InvitedCode2(@Param("inviteCode") String inviteCode);
/**
* 根据用户的推荐人邀请码 查询上级用户的id
* @param beInvitedCode
* @return
*/
String getUserByIntiveCode(String beInvitedCode);
String getUserIdByIntiveCode(String outerUserId);
}
......@@ -3,7 +3,7 @@
<mapper namespace="cn.wisenergy.mapper.OrderMapper">
<resultMap id="OrderMap" type="cn.wisenergy.model.app.OrderInfo">
<id column="id" property="id"/>
<result column="buyer_id" property="buyerId"/>
<result column="user_id" property="userId"/>
<result column="item_id" property="itemId"/>
<result column="pay_type" property="payType"/>
<result column="youzan_update_time" property="youzanUpdateTime"/>
......@@ -34,18 +34,18 @@
</sql>
<sql id="cols_exclude_id">
buyer_id,item_id,pay_type,youzan_update_time,tid,created,team_type,pay_time,pay_type_str,close_type,refund_state,
user_id,item_id,pay_type,youzan_update_time,tid,created,team_type,pay_time,pay_type_str,close_type,refund_state,
success_time,payment,rebate_status,level_status,month_order_status,monthly_task_status,create_time,update_time
</sql>
<sql id="vals">
#{buyerId},#{itemId},#{payType},#{youzanUpdateTime}, #{tid},#{created},#{teamType},#{payTime},#{payTypeStr},
#{userId},#{itemId},#{payType},#{youzanUpdateTime}, #{tid},#{created},#{teamType},#{payTime},#{payTypeStr},
#{closeType},#{refundState},#{successTime},#{payment},
#{rebateStatus},#{levelStatus},#{monthOrderStatus},#{monthlyTaskStatus},now(),now()
</sql>
<sql id="updateCondition">
<if test="buyerId != null">buyer_id = #{buyerId},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="itemId != null">item_id =#{itemId},</if>
<if test="payType != null">pay_type =#{payType},</if>
<if test="youzanUpdateTime != null">youzan_update_time =#{youzanUpdateTime},</if>
......@@ -67,7 +67,7 @@
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="buyerId != null">and buyer_id = #{buyerId}</if>
<if test="userId != null">and user_id = #{userId}</if>
<if test="itemId != null">and item_id =#{itemId}</if>
<if test="payType != null">and pay_type =#{payType}</if>
<if test="youzanUpdateTime != null">youzan_update_time =#{youzanUpdateTime}</if>
......@@ -123,7 +123,7 @@
from
<include refid="table"/>
<where>
buyer_id=#{userid}
user_id=#{userid}
</where>
</select>
......
......@@ -352,5 +352,20 @@
</where>
</select>
<select id="getUserByIntiveCode" parameterType="string" resultType="string">
select user_id
from
<include refid="table"/>
where
invite_code = #{beInvitedCode}
</select>
<select id="getUserIdByIntiveCode" resultType="string" parameterType="string">
select user_id
from
<include refid="table"/>
where
invite_code = #{outerUserId}
</select>
</mapper>
......@@ -28,8 +28,8 @@ public class OrderInfo {
/**
* 买家id
*/
@ApiModelProperty(name = "buyerId", value = "买家id")
private String buyerId;
@ApiModelProperty(name = "userId", value = "用户id")
private String userId;
/**
* 商品id
......
......@@ -86,7 +86,7 @@ public class AccountManager {
//4、添加交易流水记录
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(orderInfo.getBuyerId());
tradeRecord.setUserId(orderInfo.getUserId());
tradeRecord.setTradeType(TradeRecordEnum.ORDER_REBATE.getCode());
tradeRecord.setTradeNo(orderInfo.getTid());
tradeRecord.setStatus(TradeStatusEnum.ALREADY_SETTLE_ACCOUNTS.getCode());
......
......@@ -82,7 +82,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, AccountInfo>
long time = System.currentTimeMillis();
if (RebateStatusEnum.NO_REBATE.getCode().equals(orderInfo.getRebateStatus()) && successTime <= time) {
//获取用户信息
User user = usersMapper.getByUserId(orderInfo.getBuyerId());
User user = usersMapper.getByUserId(orderInfo.getUserId());
if (null == user) {
continue;
}
......@@ -132,13 +132,13 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, AccountInfo>
//统计出出每个用户当月订单成交额 key:userId value:用户当月订单成交额
Map<String, Double> map = new HashMap<>();
for (OrderInfo orderInfo : list) {
String userId = orderInfo.getBuyerId();
String userId = orderInfo.getUserId();
double payMoney = orderInfo.getPayment().doubleValue();
//key 存在 累加订单金额 到 value
if (map.containsKey(userId)) {
double money = payMoney + map.get(orderInfo.getBuyerId());
map.put(orderInfo.getBuyerId(), money);
double money = payMoney + map.get(orderInfo.getUserId());
map.put(orderInfo.getUserId(), money);
} else {
//key 不存在,加入集合
map.put(userId, payMoney);
......
......@@ -90,13 +90,13 @@ public class MonthTaskServiceImpl implements MonthTaskService {
//统计出出每个用户上月订单成交额 key:userId value:用户上月订单成交额
Map<String, Double> map = new HashMap<>();
for (OrderInfo orderInfo : list) {
String userId = orderInfo.getBuyerId();
String userId = orderInfo.getUserId();
double payMoney = orderInfo.getPayment().doubleValue();
//key 存在 累加订单金额 到 value
if (map.containsKey(userId)) {
double money = payMoney + map.get(orderInfo.getBuyerId());
map.put(orderInfo.getBuyerId(), money);
double money = payMoney + map.get(orderInfo.getUserId());
map.put(orderInfo.getUserId(), money);
} else {
//key 不存在,加入集合
map.put(userId, payMoney);
......
package cn.wisenergy.service.app.impl;
import cn.wisenergy.mapper.OrderMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.OrderInfo;
import cn.wisenergy.service.app.OrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -38,6 +39,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
@Autowired
private OrderMapper orderMapper;
@Autowired
private UsersMapper usersMapper;
//有赞客户端
DefaultYZClient yzClient = new DefaultYZClient();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......@@ -98,8 +102,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
}
orderInfo.setItemId(itemList.toString());
//有赞的outer_user_id
orderInfo.setBuyerId(buyerInfo.getOuterUserId());
//有赞的outer_user_id 与有赞的对应关系是邀请码 邀请码唯一
String outerUserId = buyerInfo.getOuterUserId();
String userId = usersMapper.getUserIdByIntiveCode(outerUserId);
orderInfo.setUserId(userId);
//支付方式
orderInfo.setPayType(youzanOrderInfo.getPayType().toString());
//有赞update_time
......
......@@ -59,7 +59,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
log.info("------------------------用户升级开始----------------------------------");
List<OrderInfo> ordersByLevelStatus = orderMapper.getByLevelStatus(0);
for (OrderInfo orderInfo : ordersByLevelStatus) {
String buyerId = orderInfo.getBuyerId();
String buyerId = orderInfo.getUserId();
userLevelUpgrade(buyerId);
//当前订单升级状态置为1
orderInfo.setLevelStatus(1);
......
......@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.yaml.snakeyaml.events.Event;
import java.math.BigDecimal;
import java.sql.Timestamp;
......@@ -106,6 +107,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
}
@Override
@Transactional
public Map userByZx(String userId, String beInvitedCode) {
//查询数据库,看看是否存在该用户
User byUserId = usersMapper.getByUserId(userId);
......@@ -130,21 +132,19 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
*/
if ("".equals(beInvitedCode) || null==beInvitedCode) {
//插入用户手机号与推荐人邀请码user_id,invite_code,be_invited_code,user_level,create_time,update_time
String inviteCode="0";
beInvitedCode = "1";
int userLevel=0;
usersMapper.insertbyint(userId, inviteCode,beInvitedCode,userLevel);
registUserMoudleInit(userId);
} else if ("1".equals(beInvitedCode)) {
//用户的被邀请码,查询到推荐人用户,根据推荐人用户的邀请码查询/修改
User user = usersMapper.getByBeInvitedCode(beInvitedCode);
// 邀请人的被邀请码
//邀请人的被邀请码
String byqm = user.getBeInvitedCode();
// 通过被邀请码,比对本人邀请码查询本人id
//通过被邀请码,比对本人邀请码查询本人id
String idb = String.valueOf(usersMapper.beInvitedCode1(beInvitedCode));
//判断是否存在被邀请人的用户
......@@ -177,13 +177,11 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
String inviteCode = ShareCodeUtil.idToCode(yqm);
Integer userLevel = 0;
//根据用户手机号,更新用户信息
// usersMapper.edit1(userLevel,inviteCode,userId);
//usersMapper.edit1(userLevel,inviteCode,userId);
User byUserId1 = usersMapper.getByUserId(userId);
byUserId1.setInviteCode(inviteCode);
byUserId1.setUserLevel(0);
usersMapper.updateById(byUserId1);
String BYQM = String.valueOf(usersMapper.BYQMById(userId));
if ("1".equals(BYQM)) {
......@@ -192,35 +190,21 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
map.put("msg", "注册成功!");
return map;
}
//插入直推用户表
RecommendUser recommendUser = new RecommendUser();
recommendUser.setUserId(userId);
recommendUserMapper.insert(recommendUser);
//插入用户团队表
TeamUserInfo teamUserInfo = new TeamUserInfo();
teamUserInfo.setUserId(userId);
teamUserInfoMapper.insert(teamUserInfo);
//根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID=userid
String userid = String.valueOf(usersMapper.inviteCodeBeInvitedCode(Integer.valueOf(beInvitedCode)));
//根据用户推荐人的userid,查询数据库,看推荐人用户是否存在
Integer a = recommendUserMapper.zcByUserId(userid);
//判断从数据库中是否存在该用户 如果存在,普通用户+1
if (null != a && 0 != a) {
Integer normalUserNum = recommendUser.getNormalUserNum();
//更新直推表用户中的普通用户字段+1
recommendUser.setNormalUserNum(normalUserNum + 1);
//更新直推表用户数据
recommendUserMapper.updateById(recommendUser);
} else {
Map map = new HashMap();
R.error(1, "注册失败!验证码无效,请重新填写!");
map.put("code:", 1);
map.put("msg:", "注册失败!验证码无效,请重新填写!");
return map;
//根据当前推荐人的邀请码查询 上级用户id
String userIdByIntive = usersMapper.getUserByIntiveCode(beInvitedCode);
if (null == userIdByIntive){
R.error(1,"用户推荐人邀请码不存在,请填写正确的邀请码");
}else{
//上级用户的直推信息 普通用户数量+1
RecommendUser recommendUserMapperByUserId = recommendUserMapper.getByUserId(userIdByIntive);
Integer normalUserNum = recommendUserMapperByUserId.getNormalUserNum();
recommendUserMapperByUserId.setNormalUserNum(normalUserNum+1);
recommendUserMapper.updateById(recommendUserMapperByUserId);
}
//递归向上修改团队用户信息表
teamgg(beInvitedCode);
teamUserInfo(beInvitedCode);
Map map = new HashMap();
R.ok("直推表普通用户数量+1成功!", 0);
map.put("code:", 0);
......@@ -314,28 +298,26 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
return R.ok(0, true);
}
//私有构造方法-传入被邀请码
private R teamgg(String beInvitedCode) {
//用户的被邀请码,查询到推荐人用户,根据推荐人用户的邀请码查询/修改
User user = usersMapper.getByBeInvitedCode(beInvitedCode);
//根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID=userid
String userid = String.valueOf(usersMapper.inviteCodeBeInvitedCode(Integer.valueOf(beInvitedCode)));
//根据用户推荐人的userid,查询数据库,看推荐人用户是否存在
Integer c = teamUserInfoMapper.czByUserId(userid);
if (null != c && 0 != c) {
TeamUserInfo teamUserInfo = new TeamUserInfo();
int normalUserNum1 = teamUserInfo.getNormalUserNum();
//更新团队表用户中的普通用户字段+1
teamUserInfo.setNormalUserNum(normalUserNum1 + 1);
//更新团队表用户数据
teamUserInfoMapper.updateById(teamUserInfo);
} else {
return R.error(0, "验证码无效");
//团队用户数据维护
public void teamUserInfo(String beInvitedCode) {
//根据邀请码查询上级用户的id
String teamUserId = usersMapper.getUserByIntiveCode(beInvitedCode);
//查询上级用户的团队信息表
TeamUserInfo teamUserInfoByUserId = teamUserInfoMapper.getByUserId(teamUserId);
//上级用户团队信息普通用户数量+1
Integer normalUserNum = teamUserInfoByUserId.getNormalUserNum();
teamUserInfoByUserId.setNormalUserNum(normalUserNum + 1);
teamUserInfoMapper.updateById(teamUserInfoByUserId);
//根据上级用户id查询上级用户的邀请码
User teamUser = usersMapper.getByUserId(teamUserId);
String teamUserBeInvitedCode = teamUser.getBeInvitedCode();
//递归实现上级所有的用户普通数量 + 1
//若团队用户的被邀请码为 1 时 则没有上级用户用户
if ("1".equals(teamUserBeInvitedCode)){
teamUserInfo(teamUserBeInvitedCode);
}else {
return;
}
beInvitedCode = user.getBeInvitedCode();
//递归向上修改团队用户信息表
teamgg(beInvitedCode);
return R.ok("团队表普通用户数量+1成功!", 0);
}
/**
* 用户登出
......
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