| | |
| | | @Resource |
| | | private UserStockSubscribeMapper userStockSubscribeMapper; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | UserMapper userMapper; |
| | | |
| | | @Autowired |
| | |
| | | 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()) { |
| | |
| | | //判断股票是否在可交易时间段 |
| | | 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()); |
| | |
| | | |
| | | 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) { |
| | |
| | | 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")); |
| | |
| | | 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); |
| | | } |
| | | /** |
| | | * 新股申购-用户提交金额 |
| | |
| | | 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); |
| | | } |
| | | /** |
| | | * 新股申购-删除 |