package com.nq.service.impl;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.nq.common.ServerResponse;
|
import com.nq.dao.*;
|
import com.nq.pojo.*;
|
import com.nq.service.IFundsApplyService;
|
import com.nq.service.IFundsSettingService;
|
import com.nq.service.IUserService;
|
import com.nq.utils.timeutil.DateTimeUtil;
|
import com.nq.utils.KeyUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.math.BigDecimal;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 配资申请
|
* @author lr
|
* @date 2020/07/24
|
*/
|
@Service("IFundsApplyService")
|
public class FundsApplyServiceImpl implements IFundsApplyService {
|
private static final Logger log = LoggerFactory.getLogger(FundsApplyServiceImpl.class);
|
|
@Resource
|
private FundsApplyMapper fundsApplyMapper;
|
@Resource
|
UserMapper userMapper;
|
@Resource
|
UserCashDetailMapper userCashDetailMapper;
|
@Autowired
|
FundsTradingAccountMapper fundsTradingAccountMapper;
|
|
@Autowired
|
IUserService iUserService;
|
@Autowired
|
IFundsSettingService iFundsSettingService;
|
|
|
@Transactional
|
public ServerResponse insert(FundsApply model, HttpServletRequest request) throws Exception {
|
int ret = 0;
|
if (model == null) {
|
return ServerResponse.createBySuccessMsg("操作异常,请稍后重试!");
|
}
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
if(user == null){
|
return ServerResponse.createBySuccessMsg("请登录后操作");
|
}
|
//支付金额=保证金+管理费
|
BigDecimal pay_amount = model.getMargin().add(model.getManageFee());
|
|
//自动生成订单编号
|
model.setOrderNumber(KeyUtils.getUniqueKey());
|
model.setPayAmount(pay_amount);
|
ret = fundsApplyMapper.insert(model);
|
if(ret>0){
|
//修改用户可用余额= 当前余额-支付金额
|
int updateUserCount = this.userMapper.updateById(user);
|
if (updateUserCount > 0) {
|
log.info("【用户交易下单】修改用户金额成功");
|
UserCashDetail ucd = new UserCashDetail();
|
ucd.setPositionId(model.getId());
|
ucd.setAgentId(user.getAgentId());
|
ucd.setAgentName(user.getAgentName());
|
ucd.setUserId(user.getId());
|
ucd.setUserName(user.getRealName());
|
ucd.setDeType("配资冻结");
|
ucd.setDeAmt(model.getPayAmount().multiply(new BigDecimal("-1")));
|
ucd.setDeSummary("申请按天配资:" + model.getOrderNumber() + ",冻结金额:" + model.getPayAmount().multiply(new BigDecimal("-1")) );
|
ucd.setAddTime(new Date());
|
ucd.setIsRead(Integer.valueOf(0));
|
int insertSxfCount = this.userCashDetailMapper.insert(ucd);
|
if (insertSxfCount > 0) {
|
log.info("【按天配资】申请成功");
|
}
|
|
} else {
|
log.error("【按天配资】修改用户金额出错");
|
throw new Exception("【按天配资】修改用户金额出错");
|
}
|
return ServerResponse.createBySuccessMsg("申请成功!");
|
} else {
|
return ServerResponse.createBySuccessMsg("申请失败,请稍后重试!");
|
}
|
}
|
|
@Override
|
public int update(FundsApply model) {
|
int ret = fundsApplyMapper.update(model);
|
return ret>0 ? ret: 0;
|
}
|
|
/**
|
* 配资申请-保存
|
*/
|
@Override
|
public ServerResponse save(FundsApply model) {
|
int ret = 0;
|
if(model!=null && model.getId()>0){
|
ret = fundsApplyMapper.update(model);
|
} else{
|
ret = fundsApplyMapper.insert(model);
|
}
|
if(ret>0){
|
return ServerResponse.createBySuccessMsg("操作成功");
|
}
|
return ServerResponse.createByErrorMsg("操作失败");
|
}
|
|
/**
|
* 配资申请-审核
|
*/
|
@Transactional
|
public ServerResponse audit(FundsApply model, HttpServletRequest request) throws Exception {
|
return ServerResponse.createByErrorMsg("操作失败");
|
}
|
|
|
/*配资申请-查询列表*/
|
@Override
|
public ServerResponse<PageInfo> getList(int pageNum, int pageSize, String keyword, Integer status, HttpServletRequest request){
|
PageHelper.startPage(pageNum, pageSize);
|
List<FundsApply> listData = this.fundsApplyMapper.pageList(pageNum, pageSize, keyword, status);
|
PageInfo pageInfo = new PageInfo(listData);
|
pageInfo.setList(listData);
|
return ServerResponse.createBySuccess(pageInfo);
|
}
|
|
/*配资申请-查询详情*/
|
@Override
|
public ServerResponse getDetail(int id) {
|
return ServerResponse.createBySuccess(this.fundsApplyMapper.load(id));
|
}
|
|
/**
|
* 配资申请-用户配资列表
|
*/
|
@Override
|
public ServerResponse<PageInfo> getUserApplyList(int pageNum, int pageSize, int userId, HttpServletRequest request){
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
if (user == null){
|
return ServerResponse.createBySuccessMsg("請先登錄");
|
}
|
PageHelper.startPage(pageNum, pageSize);
|
List<FundsApply> listData = this.fundsApplyMapper.getUserApplyList(pageNum, pageSize, user.getId());
|
PageInfo pageInfo = new PageInfo(listData);
|
pageInfo.setList(listData);
|
return ServerResponse.createBySuccess(pageInfo);
|
}
|
|
/**
|
* 配资申请-用户操盘中子账户
|
*/
|
@Override
|
public ServerResponse<PageInfo> getUserEnabledSubaccount(HttpServletRequest request){
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
List<FundsApply> listData = this.fundsApplyMapper.getUserEnabledSubaccount(user.getId());
|
PageInfo pageInfo = new PageInfo();
|
pageInfo.setList(listData);
|
return ServerResponse.createBySuccess(pageInfo);
|
}
|
|
}
|