zwhui 1 рік тому
батько
коміт
cebf8ce531

+ 4 - 0
netflix-dao/src/main/java/com/cyksj/mapper/UpgradePackageMapper.java

@@ -2,10 +2,14 @@ package com.cyksj.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.UpgradePackage;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 /**
  * @author zwhui
  * @date 2024/4/24 15:03
  */
 public interface UpgradePackageMapper extends BaseMapper<UpgradePackage> {
+    @Select("select ifnull(sum(num),0) from upgrade_order_don where user_id=#{userId} and relation_id=#{relationId} and status = 'complete'")
+    Integer countUpgradenum(@Param("userId") Long userId,@Param("relationId") Long relationId);
 }

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

@@ -46,6 +46,11 @@ public class MidjourneyUser extends BaseEntity{
      */
     private Integer mjFastNum;
 
+    /**
+     * mj 加量包次数
+     */
+    private Integer mjUpgradeNum;
+
     /**
      * mj relax次数
      */

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/views/MidjourneyUserView.java

@@ -34,6 +34,9 @@ public class MidjourneyUserView {
     @DbField("mu.mj_fast_num")
     private Integer mjUserFastNum;
 
+    @DbField("mu.mj_upgrade_num")
+    private Integer mjUserUpgradeNum;
+
     @DbField("mu.mj_relax_num")
     private Integer mjUserRelaxNum;
 
@@ -43,6 +46,9 @@ public class MidjourneyUserView {
     @DbField("sku.mj_fast_num")
     private Integer mjFastNum;
 
+    @DbIgnore
+    private Integer mjUpgradeNum;
+
     /**
      * sku mj relax次数
      */

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

@@ -249,6 +249,7 @@ public class RenewalView {
     @DbField("sku.mj_fast_num")
     private Integer mjFastNum;
 
+
     /**
      * mj relax次数
      */
@@ -331,6 +332,13 @@ public class RenewalView {
     @DbIgnore
     private Integer mjUserFastNum;
 
+    /**
+     * 用户 mj 加量包次数
+     */
+    @DbIgnore
+    private Integer mjUserUpgradeNum;
+
+
     /**
      * 用户 mj relax次数
      */

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

@@ -832,6 +832,7 @@ public class RedisService {
         //车票到期前每日通知key
         TICKET_EXPIRY_NOTIFY_DAY("ticket_expiry_notify_day:%s:%s", "车票到期前每日通知key", 60 * 60 * 24L),
         MIDJOURNEY_FAST_LIMIT("midjourney:fast:limit:", "midjourney fast次数", 60 * 60 * 48L),
+        MIDJOURNEY_UPGRADE_LIMIT("midjourney:upgrade:limit:", "midjourney upgrade次数", 60 * 60 * 48L),
         MIDJOURNEY_RELAX_LIMIT("midjourney:relax:limit:", "midjourney relax次数", 60 * 60 * 48L),
         MIDJOURNEY_EXPIRE_TIME("midjourney:expire:time:", "midjourney expire time", 60 * 60 * 48L),
         MIDJOURNEY_USER("midjourney:user:", "midjourney user", 60 * 60 * 2L),

+ 3 - 3
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -458,14 +458,14 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
             MidjourneyUser midjourneyUser = midjourneyUserMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUser.class).eq(MidjourneyUser::getRelationId, orderDon.getRelationId()));
             if (midjourneyUser != null) {
                 int update = midjourneyUserMapper.update(null, Wrappers.lambdaUpdate(MidjourneyUser.class)
-                        .set(MidjourneyUser::getMjFastNum, midjourneyUser.getMjFastNum() < upgradePackage.getNum() ? 0 : midjourneyUser.getMjFastNum() - upgradePackage.getNum())
+                        .set(MidjourneyUser::getMjUpgradeNum, midjourneyUser.getMjUpgradeNum() < upgradePackage.getNum() ? 0 : midjourneyUser.getMjUpgradeNum() - upgradePackage.getNum())
                         .eq(MidjourneyUser::getId, midjourneyUser.getId()));
                 if (update == 0) {
                     log.info("midjourneyUser 套餐包增值失败 id:{},orderId:{}", midjourneyUser.getId(), orderDon.getId());
                 }
-                Long decr = redisService.decr(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(), upgradePackage.getNum().longValue());
+                Long decr = redisService.decr(RedisService.key.MIDJOURNEY_UPGRADE_LIMIT.getName() + midjourneyUser.getId(), upgradePackage.getNum().longValue());
                 if (decr < 0) {
-                    redisService.set(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(), 0L);
+                    redisService.set(RedisService.key.MIDJOURNEY_UPGRADE_LIMIT.getName() + midjourneyUser.getId(), 0L);
                 }
             }
         }

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

@@ -4020,15 +4020,15 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			MidjourneyUser midjourneyUser = midjourneyUserMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUser.class).eq(MidjourneyUser::getRelationId, orderDon.getRelationId()));
 			if (midjourneyUser != null) {
 				int update = midjourneyUserMapper.update(null, Wrappers.lambdaUpdate(MidjourneyUser.class)
-						.set(MidjourneyUser::getMjFastNum, midjourneyUser.getMjFastNum() + upgradePackage.getNum()).eq(MidjourneyUser::getId, midjourneyUser.getId()));
+						.set(MidjourneyUser::getMjUpgradeNum, midjourneyUser.getMjUpgradeNum() + upgradePackage.getNum()).eq(MidjourneyUser::getId, midjourneyUser.getId()));
 				if (update == 0) {
 					log.info("midjourneyUser 套餐包增值失败 id:{},orderId:{}", midjourneyUser.getId(), orderDon.getId());
 				}
-				Object fastNum = redisService.get(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId());
+				Object fastNum = redisService.get(RedisService.key.MIDJOURNEY_UPGRADE_LIMIT.getName() + midjourneyUser.getId());
 				if (fastNum == null) {
-					redisService.set(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(), midjourneyUser.getMjFastNum() + upgradePackage.getNum().longValue(), RedisService.key.MIDJOURNEY_FAST_LIMIT.getTimeout());
+					redisService.set(RedisService.key.MIDJOURNEY_UPGRADE_LIMIT.getName() + midjourneyUser.getId(), midjourneyUser.getMjUpgradeNum() + upgradePackage.getNum().longValue(), RedisService.key.MIDJOURNEY_FAST_LIMIT.getTimeout());
 				} else {
-					redisService.incr(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(), upgradePackage.getNum().longValue());
+					redisService.incr(RedisService.key.MIDJOURNEY_UPGRADE_LIMIT.getName() + midjourneyUser.getId(), upgradePackage.getNum().longValue());
 				}
 			}
 		}

