소스 검색

cps用户跳转登录

zoujiajian 2 년 전
부모
커밋
e1ffdd00b4

+ 21 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserInfoView.java

@@ -0,0 +1,21 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: UserInfoView
+ * 创建者: JavaZou
+ * 创建时间:2024/4/8 11:40
+ */
+@Getter
+@Setter
+public class UserInfoView {
+	/**
+	 * 头像
+	 */
+	private String img;
+
+	private String nickname;
+}

+ 5 - 0
netflix-service/src/main/java/com/cyksj/config/wxlogin/BaseWxOpenPlatConfig.java

@@ -34,6 +34,11 @@ public class BaseWxOpenPlatConfig {
 
 	private String yhShopLoginUrl;
 
+	/**
+	 * 用户官网跳转cps后台地址
+	 */
+	private String cpsWebRedirectUri;
+
 	/**
 	 * 绑定账号回调接口地址
 	 */

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -2635,7 +2635,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			UserDistributeShared userDistributeShared = userDistributeSharedMapper.selectOne(Wrappers.lambdaQuery(UserDistributeShared.class).eq(UserDistributeShared::getUserId, userId).last("limit 1"));
 			if (userDistributeShared != null) {
 				orderDon.setIsDistribute(true);
-				UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, userDistributeShared.getSharedId()));
+				UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, userDistributeShared.getSharedId()).eq(UserDistribute::getDeleted, 1));
 				if (userDistribute != null) {
 					orderDon.setCpsPopularizeId(userDistributeShared.getDsPopularizeId());
 					//是否特殊渠道设备分销用户

+ 19 - 1
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsBackLoginController.java

@@ -3,6 +3,7 @@ package com.cyksj.web.controller.cps;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Assert;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.constant.Constant;
@@ -26,6 +27,7 @@ import com.cyksj.model.entity.SysConfig;
 import com.cyksj.model.entity.User;
 import com.cyksj.model.entity.UserDistribute;
 import com.cyksj.model.request.LoginReq;
+import com.cyksj.model.views.UserInfoView;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.authorization.AuthorizationService;
 import com.cyksj.service.cps.CpsManageService;
@@ -136,7 +138,7 @@ public class CpsBackLoginController {
 						.orderByAsc(User::getId)
 						.last("limit 1")));
 		if (user == null) throw BusinessRuntimeException.getInstance("用户信息不存在");
-		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, user.getId()).select(UserDistribute::getId).last("limit 1"));
+		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, user.getId()).eq(UserDistribute::getDeleted, 1).select(UserDistribute::getId).last("limit 1"));
 		if (userDistribute == null) throw BusinessRuntimeException.getInstance("只支持渠道分销用户登录");
 		JSONObject res = new JSONObject();
 		StpCpsManageUser.login(user.getId());
@@ -184,4 +186,20 @@ public class CpsBackLoginController {
 		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}
+
+	/**
+	 * 获取cps用户基本信息
+	 */
+	@GetMapping("/get/userInfo")
+	public Result<UserInfoView> getUserInfoView() {
+		long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
+		User user = userMapper.selectById(cpsUserId);
+		Assert.notNull(user, "用户不存在");
+		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, user.getId()).eq(UserDistribute::getDeleted, 1).select(UserDistribute::getId).last("limit 1"));
+		Assert.notNull(userDistribute, "只支持渠道分销用户登录");
+		UserInfoView userInfoView = new UserInfoView();
+		userInfoView.setImg(user.getHeadimgurl());
+		userInfoView.setNickname(user.getNickname());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(userInfoView);
+	}
 }

+ 21 - 1
netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java

@@ -10,6 +10,7 @@ import com.cyksj.common.EnvCommonService;
 import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.ValidatorUtil;
+import com.cyksj.config.wxlogin.WxOpenPlatYHLXLoginConfig;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.GoodsDonMapper;
@@ -28,6 +29,7 @@ import com.cyksj.model.views.*;
 import com.cyksj.service.distribute.DistributeService;
 import com.cyksj.service.pay.TransferFuncService;
 import com.cyksj.service.user.UserService;
+import com.cyksj.web.util.StpCpsManageUser;
 import com.cyksj.web.util.StpUserUtil;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
@@ -84,6 +86,8 @@ public class DistributePopularizeController {
 
 	private final CouponMapper couponMapper;
 
+	private final WxOpenPlatYHLXLoginConfig wxOpenPlatYHLXLoginConfig;
+
 	/**
 	 * 推广订单明细
 	 */
@@ -140,7 +144,7 @@ public class DistributePopularizeController {
 		distributePopularizeView.setGotPoints(user.getPoints());
 		Integer orders = userDistributeMapper.count(userId);
 		distributePopularizeView.setDistributeOrders(orders);
-		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, userId).select(UserDistribute::getId).last("limit 1"));
+		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, userId).eq(UserDistribute::getDeleted, 1).select(UserDistribute::getId).last("limit 1"));
 		if (userDistribute != null) {
 			//是否是固定推广者
 			UserDistributeView userDistributeView = beanSearcher.searchFirst(UserDistributeView.class, MapUtils.builder()
@@ -259,6 +263,7 @@ public class DistributePopularizeController {
 	public Result<Boolean> isGeneralDistribute() {
 		Long userId = StpUserUtil.getLoginIdAsLong();
 		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class)
+				.eq(UserDistribute::getDeleted, 1)
 				.eq(UserDistribute::getUserId, userId));
 		if (userDistribute != null) {
 			return GatewayResponse.SUCCESS.newBuilder().toResult(false);
@@ -309,4 +314,19 @@ public class DistributePopularizeController {
 		distributeService.bindPopularizeCode(userId, code);
 		return GatewayResponse.SUCCESS.newBuilder().toResult("设置成功");
 	}
+
+	/**
+	 * 固定推广登录信息
+	 */
+	@GetMapping("/get/ds/detail")
+	public Result<String> getDistributeDetail() {
+		long userId = StpUserUtil.getLoginIdAsLong();
+		User user = userMapper.selectById(userId);
+		if (user == null) throw BusinessRuntimeException.getInstance("用户信息不存在");
+		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, user.getId()).eq(UserDistribute::getDeleted, 1).select(UserDistribute::getId).last("limit 1"));
+		if (userDistribute == null) throw BusinessRuntimeException.getInstance("只支持渠道分销用户登录");
+		StpCpsManageUser.login(user.getId());
+		String cpsToken = StpCpsManageUser.getTokenValue();
+		return GatewayResponse.SUCCESS.newBuilder().toResult(wxOpenPlatYHLXLoginConfig.getCpsWebRedirectUri() + "?t=" + cpsToken);
+	}
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
netflix-web/src/main/resources/application-dev.yml


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
netflix-web/src/main/resources/application-prd.yml


+ 2 - 1
netflix-web/src/main/resources/application-pre.yml

@@ -138,7 +138,8 @@ wx-login:
   cpsLoginUrl: https://cps.nf.video/yinhe/cps/loginNexte
   yhShopRedirectUri: https://nf.video/8082/api/yhShop/manage/wx/authLogin/baseRedirect
   yhShopLoginUrl: https://shop.liuliangbang.vip/mall/admin/loginNexte
-  baRedirectUrl: https://nf.video/80821/api/applets/market/task/bind/wx/baseRedirect
+  baRedirectUrl: https://nf.video/8082/api/applets/market/task/bind/wx/baseRedirect
+  cpsWebRedirectUri: https://inside.liuliangbang.vip/yinhe/cps/homePage
   remark: 银河录像网页微信登录
 
 wx-shop-login:

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.