zoujiajian 1 vuosi sitten
vanhempi
sitoutus
eaeeb55cc6

+ 10 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/UserWhoami.java

@@ -41,4 +41,14 @@ public class UserWhoami implements Serializable {
     private String bindPhone;
 
     private String bindEmail;
+
+    /**
+     * 是否添加过企业微信
+     */
+    private Boolean isJoinWx = false;
+
+    /**
+     * 是否是未下单的用户
+     */
+    private Boolean isPay;
 }

+ 2 - 3
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpUserFrontServiceImpl.java

@@ -75,10 +75,9 @@ public class CorpUserFrontServiceImpl implements CorpUserFrontService {
 			CorpUserFollowView corpUserFollowView = beanSearcher.searchFirst(CorpUserFollowView.class, MapUtils.builder()
 					.field(CorpUserFollowView::getUnionId, unionId)
 					.field(CorpUserFollowView::getStatus, 1).build());
-			if (corpUserFollowView == null) {
-				userInfoResp.setIsJoinWx(false);
+			if (corpUserFollowView != null) {
+				userInfoResp.setIsJoinWx(true);
 			}
-			userInfoResp.setIsJoinWx(true);
 		}
 		//是否下过单
 		if (type == 0 || type == 2) {

+ 31 - 1
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -28,6 +28,7 @@ import com.cyksj.mapper.station.CollegeStudentStationUserRelateMapper;
 import com.cyksj.model.dto.*;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.request.LoginReq;
+import com.cyksj.model.views.CorpUserFollowView;
 import com.cyksj.model.views.RenewalView;
 import com.cyksj.model.views.UserCertInfoView;
 import com.cyksj.model.views.UserTicketView;
@@ -135,6 +136,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
 	private final UserStudentCertRecordMapper userStudentCertRecordMapper;
 
+	private final OrderDonMapper orderDonMapper;
+
 	private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
 
 	@Override
@@ -265,7 +268,34 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		    type = 2;
 	    }
 	    userWhoami.setType(type);
-
+		//是否加过企业微信
+		String unionId = user.getUnionid();
+		if (StrUtil.isEmpty(unionId)) {
+			//获取绑定的微信用户id
+			UserBindDetail bindDetail = userBindDetailMapper.selectOne(Wrappers.lambdaQuery(UserBindDetail.class)
+					.and(qr -> qr.eq(UserBindDetail::getPhoneUserId, user.getId()).or().eq(UserBindDetail::getEmailUserId, user.getId()))
+					.last("limit 1"));
+			if (bindDetail != null && bindDetail.getUserId() != null) {
+				User wxUser = userMapper.selectById(bindDetail.getUserId());
+				if (wxUser != null) {
+					unionId = wxUser.getUnionid();
+				}
+			}
+		}
+		if (StrUtil.isNotBlank(unionId)) {
+			CorpUserFollowView corpUserFollowView = beanSearcher.searchFirst(CorpUserFollowView.class, MapUtils.builder()
+					.field(CorpUserFollowView::getUnionId, unionId)
+					.field(CorpUserFollowView::getStatus, 1).build());
+			if (corpUserFollowView != null) {
+				userWhoami.setIsJoinWx(true);
+			}
+		}
+		//是否下过单
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, user);
+		Integer selectCount = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
+				.in(OrderDon::getUserId, userIdList)
+				.notIn(OrderDon::getStatus, Constant.noOrderStatus));
+		userWhoami.setIsPay(selectCount > 0);
 	    return userWhoami;
     }