+ 3 - 1
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -1490,16 +1490,18 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			try {
 				MidjourneyUserView search = beanSearcher.searchFirst(MidjourneyUserView.class, MapUtils.flatBuilder(request.getParameterMap())
 						.field(MidjourneyUserView::getUserId, ticket.getUserId()).field(MidjourneyUserView::getRelationId, ticket.getRelationId())
-						.onlySelect(MidjourneyUserView::getMjUserRelaxNum, MidjourneyUserView::getMjUserFastNum, MidjourneyUserView::getIsCar)
+						.onlySelect(MidjourneyUserView::getMjUserRelaxNum, MidjourneyUserView::getMjUserFastNum,MidjourneyUserView::getMjUserUpgradeNum, MidjourneyUserView::getIsCar)
 						.build());
 				if (search == null) {
 					MidjourneyUser midjourneyUser = midjourneyAccountService.getMidjourneyUserToken(ticket.getUserId(), ticket.getRelationId());
 					ticket.setMjUserFastNum(midjourneyUser.getMjFastNum());
+					ticket.setMjUserUpgradeNum(midjourneyUser.getMjUpgradeNum());
 					ticket.setMjUserRelaxNum(midjourneyUser.getMjRelaxNum());
 					ticket.setIsCar(false);
 				} else {
 					ticket.setIsCar(search.getIsCar());
 					ticket.setMjUserFastNum(search.getMjUserFastNum());
+					ticket.setMjUserUpgradeNum(search.getMjUserUpgradeNum());
 					ticket.setMjUserRelaxNum(search.getMjUserRelaxNum());
 				}
 				midjourneyAccountService.updateUserExpiryTime(ticket.getRelationId(), ticket.getExpiryTime());

+ 2 - 0
netflix-web/src/main/java/com/cyksj/web/controller/mirror/MidjourneyController.java

@@ -115,6 +115,8 @@ public class MidjourneyController {
         if (CollectionUtil.isNotEmpty(upgradePackages)){
             upgradePackages.stream().map(e -> e.getPrice().divide(BigDecimal.valueOf(e.getNum()), 2, RoundingMode.HALF_UP)).min(BigDecimal::compareTo).ifPresent(search::setMjPackagePrice);
         }
+        Integer upgradeNum = upgradePackageMapper.countUpgradenum(userId,relationId);
+        search.setMjUpgradeNum(upgradeNum);
         return GatewayResponse.SUCCESS.newBuilder().toResult(search);
     }