|
|
@@ -16,18 +16,20 @@ import com.cyksj.common.util.Codec;
|
|
|
import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.common.util.StringUtil;
|
|
|
import com.cyksj.dto.UserSharedDto;
|
|
|
+import com.cyksj.mapper.GroupsRelationMapper;
|
|
|
+import com.cyksj.mapper.OrderDonMapper;
|
|
|
import com.cyksj.mapper.PhoneCodeMapper;
|
|
|
import com.cyksj.mapper.UserMapper;
|
|
|
import com.cyksj.mapper.manage.distribute.UserDistributeSharedMapper;
|
|
|
import com.cyksj.mapper.market.UserBindDetailMapper;
|
|
|
import com.cyksj.model.dto.OrderDonPostDataDto;
|
|
|
import com.cyksj.model.dto.UserWhoami;
|
|
|
-import com.cyksj.model.entity.PhoneCode;
|
|
|
-import com.cyksj.model.entity.User;
|
|
|
-import com.cyksj.model.entity.UserBindDetail;
|
|
|
-import com.cyksj.model.entity.UserDistributeShared;
|
|
|
+import com.cyksj.model.entity.*;
|
|
|
+import com.cyksj.model.request.ExchangeCodeTicket;
|
|
|
import com.cyksj.model.request.LoginReq;
|
|
|
+import com.cyksj.model.request.OrderBindCommonReq;
|
|
|
import com.cyksj.redis.RedisService;
|
|
|
+import com.cyksj.service.exchange.ExchangeCodeService;
|
|
|
import com.cyksj.service.user.UserService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -59,6 +61,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
|
|
|
private final UserDistributeSharedMapper userDistributeSharedMapper;
|
|
|
|
|
|
+ private final OrderDonMapper orderDonMapper;
|
|
|
+
|
|
|
+ private final ExchangeCodeService exchangeCodeService;
|
|
|
+
|
|
|
+ private final GroupsRelationMapper relationMapper;
|
|
|
+
|
|
|
private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
|
|
|
|
|
|
@Override
|
|
|
@@ -289,4 +297,28 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
return distributeShared.getSharedId();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void bindUserOrder(OrderBindCommonReq orderBindCommonReq) {
|
|
|
+ String orderNo = orderBindCommonReq.getOrderNo();
|
|
|
+ OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
+ .eq(OrderDon::getOrderNo, orderNo)
|
|
|
+ .eq(OrderDon::getUserId, 0)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (orderDon == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ orderDon.setUserId(orderBindCommonReq.getUserId());
|
|
|
+ GroupsRelation relation = relationMapper.selectOne(Wrappers.lambdaQuery(GroupsRelation.class)
|
|
|
+ .eq(GroupsRelation::getId, orderDon.getRelationId())
|
|
|
+ .eq(GroupsRelation::getStatus, GroupsRelation.Status.validity)
|
|
|
+ .last("limit 1"));
|
|
|
+ //免登录兑换流程未成功 继续兑换
|
|
|
+ if (relation == null) {
|
|
|
+ String exCode = orderDon.getExCode();
|
|
|
+ ExchangeCodeTicket exchangeCodeTicket = new ExchangeCodeTicket();
|
|
|
+ exchangeCodeTicket.setCode(exCode);
|
|
|
+ exchangeCodeService.getTicketByExchangeCode(exchangeCodeTicket, orderBindCommonReq.getUserId());
|
|
|
+ orderDonMapper.updateById(orderDon);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|