package com.nq.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.nq.dao.EChoMapper;
|
import com.nq.dao.OrderEchoMapper;
|
import com.nq.enums.UserRecordTypeEnum;
|
import com.nq.pojo.EChoBean;
|
import com.nq.pojo.OrderEchoBean;
|
import com.nq.pojo.User;
|
import com.nq.service.IEchoServices;
|
import com.nq.service.IUserService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
public class EchoServices implements IEchoServices {
|
|
@Autowired
|
EChoMapper eChoMapper;
|
|
@Autowired
|
OrderEchoMapper orderEchoMapper;
|
|
@Autowired
|
IUserService iUserService;
|
|
@Override
|
public List<EChoBean> queryList() {
|
return eChoMapper.selectQueryAll();
|
}
|
|
@Override
|
public boolean buyECho(String eId, Integer money, HttpServletRequest request) {
|
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
|
if (user == null) {
|
return false;
|
}
|
|
|
EChoBean eChoBean = eChoMapper.selectById(Integer.parseInt(eId));
|
if (eChoBean == null) {
|
return false;
|
} else {
|
OrderEchoBean orderEchoBean = new OrderEchoBean();
|
orderEchoBean.setEid(eChoBean.getId().toString());
|
orderEchoBean.setReturnOfRate(eChoBean.getReturnOfRate());
|
orderEchoBean.setUserId(user.getId() + "");
|
Long buyTime = System.currentTimeMillis();
|
orderEchoBean.setBuyTime(buyTime);
|
Long sTime = Long.parseLong(eChoBean.getReturnTime())*86400000;
|
Long endTime = buyTime +sTime;
|
orderEchoBean.setEndTime(endTime);;
|
orderEchoBean.setMoney(money.toString());
|
orderEchoBean.setState("1");
|
iUserService.updateAmt(user.getId(),money.toString(),1, UserRecordTypeEnum.type_3);
|
return orderEchoMapper.insert(orderEchoBean) >= 1;
|
}
|
}
|
|
@Override
|
public List<OrderEchoBean> queryOrderEcho(HttpServletRequest request) {
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
if (user == null) {
|
return new ArrayList<>();
|
}
|
return orderEchoMapper.queryByUserId(user.getId());
|
}
|
|
@Override
|
public List<OrderEchoBean> queryALLOrderEcho() {
|
return orderEchoMapper.queryAll();
|
}
|
|
@Override
|
public void sendMoney() {
|
QueryWrapper<OrderEchoBean> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("state",1);
|
queryWrapper.ge("end_time",System.currentTimeMillis());
|
List<OrderEchoBean> list = orderEchoMapper.selectList(queryWrapper);
|
for (int i = 0; i <list.size() ; i++) {
|
OrderEchoBean orderEchoBean = list.get(i);
|
BigDecimal money = BigDecimal.valueOf(Long.parseLong(orderEchoBean.getMoney()));
|
BigDecimal rate = BigDecimal.valueOf(Long.parseLong(orderEchoBean.getReturnOfRate()));
|
String money1 =rate.divide(BigDecimal.valueOf(100)).add(BigDecimal.valueOf(1)).multiply(money).setScale(2).toString();
|
iUserService.updateAmt(Integer.parseInt(orderEchoBean.getUserId()),money1,0);
|
orderEchoBean.setState("2");
|
}
|
}
|
|
@Override
|
public int insertEcho(EChoBean eChoBean) {
|
return eChoMapper.insert(eChoBean);
|
}
|
|
@Override
|
public int updateEcho(EChoBean eChoBean) {
|
return eChoMapper.updateById(eChoBean);
|
}
|
|
@Override
|
public int deletet(Integer id) {
|
return eChoMapper.deleteById(id);
|
}
|
}
|