Commit f89029fd authored by codezwjava's avatar codezwjava

订单测试11

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