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 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 queryOrderEcho(HttpServletRequest request) { User user = this.iUserService.getCurrentRefreshUser(request); if (user == null) { return new ArrayList<>(); } return orderEchoMapper.queryByUserId(user.getId()); } @Override public List queryALLOrderEcho() { return orderEchoMapper.queryAll(); } @Override public void sendMoney() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("state",1); queryWrapper.ge("end_time",System.currentTimeMillis()); List list = orderEchoMapper.selectList(queryWrapper); for (int i = 0; i