jack
2024-04-18 5a8a43d5edb7af016b76246d9e9f661f4363342e
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -42,7 +42,7 @@
    @Resource
    private UserStockSubscribeMapper userStockSubscribeMapper;
    @Autowired
    @Resource
    UserMapper userMapper;
    @Autowired
@@ -68,21 +68,18 @@
    public ServerResponse insert(UserStockSubscribe model, HttpServletRequest request) throws Exception {
        int ret = 0;
        if (model == null) {
            return ServerResponse.createByErrorMsg("Parameter error");
            return ServerResponse.createByErrorMsg("参数错误",request);
        }
        String property = PropertiesUtil.getProperty("user.cookie.name");
        String header = request.getHeader(property);
        if (header != null) {
            User user = this.iUserService.getCurrentRefreshUser(request);
            if (user == null){
                return ServerResponse.createBySuccessMsg("請先登錄");
            }
            User user = iUserService.getCurrentRefreshUser(request);
            if (model.getNewCode() != null) {
                StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<StockSubscribe>().eq("code", model.getNewCode()));
                //实名认证开关
                SiteProduct siteProduct = iSiteProductService.getProductSetting();
                if (siteProduct.getRealNameDisplay() && (StringUtils.isBlank(user.getRealName()) || StringUtils.isBlank(user.getIdCard()))) {
                    return ServerResponse.createByErrorMsg("Order failed, please first real name authentication");
                    return ServerResponse.createByErrorMsg("订单失败,请先实名认证",request);
                }
//                //判断休息日不能买入
//                if (siteProduct.getHolidayDisplay()) {
@@ -91,47 +88,27 @@
                //判断股票是否在可交易时间段
                Boolean b = tradingHourService.timeCheck();
                if (b) {
                    return ServerResponse.createByErrorMsg("Order failed, not in the  stock trading session");
                    return ServerResponse.createByErrorMsg("订单失败,不在股票交易时段",request);
                }
                //重复申购限制
                UserStockSubscribe userStockSubscribe = userStockSubscribeMapper.selectOne(new QueryWrapper<UserStockSubscribe>().eq("new_code", model.getNewCode()).eq("user_id", user.getId()));
                if (userStockSubscribe != null) {
                    return ServerResponse.createByErrorMsg("请勿重复申购");
                    return ServerResponse.createByErrorMsg("请勿重复申购",request);
                }
                if (siteProduct.getRealNameDisplay() && user.getIsLock().intValue() == 1) {
                    return ServerResponse.createByErrorMsg("Order failed, account has been locked");
                    return ServerResponse.createByErrorMsg("订单失败,帐户已被锁定",request);
                }
                if (stockSubscribe == null) {
                    return ServerResponse.createByErrorMsg("The new stock code does not exist");
                    return ServerResponse.createByErrorMsg("新的股票代码不存在",request);
                }
//                //时间判定当前时间是否是申购时间
//                SiteSetting siteSetting = this.iSiteSettingService.getSiteSetting();
//                if (siteSetting == null) {
//                    log.error("下单出错,网站设置表不存在");
//                    return ServerResponse.createByErrorMsg("Order failed, system setting error");
//                }
//                String am_begin = siteSetting.getTransAmBegin();
//                String am_end = siteSetting.getTransAmEnd();
//                String pm_begin = siteSetting.getTransPmBegin();
//                String pm_end = siteSetting.getTransPmEnd();
//                boolean am_flag = BuyAndSellUtils.isTransTime(am_begin, am_end);
//                boolean pm_flag = BuyAndSellUtils.isTransTime(pm_begin, pm_end);
//                log.info("是否在上午交易时间 = {} 是否在下午交易时间 = {}", Boolean.valueOf(am_flag), Boolean.valueOf(pm_flag));
//                if (!am_flag && !pm_flag) {
//                    return ServerResponse.createByErrorMsg("Application failed, not in the trading session");
//                }
//                //时间判定当前时间是否是申购时间
//                if (stockSubscribe.getSubscribeTime().getTime() < System.currentTimeMillis()) {
//                    return ServerResponse.createByErrorMsg("The application time has passed");
//                }
                if (model.getApplyNums() == null || model.getApplyNums() > stockSubscribe.getOrderNumber()|| model.getApplyNums() < 500) {
                    return ServerResponse.createByErrorMsg("The minimum purchase quantity is 500, the maximum is large" + stockSubscribe.getOrderNumber());
                    return ServerResponse.createByErrorMsg("最小起订量是500,最大值"
                            + stockSubscribe.getOrderNumber(),request);
                }
                if (stockSubscribe.getType() == 2) {
                    int u = userMapper.updateById(user);
                    if (u <= 0) {
                        return ServerResponse.createByErrorMsg("Application failed due to unknown reasons");
                        return ServerResponse.createByErrorMsg("由于未知原因,申请失败",request);
                    }
                }
                model.setUserId(user.getId());
@@ -149,12 +126,12 @@
            ret = userStockSubscribeMapper.insert(model);
            if (ret > 0) {
                return ServerResponse.createBySuccessMsg("Successful application");
                return ServerResponse.createBySuccessMsg("申购成功",request);
            } else {
                return ServerResponse.createByErrorMsg("Application failure");
                return ServerResponse.createByErrorMsg("申购失败",request);
            }
        }
        return ServerResponse.createByErrorMsg("Not logged in");
        return ServerResponse.createByErrorMsg("申购失败",request);
    }
    @Override
    public int update(UserStockSubscribe model) {
@@ -356,11 +333,7 @@
        String property = PropertiesUtil.getProperty("user.cookie.name");
        String header = request.getHeader(property);
        if (header != null) {
            String userJson = RedisShardedPoolUtils.get(header);
            User user = (User) JsonUtil.string2Obj(userJson, User.class);
            if (user == null) {
                return ServerResponse.createByErrorMsg("User not logged in");
            }
             User user = iUserService.getCurrentRefreshUser(request);
            List<UserStockSubscribe> userStockSubscribe = null;
            if (type==null||type.equals("")){
                userStockSubscribe = this.userStockSubscribeMapper.selectList(new QueryWrapper<>(new UserStockSubscribe()).eq("user_id", user.getId()).orderByDesc("add_time"));
@@ -375,22 +348,9 @@
                    list.add(userStockSubscribe1);
                }
            }
//            PageInfo pageInfo = new PageInfo();
//            pageInfo.setList(userStockSubscribe);
//            GoogleTranslateUtil transan = new GoogleTranslateUtil();
//            //list转String
//            String json = JsonUtil.obj2String(list);
//            String translate;
//            try {
//                translate = transan.translate("zh", "en", json);
//            } catch (Exception e) {
//                throw new RuntimeException(e);
//            }
//            //String转list
//            List<UserStockSubscribe> list1 = JsonUtil.string2Obj(translate, List.class, UserStockSubscribe.class);
            return ServerResponse.createBySuccess(list);
        }
        return ServerResponse.createByErrorMsg("Please log in first");
        return ServerResponse.createByErrorMsg("请先登录",request);
    }
    /**
     * 新股申购-用户提交金额
@@ -402,55 +362,47 @@
        String property = PropertiesUtil.getProperty("user.cookie.name");
        String header = request.getHeader(property);
        if (header != null) {
            String userJson = RedisShardedPoolUtils.get(header);
            User user = (User) JsonUtil.string2Obj(userJson, User.class);
            if (user == null) {
                return ServerResponse.createByErrorMsg("User not logged in");
            }
            User user = iUserService.getCurrentRefreshUser(request);
            if(id == null){
                return ServerResponse.createByErrorMsg("Parameter error");
                return ServerResponse.createByErrorMsg("参数错误",request);
            }
            UserStockSubscribe userStockSubscribe = userStockSubscribeMapper.load(id);
            log.info("userStockSubscribe:{}",userStockSubscribe);
            if (userStockSubscribe != null && userStockSubscribe.getUserId().equals(user.getId())) {
                StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<>(new StockSubscribe()).eq("code", userStockSubscribe.getNewCode()));
                if(userStockSubscribe.getType()== 2 ){
                    return ServerResponse.createByErrorMsg("No payment is required for offline placement");
                    return ServerResponse.createByErrorMsg("未中签,无需支付",request);
                }
                //判断时间
                if (stockSubscribe.getSubscriptionTime().getTime() < System.currentTimeMillis()) {
                    return ServerResponse.createByErrorMsg("The subscription time has passed");
                    return ServerResponse.createByErrorMsg("不在认缴时间之内",request);
                }
                if (userStockSubscribe.getStatus() == 3) {
                    userStockSubscribe.setSubmitTime(DateTimeUtil.getCurrentDate());
                    userStockSubscribe.setStatus(4);
                    User user1 = userMapper.selectById(userStockSubscribe.getUserId());
//                log.info("user" + user1);
//                    log.info("原可用资金"+user1.getEnableAmt());
//                    log.info("enableAmt" + enableAmt);
//                    log.info("可用资金" + user1.getEnableAmt()+"保证金"+userStockSubscribe.getBond()+"原djzj"+user1.getDjzj());
                    ret = userMapper.updateById(user1);
                }
                else {
                    return ServerResponse.createByErrorMsg("There is no fee for unsuccessful applicants");
                    return ServerResponse.createByErrorMsg("不成功的申请者不收取任何费用",request);
                }
            } else {
                return ServerResponse.createByErrorMsg("New share subscription order does not exist!");
                return ServerResponse.createByErrorMsg("新股认购订单不存在!",request);
            }
            if (ret > 0) {
                ret = userStockSubscribeMapper.update1(userStockSubscribe);
                if (ret > 0) {
                    return ServerResponse.createBySuccessMsg("Successful operation");
                    return ServerResponse.createBySuccessMsg("成功操作",request);
                } else {
                    return ServerResponse.createByErrorMsg("Operation failure");
                    return ServerResponse.createByErrorMsg("失败操作",request);
                }
            }else {
                return ServerResponse.createByErrorMsg("Deduction failure");
                return ServerResponse.createByErrorMsg("扣除失败",request);
            }
        }
        return ServerResponse.createByErrorMsg("Please log in first");
        return ServerResponse.createByErrorMsg("请先登录",request);
    }
    /**
     * 新股申购-删除