|
@@ -3,9 +3,14 @@ package com.xyzc.start.service.impl;
|
|
|
import com.xyzc.common.core.exception.ErrorCode;
|
|
|
import com.xyzc.common.core.exception.ServerException;
|
|
|
import com.xyzc.common.core.utils.AssertUtils;
|
|
|
+import com.xyzc.common.core.utils.MapstructUtils;
|
|
|
import com.xyzc.common.web.security.user.SecurityUser;
|
|
|
+import com.xyzc.start.constant.BaseUserConst;
|
|
|
+import com.xyzc.start.domain.App;
|
|
|
import com.xyzc.start.domain.BaseUser;
|
|
|
+import com.xyzc.start.domain.BaseUserCollect;
|
|
|
import com.xyzc.start.domain.bo.AgentCardSecretBo;
|
|
|
+import com.xyzc.start.domain.bo.BaseUserCollectBo;
|
|
|
import com.xyzc.start.domain.bo.HobbyBo;
|
|
|
import com.xyzc.start.domain.vo.*;
|
|
|
import com.xyzc.start.mapper.*;
|
|
@@ -28,6 +33,7 @@ public class UserInfoServiceImpl implements IUserInfoService {
|
|
|
private final FuelFlowMapper fuelFlowMapper;
|
|
|
|
|
|
private final AppMapper appMapper;
|
|
|
+ private final BaseUserCollectMapper baseUserCollectMapper;
|
|
|
|
|
|
/**
|
|
|
* 获取当前用户信息
|
|
@@ -161,6 +167,41 @@ public class UserInfoServiceImpl implements IUserInfoService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 收藏或取消收藏
|
|
|
+ *
|
|
|
+ * @param collectBo 收藏对象
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void collectOrCancel(BaseUserCollectBo collectBo) {
|
|
|
+ BaseUserCollect baseUserCollect = baseUserCollectMapper.queryCollectByIdAndCollectId(SecurityUser.getUserId(), collectBo.getCollectId(), collectBo.getType());
|
|
|
+ if (baseUserCollect == null) {
|
|
|
+ // 查询收藏对象是否存在,不存在抛出异常
|
|
|
+ App app = null;
|
|
|
+ if (BaseUserConst.COLLECT_DRAW_MODEL.equals(collectBo.getType())) {
|
|
|
+
|
|
|
+ } else if (collectBo.getType() == 2) {
|
|
|
+
|
|
|
+ } else if (BaseUserConst.COLLECT_APP.equals(collectBo.getType())) {
|
|
|
+ app = appMapper.selectById(collectBo.getCollectId());
|
|
|
+ }
|
|
|
+ AssertUtils.notNull(app, ErrorCode.COLLECT_NOT_EXIST);
|
|
|
+
|
|
|
+ // 转换用户收藏
|
|
|
+ BaseUserCollect convert = MapstructUtils.convert(collectBo, BaseUserCollect.class);
|
|
|
+ convert.setBaseUserId(SecurityUser.getUserId());
|
|
|
+
|
|
|
+ baseUserCollectMapper.insert(convert);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除用户收藏
|
|
|
+ baseUserCollectMapper.deleteById(baseUserCollect.getId());
|
|
|
+ // 插入用户收藏
|
|
|
+ baseUserCollect.setId(null);
|
|
|
+ baseUserCollectMapper.insert(baseUserCollect);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 根据应用id扣除对应的燃料
|
|
|
*
|
|
|
* @param appId
|
|
@@ -173,7 +214,7 @@ public class UserInfoServiceImpl implements IUserInfoService {
|
|
|
|
|
|
// 然后获取应用对应的ai模型燃料扣除量
|
|
|
AiModelVo aiModelVo = appMapper.queryAiModelFuel(appId);
|
|
|
- baseUser.setSurplusFuel(baseUser.getSurplusFuel()-aiModelVo.getConsumeFuelNumber());
|
|
|
+ baseUser.setSurplusFuel(baseUser.getSurplusFuel() - aiModelVo.getConsumeFuelNumber());
|
|
|
|
|
|
// 判断扣除后的用户剩余燃料是否小于0,如果小于0,则抛出异常
|
|
|
AssertUtils.surplusFuel(baseUser.getSurplusFuel());
|