Преглед на файлове

镜像车队配置账号

zoujiajian преди 2 години
родител
ревизия
e62324815b

+ 6 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -292,6 +292,12 @@ public interface Constant {
 	 */
 	String GPT_CAR_ONLY_ACCOUNT = "gptcaroo21213";
 
+
+	/**
+	 * mj 镜像车队唯一账号
+	 */
+	String MJ_MIRROR_ONLY_ACCOUNT = "mjmirror1213";
+
 	/**
 	 * 免登录渠道
 	 */

+ 53 - 13
netflix-service/src/main/java/com/cyksj/service/groups/impl/GroupFunServiceImpl.java

@@ -1,8 +1,11 @@
 package com.cyksj.service.groups.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
+import com.cyksj.mapper.AccountMapper;
 import com.cyksj.mapper.GroupsMapper;
 import com.cyksj.mapper.GroupsRelationMapper;
+import com.cyksj.model.entity.Account;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.GroupsRelation;
 import com.cyksj.model.entity.GroupsTrips;
@@ -12,6 +15,7 @@ import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 
 /*
@@ -31,6 +35,8 @@ public class GroupFunServiceImpl implements GroupsFuncService {
 
 	private final GroupsRelationMapper groupsRelationMapper;
 
+	private final AccountMapper accountMapper;
+
 	@Override
 	public GroupsRelation createNewGroupsTrips(GoodsDonSku sku) {
 		//新增车次
@@ -62,19 +68,8 @@ public class GroupFunServiceImpl implements GroupsFuncService {
 		if (sku.getId() == 178l || sku.getId() == 423l) {
 			availableParkingNum = 4;
 		}
-		//如果是GPT镜像车队
-		//设置唯一账号
-		if (sku.getIsCar()) {
-			AccountView accountView = beanSearcher.searchFirst(AccountView.class, MapUtils.builder()
-					.field(AccountView::getGoodsId, sku.getGoodsId())
-					.field(AccountView::getAccount, Constant.GPT_CAR_ONLY_ACCOUNT).
-					onlySelect(AccountView::getId).build());
-			if (accountView != null) {
-				groups.setAccountId(accountView.getId());
-				groups.setStatus(GroupsTrips.Status.validity);
-				groups.setRemark("已设置镜像车队唯一账号");
-			}
-		}
+		//如果是镜像车队
+		insertUnifyAccount(sku, groups);
 		groups.setAvailableParkingNum(availableParkingNum);
 
 		groupsMapper.insert(groups);
@@ -94,4 +89,49 @@ public class GroupFunServiceImpl implements GroupsFuncService {
 		}
 		return relation;
 	}
+
+	/**
+	 * 设置镜像统一账号
+	 */
+	public void insertUnifyAccount(GoodsDonSku sku, GroupsTrips groups) {
+		//如果是GPT、MJ镜像车队
+		//设置唯一账号
+		Long goodsId = sku.getGoodsId();
+		Boolean isMirror = sku.getIsMirror();
+		Boolean isCar = sku.getIsCar();
+		String account = null;
+		if ((goodsId == 18 && isCar) || (goodsId == 26 && isMirror)) {
+			if (goodsId == 18) {
+				account = Constant.GPT_CAR_ONLY_ACCOUNT;
+			}
+			if (goodsId == 26) {
+				account = Constant.MJ_MIRROR_ONLY_ACCOUNT;
+			}
+			AccountView accountView = beanSearcher.searchFirst(AccountView.class, MapUtils.builder()
+					.field(AccountView::getGoodsId, goodsId)
+					.field(AccountView::getAccount, account).
+					onlySelect(AccountView::getId).build());
+			Long accountId;
+			if (accountView == null) {
+				try {
+					Account insert = new Account();
+					insert.setAccount(account);
+					insert.setPassword(account);
+					insert.setGoodsId(goodsId);
+					accountMapper.insert(insert);
+					accountId = insert.getId();
+				} catch (DuplicateKeyException e) {
+					accountId = accountMapper.selectOne(Wrappers.lambdaQuery(Account.class)
+							.eq(Account::getGoodsId, goodsId)
+							.eq(Account::getAccount, account)
+							.last("limit 1")).getId();
+				}
+			} else {
+				accountId = accountView.getId();
+			}
+			groups.setAccountId(accountId);
+			groups.setStatus(GroupsTrips.Status.validity);
+			groups.setRemark("已设置镜像车队唯一账号");
+		}
+	}
 }

+ 1 - 2
netflix-service/src/main/java/com/cyksj/service/midjourney/impl/MidJourneyAccountServiceImpl.java

@@ -18,7 +18,6 @@ import com.cyksj.service.midjourney.MidjourneyAccountService;
 import com.cyksj.service.user.UserBindRelationService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -236,7 +235,7 @@ public class MidJourneyAccountServiceImpl extends ServiceImpl<MidjourneyAccountM
         midjourneyUser.setRelationId(groupsRelation.getId());
         midjourneyUser.setUserToken(UUID.randomUUID().toString());
         midjourneyUser.setMjFastNum(goodsDonSku.getMjFastNum());
-        midjourneyUser.setMjRelaxNum(goodsDonSku.getMjRelaxNum() == 0 ? null : goodsDonSku.getMjRelaxNum());
+        midjourneyUser.setMjRelaxNum((goodsDonSku.getMjRelaxNum() == null || goodsDonSku.getMjRelaxNum() == 0) ? null : goodsDonSku.getMjRelaxNum());
         midjourneyUserMapper.insert(midjourneyUser);
         redisService.set(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(), midjourneyUser.getMjFastNum(),RedisService.key.MIDJOURNEY_FAST_LIMIT.getTimeout());
         redisService.set(RedisService.key.MIDJOURNEY_USER.getName() + midjourneyUser.getUserToken(), midjourneyUser,RedisService.key.MIDJOURNEY_USER.getTimeout());