Przeglądaj źródła

下架用过的POE会员账号;用户直连token规格车票

zoujiajian 3 lat temu
rodzic
commit
0ec5d95919

+ 1 - 0
netflix-service/src/main/java/com/cyksj/redis/RedisService.java

@@ -625,6 +625,7 @@ public class RedisService {
         CORP_DYNAMIC_RULE_TAG_KEY("corp_dynamic_rule_tag_key:", "企业微信动态标签key", 60 * 60L),
         ORDER_DON_POST_DATA_USER_KEY("order_don_post_data_user_key:", "用户订单回传缓存key", -1L),
         ABROAD_SUCCESS_URL("abroad:pay:success_url:","海外支付成功页",60 * 60 * 24L),
+        CHAT_GPT_TOKEN_KEY("chat_gpt_token_key:", "chatGPT直连token key", 60 * 10l),
         ;
 
         private String name;

+ 5 - 1
netflix-service/src/main/java/com/cyksj/service/chatgpt/impl/ChatGptAuthServiceImpl.java

@@ -13,7 +13,6 @@ import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.GoogleGenerator;
 import com.cyksj.common.util.IoKit;
 import com.cyksj.dto.RedisKey;
-import com.cyksj.dto.Result;
 import com.cyksj.mapper.AccountMapper;
 import com.cyksj.model.entity.Account;
 import com.cyksj.redis.RedisService;
@@ -124,12 +123,17 @@ public class ChatGptAuthServiceImpl implements ChatGptAuthService {
             throw BusinessRuntimeException.getInstance("账号不存在.");
         }
         if(StringUtils.isBlank(account.getGptRefreshToken())){
+            if (!redisService.setNx(RedisService.key.CHAT_GPT_TOKEN_KEY.getName() + username, username, RedisService.key.CHAT_GPT_TOKEN_KEY.getTimeout())) {
+                throw BusinessRuntimeException.getInstance("正在获取直连token中...");
+            }
             String refreshToken = getRefreshToken(account);
             if(StringUtils.isBlank(refreshToken)){
+                redisService.del(RedisService.key.CHAT_GPT_TOKEN_KEY.getName() + username);
                 throw BusinessRuntimeException.getInstance("该账号登录异常.");
             }
             account.setGptRefreshToken(refreshToken);
             accountMapper.updateById(account);
+            redisService.del(RedisService.key.CHAT_GPT_TOKEN_KEY.getName() + username);
             return redisService.getStr(RedisKey.CHATGPT_ACCESS_TOKEN + account.getAccount());
         }
         String accessToken = redisService.getStr(RedisKey.CHATGPT_ACCESS_TOKEN + username);

+ 13 - 0
netflix-service/src/main/java/com/cyksj/service/mange/group/CmsGroupServiceImpl.java

@@ -22,6 +22,7 @@ import com.cyksj.redis.RedisService;
 import com.cyksj.service.mange.CmsGroupService;
 import com.cyksj.service.sms.SmsService;
 import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.param.Operator;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -215,6 +216,18 @@ public class CmsGroupServiceImpl extends ServiceImpl<GroupsMapper,GroupsTrips> i
             }
         }
        groupsTrips.setStatus(GroupsTrips.Status.validity);
+        GoodsDonSku sku = skuMapper.selectById(groupsTrips.getSkuId());
+        //下架上过车的POE 账号
+        if (sku.getGoodsId().equals(35l)) {
+            Number number = beanSearcher.searchCount(GroupsRelation.class, MapUtils.builder()
+                    .field(GroupsRelation::getGroupsId, groupsTrips.getId())
+                    .field(GroupsRelation::getUserId, 0).op(Operator.NotEqual)
+                    .field(GroupsRelation::getStatus, GroupsRelation.Status.validity.name())
+                    .build());
+            if (number.intValue() > 0) {
+                groupsTrips.setStatus(GroupsTrips.Status.down);
+            }
+        }
        updateById(groupsTrips);
 
     }

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

@@ -1165,6 +1165,13 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 					log.info("车位groupsId:{}未发车,修改订单号orderNo:{}订单为已付款状态:{}", groupsTrips.getId(), order.getOrderNo());
 					order.setStatus(OrderDon.Status.hasPayment);
 				}
+				//下架POE会员车队
+				if (order.getGoodsId() != null && order.getGoodsId().equals(35l)) {
+					if (groupsTrips.getAccountId() != null && groupsTrips.getStatus() == GroupsTrips.Status.validity) {
+						groupsTrips.setStatus(GroupsTrips.Status.down);
+						groupsMapper.updateById(groupsTrips);
+					}
+				}
 				//TODO 如未发车逻辑
 				groupsRelationMapper.updateById(relation);
 			}

+ 11 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -12,6 +12,7 @@ import com.cyksj.mapper.GroupsRelationMapper;
 import com.cyksj.mapper.UserMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.views.*;
+import com.cyksj.service.chatgpt.ChatGptAuthService;
 import com.cyksj.service.mange.coupon.CouponCommonService;
 import com.cyksj.service.relation.GroupRelationFrontService;
 import com.cyksj.service.user.UserService;
@@ -46,6 +47,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final GroupsRelationMapper groupsRelationMapper;
 
+	private final ChatGptAuthService chatGptAuthService;
+
 	@Override
 	public List<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize) {
 		User u = userMapper.selectById(userId);
@@ -71,6 +74,14 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			}
 			//chatGPT直连
 			if (ticket.getGoodsId().equals(42l)) {
+				if (ticket.getAccount() != null) {
+					String accessToken;
+					try {
+						accessToken = chatGptAuthService.getAccessToken(ticket.getAccount());
+						ticket.setGptRefreshToken(accessToken);
+					} catch (Exception e) {
+					}
+				}
 				ticket.setAccount(null);
 				ticket.setPassword(null);
 			} else {

+ 3 - 0
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -30,6 +30,7 @@ import com.cyksj.model.manage.views.GroupsRelationView;
 import com.cyksj.model.request.OrderPayRequest;
 import com.cyksj.model.views.*;
 import com.cyksj.redis.RedisService;
+import com.cyksj.service.chatgpt.ChatGptAuthService;
 import com.cyksj.service.mange.coupon.CouponCommonService;
 import com.cyksj.service.mange.ticket.TicketAdvertiseConfigClickRecordService;
 import com.cyksj.service.order.OrderDonService;
@@ -95,6 +96,8 @@ public class GroupRelationController {
 
     private final GlobalThreadPoolTaskExecutor THREAD_POOL;
 
+    private final ChatGptAuthService chatGptAuthService;
+
     private final static Sequence SEQUENCE = new Sequence(0);
 
     @RequestMapping("/get/renewal")