package com.boying.service.impl;
|
|
import cn.hutool.http.Header;
|
import cn.hutool.http.HttpRequest;
|
import cn.hutool.json.JSONUtil;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.boying.common.R;
|
import com.boying.common.ReturnData;
|
import com.boying.common.SystemConfigProperties;
|
import com.boying.entity.Ticket;
|
import com.boying.mapper.TicketMapper;
|
import cn.hutool.core.date.DateUtil;
|
import com.boying.service.TicketService;
|
import com.boying.util.HTTPEntityUtil;
|
import com.google.gson.Gson;
|
import lombok.AllArgsConstructor;
|
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.client.RestTemplate;
|
|
import java.text.DateFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* @author kdq
|
* @version 1.0.0
|
* @ClassName TicketServiceImpl.java
|
* @Description TODO
|
* @createTime 2022年11月20日 10:31:00
|
*/
|
@Service
|
@AllArgsConstructor
|
public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> implements TicketService {
|
private final TicketMapper ticketMapper;
|
private SystemConfigProperties systemConfigProperties;
|
|
|
@Override
|
public Integer count1() {
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.between(Ticket::getCreateTime,DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date()))
|
.isNotNull(Ticket::getPayCode);
|
return ticketMapper.selectCount(wrapper);
|
}
|
|
@Override
|
public int count2() {
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.between(Ticket::getCreateTime,DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date()))
|
.eq(Ticket::getPayStatus,1);
|
return ticketMapper.selectCount(wrapper);
|
}
|
|
@Override
|
public double sumByPrice() {
|
Double a = null;
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.select("IFNULL(ROUND(SUM(money)),0) as money");
|
wrapper.lambda().between(Ticket::getCreateTime,DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date()))
|
.eq(Ticket::getPayStatus,1);
|
Map<String, Object> map = getMap(wrapper);
|
a = Double.valueOf(map.get("money").toString());
|
if(a==null){
|
return 0.0;
|
}else{
|
return a;
|
}
|
}
|
|
@Override
|
public int count3() {
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.between(Ticket::getCreateTime,DateUtil.beginOfMonth(new Date()),DateUtil.endOfMonth(new Date()));
|
return ticketMapper.selectCount(wrapper);
|
}
|
|
@Override
|
public double sumByPrice2() {
|
Double a = null;
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.select("IFNULL(ROUND(SUM(money)),0) as money");
|
wrapper.lambda().between(Ticket::getCreateTime,DateUtil.beginOfMonth(new Date()),DateUtil.endOfMonth(new Date()))
|
.eq(Ticket::getPayStatus,1);
|
Map<String, Object> map = getMap(wrapper);
|
a = Double.valueOf(map.get("money").toString());
|
if(a==null){
|
return 0;
|
}else{
|
return a;
|
}
|
}
|
|
@Override
|
public int count4() {
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.eq(Ticket::getPayStatus,1);
|
int a = count(wrapper)*100;
|
int b = count();
|
return (a/b);
|
}
|
|
@Override
|
public int count5(int type) {
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.between(Ticket::getCreateTime,DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date()))
|
.eq(Ticket::getType,1);
|
if(type==1){
|
return ticketMapper.selectCount(wrapper);
|
}else{
|
wrapper.lambda().eq(Ticket::getStatus,1);
|
return ticketMapper.selectCount(wrapper);
|
}
|
}
|
|
@Override
|
public int count6() {
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.between(Ticket::getCreateTime,DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date()))
|
.eq(Ticket::getType,1);
|
return ticketMapper.selectCount(wrapper);
|
}
|
|
@Override
|
public double sumByPrice3() {
|
Double a = null;
|
QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
|
wrapper.select("IFNULL(ROUND(SUM(money)),0) as money");
|
wrapper.lambda().between(Ticket::getCreateTime,DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date()))
|
.eq(Ticket::getType,0)
|
.eq(Ticket::getPayStatus,1);
|
Map<String, Object> map = getMap(wrapper);
|
a = Double.valueOf(map.get("money").toString());
|
if(a==null){
|
return 0.0;
|
}else{
|
return a;
|
}
|
}
|
|
@Override
|
public void uploadInfo(Ticket ticket) {
|
DateFormat sdf= new SimpleDateFormat("yyyy年MM月dd日");
|
String ffzfIp = systemConfigProperties.getFfzfIp();
|
String info = systemConfigProperties.getInfo();
|
Map<String, Object> map = new HashMap<>();
|
String jsonString = JSONUtil.toJsonStr(ticket);
|
Gson gson = new Gson();
|
map = gson.fromJson(jsonString, map.getClass());
|
System.out.println(jsonString);
|
RestTemplate restTemplate = new RestTemplate();
|
ResponseEntity<R> entity = restTemplate.postForEntity(ffzfIp+info, HTTPEntityUtil.setEntity(map), R.class);
|
int code = entity.getBody().getCode();
|
if(code == 0){
|
ticket.setPush(1);
|
try {
|
Date date = new Date();
|
String format = sdf.format(date);
|
ticket.setWordDate(format);
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
this.updateById(ticket);
|
}
|
}
|
|
@Override
|
public Ticket getNumber(Ticket byId) {
|
String ffzfIp = systemConfigProperties.getFfzfIp();
|
String getNumber = systemConfigProperties.getGetNumber();
|
String loginIp = systemConfigProperties.getLoginIp();
|
Map<String, Object> paramMap = new HashMap<>();
|
paramMap.put("username","test");
|
paramMap.put("password","ttt000");
|
paramMap.put("randomStr","blockPuzzle");
|
paramMap.put("grant_type","password");
|
String body = HttpRequest.post(loginIp)
|
.header(Header.CONTENT_TYPE, "application/x-www-form-urlencoded")
|
.header("TENANT-ID", "1")
|
.header("isToken", "false")
|
.header(Header.AUTHORIZATION, "Basic YXBwOmFwcA==")
|
.form(paramMap)
|
.timeout(15000)
|
.execute()
|
.body();
|
System.out.println(body);
|
JSONObject map = JSON.parseObject(body);
|
String access_token = (String)map.get("access_token");
|
|
String body1 = HttpRequest.get(ffzfIp+getNumber)
|
.header(Header.CONTENT_TYPE, "application/json")
|
.header("TENANT-ID", "1")
|
.header(Header.AUTHORIZATION, "bearer "+access_token)
|
.timeout(15000)
|
.execute()
|
.body();
|
System.out.println(body1);
|
JSONObject map1 = JSON.parseObject(body1);
|
String data = (String)map1.get("data");
|
String[] split = data.split("-");
|
byId.setYear(split[0]);
|
byId.setNumber(split[1]);
|
updateById(byId);
|
return byId;
|
}
|
|
|
}
|