zyy
2025-07-16 37c4b8d314a93ac866a7886b262346ff8810dc3e
bug修改
12 files modified
55 ■■■■ changed files
src/main/java/com/nq/Repository/ExchangeRateRepository.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/controller/backend/AdminStockAiController.java 8 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/enums/EConfigKey.java 4 ●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/ExchangeRate.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/StockAI.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/StockAIOrder.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/StockAIOrderPosition.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/StockAiServiceImpl.java 6 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java 11 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/task/stock/StockTask.java 8 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/StockMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/Repository/ExchangeRateRepository.java
@@ -5,7 +5,7 @@
import java.util.Optional;
public interface ExchangeRateRepository extends JpaRepository<ExchangeRate, Long> {
public interface ExchangeRateRepository extends JpaRepository<ExchangeRate, Integer> {
    Optional<ExchangeRate> findExchangeRateByCurrencyAndConversionCurrency(String currency, String conversionCurrency);
src/main/java/com/nq/controller/backend/AdminStockAiController.java
@@ -46,10 +46,10 @@
     @ResponseBody
     public ServerResponse getStockAiOrderList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                          @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
                                          @RequestParam(value = "stockType") String stockType,
                                          @RequestParam(value = "status") String status,
                                          @RequestParam(value = "userId") Integer userId,
                                          @RequestParam(value = "phone") String phone)   {
                                          @RequestParam(value = "stockType", required = false) String stockType,
                                          @RequestParam(value = "status", required = false) String status,
                                          @RequestParam(value = "userId", required = false) Integer userId,
                                          @RequestParam(value = "phone", required = false) String phone)   {
         return stockAiService.getAdminStockAiOrderList(pageNum, pageSize, stockType, status, userId, phone);
     }
src/main/java/com/nq/enums/EConfigKey.java
@@ -16,7 +16,9 @@
    BUY_HANDLING_CHARGE("BUY_HANDLING_CHARGE","买入手续费"),
    SELL_HANDLING_CHARGE("SELL_HANDLING_CHARGE","平仓手续费"),
    LIMIT_DOWN_IS_SELL("limit_down_is_sell","跌停是否可以平仓"),
    AGENT_MAX_GRADE("agent_max_grade","最大代理等级");
    AGENT_MAX_GRADE("agent_max_grade","最大代理等级"),
    INDICES("indices","指数数据");
    private String code;
    private String desc;
src/main/java/com/nq/pojo/ExchangeRate.java
@@ -23,7 +23,7 @@
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private Integer id;
    /**
     * 汇率
     */
src/main/java/com/nq/pojo/StockAI.java
@@ -21,7 +21,7 @@
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private Integer id;
    //股票类型
    private String stockType;
src/main/java/com/nq/pojo/StockAIOrder.java
@@ -20,7 +20,7 @@
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private Integer id;
    //用户id
    private Integer userId;
@@ -47,7 +47,7 @@
    private BigDecimal realEarning;
    /**
     * 状态 待审核 申请通过 申请通过 已完成
     * 状态 待审核 申请通过 申请不通过 已完成
     */
    private String status;
src/main/java/com/nq/pojo/StockAIOrderPosition.java
@@ -21,7 +21,7 @@
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private Integer id;
    //ai交易产品订单id
    private Long stockAiOrderId;
src/main/java/com/nq/service/impl/StockAiServiceImpl.java
@@ -45,8 +45,6 @@
    IUserService iUserService;
    @Autowired
    IUserAssetsServices iUserAssetsServices;
    @Autowired
    ExchangeRateRepository exchangeRateRepository;
    /**
     * 获取上架ai产品
@@ -184,15 +182,13 @@
            if (!pageInfo.getList().isEmpty()) {
                List<StockAiVO> newStockAiList = pageInfo.getList();
                newStockAiList.forEach(stockAiVO -> {
                pageInfo.getList().forEach(stockAiVO -> {
                    EStockType eStockType = EStockType.getEStockTypeByCode(stockAiVO.getStockType());
                    stockAiVO.setStockTypeName(eStockType.getSymbol1());
                    stockAiVO.setSymbol(stockType);
                });
                pageInfo.setList(newStockAiList);
            }
            return ServerResponse.createBySuccess(pageInfo);
        } catch (Exception ex) {
            log.error("StockAiService getAdminStockAiList error", ex);
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -238,8 +238,8 @@
            userPosition.setOrderStayDays(Integer.valueOf(0));
            userPosition.setOrderStayFee(BigDecimal.ZERO);
            userPositionMapper.insert(userPosition);
            iUserAssetsServices.availablebalanceChange(EStockType.MX.getCode(), user.getId(), EUserAssets.BUY, buyAmt.negate(), "", "");
            iUserAssetsServices.availablebalanceChange(EStockType.MX.getCode(), user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
            iUserAssetsServices.availablebalanceChange(stock.getStockType(), user.getId(), EUserAssets.BUY, buyAmt.negate(), "", "");
            iUserAssetsServices.availablebalanceChange(stock.getStockType(), user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
            return ServerResponse.createBySuccessMsg("下单成功", request);
        }
    }
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -209,7 +209,7 @@
                    UserStockSubscribe userStockSubscribe = Convert.convert(UserStockSubscribe.class, model);
                    userStockSubscribe.setNewStockId(stockSubscribe.getNewlistId());
                    ret = userStockSubscribeMapper.insert(userStockSubscribe);
                    iUserAssetsServices.availablebalanceChange(EStockType.US.getCode(), user.getId(),EUserAssets.BUY,bound.negate(),"","");
                    iUserAssetsServices.availablebalanceChange(stockSubscribe.getStockType(), user.getId(),EUserAssets.BUY,bound.negate(),"","");
                    if (ret > 0) {
                        return ServerResponse.createBySuccessMsg("配售成功",request);
                    } else {
@@ -294,7 +294,7 @@
                    }
                    BigDecimal cCount = new BigDecimal(model.getApplyNums()-model.getApplyNumber());
                    BigDecimal tMoney = ((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice())).multiply(cCount);
                    iUserAssetsServices.availablebalanceChange(EStockType.US.getCode(),userStockSubscribe.getUserId(),
                    iUserAssetsServices.availablebalanceChange(stockSubscribe.getStockType(),userStockSubscribe.getUserId(),
                            EUserAssets.TOP_UP,tMoney,"","");
                    model.setBond((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice()).multiply(BigDecimal.valueOf(model.getApplyNumber())));
                    model.setDbMoney(BigDecimal.ZERO);
@@ -495,6 +495,11 @@
                    return ServerResponse.createByErrorMsg("未中签,无需支付",request);
                }
                if (userStockSubscribe.getStatus() == 3) {
                    StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<>(new StockSubscribe())
                            .eq("newlist_id", userStockSubscribe.getNewStockId()));
                    if (stockSubscribe == null) {
                        return ServerResponse.createByErrorMsg("新股不存在",request);
                    }
                    userStockSubscribe.setSubmitTime(DateTimeUtil.getCurrentDate());
                    userStockSubscribe.setStatus(4);
                    BigDecimal bigDecimal =  iUserAssetsServices.
@@ -505,7 +510,7 @@
                    if(bigDecimal.compareTo(multiply) <= 0){
                        return ServerResponse.createByErrorMsg("余额不足",request);
                    }
                    iUserAssetsServices.availablebalanceChange(EStockType.US.getCode(),userStockSubscribe.getUserId(),
                    iUserAssetsServices.availablebalanceChange(stockSubscribe.getStockType(), userStockSubscribe.getUserId(),
                            EUserAssets.BUY,multiply.negate(),"","");
                    userStockSubscribe.setDbMoney(BigDecimal.ZERO);
                    userStockSubscribeMapper.update1(userStockSubscribe);
src/main/java/com/nq/utils/task/stock/StockTask.java
@@ -7,6 +7,7 @@
import com.nq.Repository.StockRepository;
import com.nq.dao.StockMapper;
import com.nq.dao.UserPositionMapper;
import com.nq.enums.EConfigKey;
import com.nq.enums.EStockType;
import com.nq.pojo.*;
import com.nq.service.ExchangeRateService;
@@ -148,11 +149,8 @@
                stock.setStockCode(o.getId());
                stock.setStockName(o.getName());
                stock.setStockType(eStockType.getCode());
                if (o.getType() == null) {
                    stock.setStockGid(eStockType.getCode());
                } else {
                    stock.setStockGid(o.getType());
                }
                //指数数据类型
                stock.setStockGid(EConfigKey.INDICES.getCode());
                stock.setStockSpell(o.getSymbol());
                stock.setIsLock(0);
                stock.setIsShow(0);
src/main/resources/mapper/StockMapper.xml
@@ -319,7 +319,7 @@
        <include refid="Base_Column_List"/>
         FROM stock
    where stock_spell not like '%.st%'
    where stock_spell not like '%.st%' and stock_gid !='indices'
    <if test="stockType != null and stockType != '' ">
      and stock_type = #{stockType}
    </if>