Переглянути джерело

Merge branch 'america_appid'

zoujiajian 3 роки тому
батько
коміт
d53aa526a9

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

@@ -105,4 +105,6 @@ public interface Constant {
 	String CHANGE_GROUPS_TRIPS_ACCOUNT = "您好,您购买的%s,账号已替换,请登陆网站https://nf.video/查看最新账号密码【银河录像局】";
 
 	String ACCOUNT_EXPIRY_MSG_TEMPLATE = "您好,您购买的%s,还有%s到期,请登陆网站https://nf.video/及时续费。【银河录像局】";
+
+	String AMERICA_APPID_SECRET = "1990-01-01 朋友 aaa111 工作 aab112 父母 aac113";
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/Account.java

@@ -60,4 +60,9 @@ public class Account extends BaseEntity {
      * midJourney 登录安全码
      */
     private String verifyCodes;
+
+    /**
+     * 密保
+     */
+    private String secret;
 }

+ 4 - 1
netflix-dao/src/main/java/com/cyksj/model/manage/views/AccountView.java

@@ -19,7 +19,7 @@ import java.util.Date;
         "left join groups_trips gt on gt.account_id = a.id " +
         "left join groups_relation gr on gr.groups_id = gt.id " +
         "left join goods_don_sku gdk on gdk.id = gt.sku_id",
-        groupBy = "a.id,g.id,a.bank_card,g.title,a.account,a.password,a.api_key,a.verify_codes,a.start_time,a.expiry_time,a.amount,a.cn_account,a.us_account,gt.id,a.remark,gdk.id,gdk.spec_val,a.customer_service_id")
+        groupBy = "a.id,g.id,a.bank_card,g.title,a.account,a.password,a.api_key,a.verify_codes,a.start_time,a.expiry_time,a.amount,a.cn_account,a.us_account,gt.id,a.remark,gdk.id,gdk.spec_val,a.customer_service_id,a.secret")
 public class AccountView {
 
     @DbField("a.id")
@@ -70,6 +70,9 @@ public class AccountView {
     @DbField("a.customer_service_id")
     private Long customerServiceId;
 
+    @DbField("a.secret")
+    private String secret;
+
     @DbIgnore
     private String customerServiceName;
 

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -84,6 +84,9 @@ public class RenewalView {
     @DbField("gr.verify_code")
     private String verifyCode;
 
+    @DbField("a.secret")
+    private String secret;
+
     @DbIgnore
     private GoodsDonViews goodsDonViews;
 }

+ 5 - 0
netflix-service/src/main/java/com/cyksj/service/mange/CmsAccountService.java

@@ -45,4 +45,9 @@ public interface CmsAccountService extends IService<Account> {
 	 * 解析ChatGPT独立账号
 	 */
 	void analysisChatGPTAccount(Long goodsId, Long skuId, List<Object> accountList);
+
+	/**
+	 * 解析ChatGpt美区APPID账号
+	 */
+	void analysisAmericaAppidAccount(Long goodsId, Long skuId, List<Object> accountList);
 }

+ 26 - 4
netflix-service/src/main/java/com/cyksj/service/mange/account/CmsAccountServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Jsons;
 import com.cyksj.common.util.StringUtil;
@@ -91,6 +92,7 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 		record.setType(type);
 		accountUpdatePasswordRecordMapper.insert(record);
 	}
+
 	@Override
 	public void recordAutoUpdatePwd(Long accountId, String account, String oldPwd, String newPwd, String operateIp) {
 		AutoUpdateAccountPwdLog log = new AutoUpdateAccountPwdLog();
@@ -129,7 +131,7 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 		int accountSize = accountViews.size();
 
 		if (accountSize < customerSize) {
-			accountViews.forEach(account->{
+			accountViews.forEach(account -> {
 				int randomIndex = RandomUtil.randomInt(customerSize);
 				CmsUserVO customer = customers.get(randomIndex);
 				accountMapper.update(null, Wrappers.lambdaUpdate(Account.class)
@@ -173,16 +175,30 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	public void analysisChatGPTAccount(Long goodsId, Long skuId, List<Object> accountList) {
+		insertAccount(goodsId, skuId, accountList);
+	}
+
+	@Override
+	public void analysisAmericaAppidAccount(Long goodsId, Long skuId, List<Object> accountList) {
+		insertAccount(goodsId, skuId, accountList);
+	}
+
+	/**
+	 *
+	 * @param goodsId
+	 * @param skuId
+	 * @param accountList
+	 */
+	public void insertAccount(Long goodsId, Long skuId, List<Object> accountList) {
 		if (CollUtil.isEmpty(accountList)) {
 			throw BusinessRuntimeException.getInstance("文件数据为空");
 		}
 		accountList.forEach(accountData -> {
 			Map<String, Object> map = Jsons.toMap(accountData);
 			String[] part = map.get("0").toString().split("----");
-			if (part.length > 2) {
+			if (part.length >= 2) {
 				String account = part[0];
 				String password = part[1];
-				String apiKey = part[2];
 				int count = this.count(Wrappers.lambdaQuery(Account.class)
 						.eq(Account::getAccount, account)
 						.eq(Account::getGoodsId, goodsId));
@@ -192,8 +208,14 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 				Account insert = new Account();
 				insert.setAccount(account);
 				insert.setPassword(password);
-				insert.setApiKey(apiKey);
+				if (part.length > 2) {
+					String apiKey = part[2];
+					insert.setApiKey(apiKey);
+				}
 				insert.setGoodsId(goodsId);
+				if (goodsId.equals(31l)) {
+					insert.setSecret(Constant.AMERICA_APPID_SECRET);
+				}
 				this.save(insert);
 
 				//自动配置车队

+ 10 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java

@@ -598,4 +598,14 @@ public class CmsAccountController {
 
 		return GatewayResponse.SUCCESS.newBuilder().toResult(updatePwdDetail);
 	}
+
+	/**
+	 * 批量导入需要美区appid并发车
+	 */
+	@PostMapping("/import/america/appid")
+	public Result<String> importAmericaAppid(@RequestParam(required = false, defaultValue = "31") Long goodsId, @RequestParam(required = false, defaultValue = "214") Long skuId, MultipartFile file) throws IOException {
+		List<Object> accountList = EasyExcel.read(file.getInputStream()).sheet().headRowNumber(0).doReadSync();
+		accountService.analysisAmericaAppidAccount(goodsId, skuId, accountList);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
 }

+ 11 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonController.java

@@ -11,6 +11,7 @@ import com.cyksj.model.entity.GoodsDon;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.manage.request.ReqGoodsSpuInsert;
 import com.cyksj.model.manage.views.GoodsDonViewer;
+import com.cyksj.redis.RedisService;
 import com.cyksj.service.mange.CmsGoodsDonService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
@@ -40,6 +41,8 @@ public class CmsGoodsDonController {
 
     private final CmsGoodsDonService goodsDonService;
 
+    private final RedisService redisService;
+
     @GetMapping("/get")
     public Result<SearchResult<GoodsDon>> get(){
         SearchResult<GoodsDon> search = beanSearcher.search(GoodsDon.class, MapUtils.flatBuilder(request.getParameterMap())
@@ -80,6 +83,8 @@ public class CmsGoodsDonController {
         BeanUtil.copyProperties(spu, goods);
 
         goodsDonService.save(goods);
+        redisService.del(RedisService.key.PC_WEB_CACHE.getName());
+        redisService.del(RedisService.key.H5_WEB_CACHE.getName());
         return GatewayResponse.SUCCESS.newBuilder().toResult(goods.getId());
     }
 
@@ -93,6 +98,8 @@ public class CmsGoodsDonController {
         GoodsDon goods = new GoodsDon();
         BeanUtil.copyProperties(spu,goods);
         goodsDonService.updateById(goods);
+        redisService.del(RedisService.key.PC_WEB_CACHE.getName());
+        redisService.del(RedisService.key.H5_WEB_CACHE.getName());
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 
@@ -107,6 +114,8 @@ public class CmsGoodsDonController {
         }
         goods.setStatus(!goods.getStatus());
         goodsDonService.updateById(goods);
+        redisService.del(RedisService.key.PC_WEB_CACHE.getName());
+        redisService.del(RedisService.key.H5_WEB_CACHE.getName());
         return GatewayResponse.SUCCESS.newBuilder().toResult(goods.getStatus());
     }
 
@@ -120,6 +129,8 @@ public class CmsGoodsDonController {
         }
         goods.setDeleted(false);
         goodsDonService.updateById(goods);
+        redisService.del(RedisService.key.PC_WEB_CACHE.getName());
+        redisService.del(RedisService.key.H5_WEB_CACHE.getName());
         return GatewayResponse.SUCCESS.newBuilder().toResult(id);
     }
 

+ 9 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonSkuController.java

@@ -14,6 +14,7 @@ import com.cyksj.model.manage.request.ReqGoodsSkuInsert;
 import com.cyksj.model.manage.request.ReqGoodsSkuSpec;
 import com.cyksj.model.manage.request.ReqGoodsSpecSingle;
 import com.cyksj.model.views.GoodsDonSkuView;
+import com.cyksj.redis.RedisService;
 import com.cyksj.service.mange.CmsGoodsDonService;
 import com.cyksj.service.mange.CmsGoodsDonSkuService;
 import com.cyksj.service.mange.CmsGoodsDonSpecService;
@@ -51,6 +52,8 @@ public class CmsGoodsDonSkuController {
 
     private final HttpServletRequest request;
 
+    private final RedisService redisService;
+
 
     /**
      * 新增 商品spec & sku
@@ -219,6 +222,8 @@ public class CmsGoodsDonSkuController {
         }
         //给平台更新额外属性
         goodsDonService.updateGoodsSkuPrice(goods.getId(), goods);
+        redisService.del(RedisService.key.PC_WEB_CACHE.getName());
+        redisService.del(RedisService.key.H5_WEB_CACHE.getName());
        return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 
@@ -232,6 +237,8 @@ public class CmsGoodsDonSkuController {
         goodsDonSkuService.saveOrUpdate(sku);
         //给平台更新额外属性
         goodsDonService.updateGoodsSkuPrice(sku.getGoodsId(), null);
+        redisService.del(RedisService.key.PC_WEB_CACHE.getName());
+        redisService.del(RedisService.key.H5_WEB_CACHE.getName());
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 
@@ -247,6 +254,8 @@ public class CmsGoodsDonSkuController {
         //给平台更新额外属性
         GoodsDonSku sku = goodsDonSkuService.getById(skuId);
         goodsDonService.updateGoodsSkuPrice(sku.getGoodsId(), null);
+        redisService.del(RedisService.key.PC_WEB_CACHE.getName());
+        redisService.del(RedisService.key.H5_WEB_CACHE.getName());
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }