package com.nq.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.nq.common.ResponseCode;
|
import com.nq.common.ServerResponse;
|
import com.nq.dao.SiteTaskLogMapper;
|
import com.nq.dao.StockMapper;
|
import com.nq.dao.UserPurchaseApplicationMapper;
|
import com.nq.pojo.*;
|
import com.nq.service.IUserPositionService;
|
import com.nq.service.IUserPurchaseApplicationService;
|
import com.nq.utils.timeutil.DateTimeUtil;
|
import com.nq.utils.translate.GoogleTranslateUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.Date;
|
|
@Service("purchaseApplicationService")
|
public class UserPurchaseApplicationServiceImpl extends ServiceImpl<UserPurchaseApplicationMapper, UserPurchaseApplication> implements IUserPurchaseApplicationService {
|
|
@Autowired
|
private UserPurchaseApplicationMapper purchaseApplicationMapper;
|
@Autowired
|
private SiteTaskLogMapper siteTaskLogMapper;
|
@Autowired
|
private IUserPositionService userPositionService;
|
@Autowired
|
private StockMapper stockMapper;
|
|
@Override
|
public ServerResponse list(String keyword, Integer status, int pageNum, int pageSize) {
|
// 创建分页对象
|
Page<UserPurchaseApplication> page = new Page<>(pageNum, pageSize);
|
|
// 构造查询条件
|
LambdaQueryWrapper<UserPurchaseApplication> wrapper = new LambdaQueryWrapper<>();
|
wrapper.and(q -> q.like(UserPurchaseApplication::getStockCode, keyword).or().like(UserPurchaseApplication::getUserId, keyword));
|
if (status != null) {
|
wrapper.eq(UserPurchaseApplication::getStatus, status);
|
}
|
wrapper.orderByDesc(UserPurchaseApplication::getAddTime);
|
|
// 执行分页查询
|
IPage<UserPurchaseApplication> resultPage = page(page, wrapper);
|
|
// 返回分页结果
|
return ServerResponse.createBySuccess(resultPage);
|
}
|
|
@Override
|
@Transactional
|
public ServerResponse examine(Integer id, HttpServletRequest request) {
|
|
try{
|
UserPurchaseApplication purchaseApplication = getById(id);
|
if(null != purchaseApplication && purchaseApplication.getStatus() != 0){
|
return ServerResponse.createByErrorMsg("当前状态无法操作");
|
}
|
purchaseApplication.setStatus(1);
|
SiteTaskLog siteTaskLog = new SiteTaskLog();
|
siteTaskLog.setTaskType("涨停板购买审核");
|
String tasktarget = "此次买入id:" + purchaseApplication.getId();
|
siteTaskLog.setTaskTarget(tasktarget);
|
siteTaskLog.setAddTime(new Date());
|
siteTaskLog.setIsSuccess(0);
|
siteTaskLog.setErrorMsg("");
|
|
//购买
|
Stock stock = stockMapper.findStockByCode(purchaseApplication.getStockCode());
|
ServerResponse serverResponse = userPositionService.buy(stock.getId(),purchaseApplication.getBuyNum(),
|
purchaseApplication.getBuyType(),purchaseApplication.getLever(),purchaseApplication.getProfitTarget(),purchaseApplication.getStopTarget(), request,purchaseApplication.getUserId());
|
if(serverResponse.getStatus() == ResponseCode.SUCCESS.getCode()){
|
this.purchaseApplicationMapper.updateById(purchaseApplication);
|
this.siteTaskLogMapper.insert(siteTaskLog);
|
return ServerResponse.createBySuccessMsg("审核成功,已转持仓");
|
}else {
|
return ServerResponse.createByErrorMsg(serverResponse.getMsg(),"en","zh");
|
}
|
|
}catch (Exception e){
|
log.error("挂单失败");
|
}
|
return ServerResponse.createByErrorMsg("操作失败");
|
}
|
}
|