package com.nq.controller.protol; import com.google.common.collect.Maps; import com.nq.common.ServerResponse; import com.nq.enums.EStockType; import com.nq.pojo.ApplyLever; import com.nq.pojo.StockSubscribe; import com.nq.pojo.UserStockSubscribe; import com.nq.service.*; import com.nq.utils.PropertiesUtil; import java.math.BigDecimal; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.ibatis.annotations.Property; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; @Controller @RequestMapping({"/user/"}) public class UserController { private static final Logger log = LoggerFactory.getLogger(UserController.class); @Autowired IUserService iUserService; @Autowired IUserPositionService iUserPositionService; @Autowired IFileUploadService iFileUploadService; @Autowired IUserIndexPositionService iUserIndexPositionService; @Autowired IUserFuturesPositionService iUserFuturesPositionService; @Autowired IUserStockSubscribeService iUserStockSubscribeService; @Autowired IStockSubscribeService iStockSubscribeService; @Autowired UserPendingorderService userPendingorderService; @Autowired IRateServices rateServices; @Autowired IUserRechargeService iUserRechargeService; @Autowired IApplyLeverServices iApplyLeverServices; //添加到自选股 @RequestMapping({"addOption.do"}) @ResponseBody public ServerResponse addOption(@RequestParam("code") String code, HttpServletRequest request) { return this.iUserService.addOption(code, request); } //删除自选股 @RequestMapping({"delOption.do"}) @ResponseBody public ServerResponse delOption(@RequestParam("code") String code, HttpServletRequest request) { return this.iUserService.delOption(code, request); } //查询是否是自选股 @RequestMapping({"isOption.do"}) @ResponseBody public ServerResponse isOption(@RequestParam("code") String code, HttpServletRequest request) { return this.iUserService.isOption(code, request); } @RequestMapping("getMoney.do") @ResponseBody public ServerResponse getMoney( HttpServletRequest request) { return this.iUserService.getMoney(request); } //查询用户自选股 @RequestMapping({"queryMyOption.do"}) @ResponseBody public ServerResponse queryMyOption(@RequestParam("code") String code, HttpServletRequest request) { return this.iUserService.queryMyOption(code, request); } //用户下单买入股票 @RequestMapping({"buy.do"}) @ResponseBody public ServerResponse buy(@RequestParam("stockId") Integer stockId, @RequestParam("buyNum") Integer buyNum, @RequestParam("buyType") Integer buyType, @RequestParam("lever") Integer lever, @RequestParam(value = "profitTarget",required = false) BigDecimal profitTarget,@RequestParam(value = "stopTarget",required = false) BigDecimal stopTarget, HttpServletRequest request) { return this.iUserPositionService.buy(stockId, buyNum, buyType, lever,profitTarget,stopTarget, request); } //修改涨跌板 @RequestMapping({"updateProfitTarget.do"}) @ResponseBody public ServerResponse updateProfitTarget(@RequestParam("positionSn") String positionSn, @RequestParam(value = "profitTarget",required = false) Integer profitTarget,@RequestParam(value = "stopTarget",required = false) Integer stopTarget, HttpServletRequest request) { ServerResponse serverResponse = null; try { serverResponse = this.iUserPositionService.updateProfitTarget(positionSn, profitTarget, stopTarget,request); } catch (Exception e) { log.error("修改涨跌板操作 = {}", e); } return serverResponse; } //用户平仓操作 @RequestMapping({"sell.do"}) @ResponseBody public ServerResponse sell(HttpServletRequest request, @RequestParam("positionSn") String positionSn) { return this.iUserPositionService.sell(positionSn, 1,request); } //一键用户平仓操作 @RequestMapping({"allsell.do"}) @ResponseBody public ServerResponse allsell(@RequestParam("stockType") String positionSn,HttpServletRequest request) { try { return this.iUserPositionService.allSell(request,positionSn); } catch (Exception e) { return ServerResponse.createByErrorMsg("Sell Fail",request); } } //挂单操作-添加 @RequestMapping({"addOrder.do"}) @ResponseBody public ServerResponse addOrder(HttpServletRequest request, @RequestParam("stockId") String stockId, @RequestParam("buyNum") Integer buyNum, @RequestParam("buyType") Integer buyType, @RequestParam("lever") Integer lever, @RequestParam(value = "profitTarget",required = false) BigDecimal profitTarget, @RequestParam(value = "stopTarget",required = false) BigDecimal stopTarget, @RequestParam(value = "targetPrice",required = false) BigDecimal targetPrice) { ServerResponse serverResponse = null; try { serverResponse = this.userPendingorderService.addOrder(stockId, buyNum, buyType, lever,profitTarget,stopTarget,targetPrice, request); } catch (Exception e) { log.error("挂单操作-添加 = {}", e); } return serverResponse; } //挂单操作-列表 @RequestMapping({"orderList.do"}) @ResponseBody public ServerResponse orderList(HttpServletRequest request) { ServerResponse serverResponse = null; try { serverResponse = this.userPendingorderService.orderList(request); } catch (Exception e) { log.error("挂单操作-列表 = {}", e); } return serverResponse; } //挂单操作-删除 @RequestMapping({"delOrder.do"}) @ResponseBody public ServerResponse delOrder(HttpServletRequest request, @RequestParam("id") Integer id) { ServerResponse serverResponse = null; try { serverResponse = this.userPendingorderService.delOrder(id, request); } catch (Exception e) { log.error("挂单操作-删除 = {}", e); } return serverResponse; } //用户追加保证金操作 @RequestMapping({"addmargin.do"}) @ResponseBody public ServerResponse addmargin(HttpServletRequest request, @RequestParam("positionSn") String positionSn, @RequestParam("marginAdd") BigDecimal marginAdd) { ServerResponse serverResponse = null; try { serverResponse = this.iUserPositionService.addmargin(positionSn, 1, marginAdd); } catch (Exception e) { log.error("用户平仓操作 = {}", e); } return serverResponse; } //查询 用户信息 @RequestMapping({"getUserInfo.do"}) @ResponseBody public ServerResponse getUserInfo(HttpServletRequest request) { return this.iUserService.getUserInfo(request); } //修改用户密码 @RequestMapping({"updatePwd.do"}) @ResponseBody public ServerResponse updatePwd(String oldPwd, String newPwd, HttpServletRequest request) { return this.iUserService.updatePwd(oldPwd, newPwd, request); } @RequestMapping({"findIdWithPwd.do"}) @ResponseBody public ServerResponse findIdWithPwd(@RequestParam("phone") String phone){ return this.iUserService.findIdWithPwd(phone); } @RequestMapping({"insertWithPwd.do"}) @ResponseBody public ServerResponse insertWithPwd(@RequestParam("with_pwd") String with_pwd,@RequestParam("phone") String phone){ return this.iUserService.updateWithPwd(with_pwd,phone); } @RequestMapping({"auth.do"}) @ResponseBody public ServerResponse auth(String realName, String idCard,String vaildNumber ,String img1key, String img2key, String img3key, HttpServletRequest request) { return this.iUserService.auth(realName, idCard, vaildNumber,img1key, img2key, img3key, request); } //图片上传 @RequestMapping({"upload.do"}) @ResponseBody public ServerResponse upload(HttpSession session, @RequestParam(value = "upload_file", required = false) MultipartFile file, HttpServletRequest 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); fileMap.put("url", url); return ServerResponse.createBySuccess(fileMap); } return serverResponse; } /** * 用户新股列表 * @param name * @param code * @param zt * @param type * @param request * @return */ @RequestMapping({"list.do"}) @ResponseBody public ServerResponse list(@RequestParam(value = "name", required = false) String name, @RequestParam(value = "code", required = false) String code, @RequestParam(value = "zt", required = false) Integer zt, @RequestParam(value = "isLock", required = false) Integer isLock, @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); } /** * 新股申购 添加 * @param * @return */ @RequestMapping({"add.do"}) @ResponseBody public ServerResponse add(UserStockSubscribe model,HttpServletRequest request) throws Exception { return this.iUserStockSubscribeService.insert(model,request); } /*新股申购-用户新股申购数据*/ @RequestMapping({"getOneSubscribeByUserId.do"}) @ResponseBody public ServerResponse getOneSubscribeByUserId(@RequestParam(value ="type",required = false)String type, HttpServletRequest request) { return this.iUserStockSubscribeService.getOneSubscribeByUserId(type,request); } /*新股申购-用户提交金额*/ @RequestMapping({"submitSubscribe.do"}) @ResponseBody public ServerResponse userSubmit( @RequestParam("id") Integer id,HttpServletRequest request) { return this.iUserStockSubscribeService.userSubmit(id,request); } @RequestMapping({"transfer.do"}) @ResponseBody public ServerResponse transfer(@RequestParam("fromType") String fromType, @RequestParam("toType") String toType, @RequestParam("amt") String amt, HttpServletRequest request) { return iUserService.transfer(fromType, toType, amt,request); } /** * vip抢筹 (涨停板买入) * */ @RequestMapping({"buyVipQc.do"}) @ResponseBody public ServerResponse buyVipQc(@RequestParam("stockCode") String stockCode, @RequestParam("buyNum") Integer buyNum, @RequestParam("buyType") Integer buyType, @RequestParam("lever") Integer lever,@RequestParam(value = "profitTarget",required = false) BigDecimal profitTarget,@RequestParam(value = "stopTarget",required = false) BigDecimal stopTarget, HttpServletRequest request) { ServerResponse serverResponse = null; try { serverResponse = this.iUserPositionService.buyVipQc(stockCode, buyNum, buyType, lever,profitTarget,stopTarget, request); } catch (Exception e) { log.error("vip抢筹下单操作出错 = {}", e); } return serverResponse; } /** * 大宗下单 */ @RequestMapping({"buyStockDz.do"}) @ResponseBody public ServerResponse buyDz(@RequestParam("stockCode") String stockCode, @RequestParam("password") String password,@RequestParam("num") Integer num, HttpServletRequest request) throws Exception { return this.iUserPositionService.buyDz(stockCode, password, num, request); } //大宗下单列表 @RequestMapping({"buyStockDzList.do"}) @ResponseBody public ServerResponse buyStockDzList( HttpServletRequest request) { return this.iUserPositionService.buyStockDzList( request); } @RequestMapping({"getMoenyLog.do"}) @ResponseBody public ServerResponse getMoenyLog(@RequestParam("type") String stockCode, HttpServletRequest request) { return this.iUserService.getMoenyLog(stockCode, request); } @RequestMapping({"currencyRate.do"}) @ResponseBody public ServerResponse currencyRate(@RequestParam("fromType") String stockCode, @RequestParam("toType") String toType, HttpServletRequest request) { return ServerResponse.createBySuccess(rateServices.currencyRate(EStockType.getEStockTypeByCode(stockCode), EStockType.getEStockTypeByCode(toType))); } @RequestMapping({"applyLever.do"}) @ResponseBody public ServerResponse applyLever(ApplyLever applyLever,HttpServletRequest request) { return iApplyLeverServices.applyLever(applyLever,request); } }