kongdeqiang
2023-12-18 05e0bb9b28295d1e80c6c47783e53d6879285198
src/main/java/com/boying/service/impl/TicketServiceImpl.java
@@ -1,15 +1,31 @@
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;
/**
@@ -23,6 +39,7 @@
@AllArgsConstructor
public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> implements TicketService {
    private final TicketMapper ticketMapper;
    private SystemConfigProperties systemConfigProperties;
    @Override
@@ -132,4 +149,72 @@
            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;
    }
}