1
zj
2025-06-27 030cfc663552cf44c383020fc7e7d86251d2c968
src/main/java/com/nq/controller/protol/UserController.java
@@ -17,6 +17,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.nq.vo.stock.UserStockSubscribeAddIn;
import org.apache.ibatis.annotations.Property;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -122,6 +123,7 @@
            buyOrderCreated.set(true);
            return this.iUserPositionService.buy(stockId, buyNum, buyType, lever,profitTarget,stopLoss, request);
        } catch (Exception e) {
            e.printStackTrace();
            return ServerResponse.createByErrorMsg("订单异常,请稍后重试", request);
        }  finally{
            buyLock.unlock();
@@ -263,14 +265,49 @@
    //图片上传
    @RequestMapping({"upload.do"})
    @ResponseBody
    public ServerResponse upload(HttpSession session, @RequestParam(value = "upload_file", required = false) MultipartFile file, HttpServletRequest request) {
    public ServerResponse upload(HttpSession session,
                                 @RequestParam(value = "upload_file", required = false) MultipartFile file,
                                 HttpServletRequest request) {
        // 检查文件是否为空
        if (file == null || file.isEmpty()) {
            return ServerResponse.createByErrorMsg("Please select a file to upload.",request);
        }
        // 获取原始文件名
        String originalFilename = file.getOriginalFilename();
        if (originalFilename == null) {
            return ServerResponse.createByErrorMsg("Invalid file name",request);
        }
        // 获取文件扩展名并转为小写
        String extension = originalFilename.substring(originalFilename.lastIndexOf(".") + 1).toLowerCase();
        // 定义允许的图片格式
        String[] allowedExtensions = {"jpg", "jpeg", "png", "gif", "bmp", "webp"};
        // 验证文件格式
        boolean isImage = false;
        for (String allowedExt : allowedExtensions) {
            if (allowedExt.equals(extension)) {
                isImage = true;
                break;
            }
        }
        // 如果不是图片格式
        if (!isImage) {
            return ServerResponse.createByErrorMsg("Only supports uploading image format: jpg, jpeg, png, gif, bmp, webp", request);
        }
        // 获取上传路径
        String path = request.getSession().getServletContext().getRealPath("upload");
        ServerResponse serverResponse = this.iFileUploadService.upload(file, path);
        if (serverResponse.isSuccess()) {
            String targetFileName = serverResponse.getData().toString();
            String url = PropertiesUtil.getProperty("ftp.server.http.prefix") + targetFileName;
            Map fileMap = Maps.newHashMap();
            fileMap.put("uri", targetFileName);
@@ -300,7 +337,7 @@
                               @RequestParam(value = "type", required = false) Integer type,
                               @RequestParam(value = "getType", required = false) Integer getType,
                               HttpServletRequest request) {
        return this.iStockSubscribeService.list(name,code,zt,getType,isLock,type,request);
        return this.iStockSubscribeService.list(name,code,zt,getType,isLock,type,null,0,request);
    }
    /**
     * 新股申购 添加
@@ -309,7 +346,7 @@
     */
    @RequestMapping({"add.do"})
    @ResponseBody
    public ServerResponse add(UserStockSubscribe model,HttpServletRequest request) throws Exception {
    public ServerResponse add(UserStockSubscribeAddIn model, HttpServletRequest request) throws Exception {
        return this.iUserStockSubscribeService.insert(model,request);
    }
    /*新股申购-用户新股申购数据*/
@@ -355,14 +392,14 @@
     */
    @RequestMapping({"buyStockDz.do"})
    @ResponseBody
    public ServerResponse buyDz(@RequestParam("stockCode") String stockCode, @RequestParam("password") String password,@RequestParam("num") Integer num, HttpServletRequest request) throws Exception {
    public ServerResponse buyDz(@RequestParam("dzId") Integer dzId, @RequestParam("password") String password,@RequestParam("num") Integer num, HttpServletRequest request) throws Exception {
        lock.lock();
        try {
            if (orderCreated.get()) {
                return ServerResponse.createByErrorMsg("当前内幕交易人数过多,请稍后重试", request);
            }
            orderCreated.set(true);
            return this.iUserPositionService.buyDz(stockCode, password, num, request);
            return this.iUserPositionService.buyDz(dzId, password, num, request);
        } catch (Exception e) {
            return ServerResponse.createByErrorMsg("订单异常,请稍后重试", request);
        }  finally{