package com.moral.api.controller; 
 | 
  
 | 
import com.alibaba.fastjson.JSON; 
 | 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
 | 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
 | 
import com.moral.api.entity.Sensor; 
 | 
import com.moral.api.entity.SysDictData; 
 | 
import com.moral.api.entity.Test; 
 | 
import com.moral.api.entity.UnitConversion; 
 | 
import com.moral.api.mapper.SysDictDataMapper; 
 | 
import com.moral.api.service.SensorService; 
 | 
import com.moral.api.service.SysDictDataService; 
 | 
import com.moral.api.service.TestService; 
 | 
import com.moral.api.service.impl.SensorServiceImpl; 
 | 
import com.moral.api.util.CacheUtils; 
 | 
import com.moral.constant.Constants; 
 | 
import com.moral.constant.KafkaConstants; 
 | 
import com.moral.constant.RedisConstants; 
 | 
import com.moral.constant.ResultMessage; 
 | 
import com.moral.redis.RedisUtil; 
 | 
import com.moral.util.PageResult; 
 | 
import com.moral.util.TokenEncryptUtils; 
 | 
import com.moral.util.TokenUtils; 
 | 
  
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiImplicitParam; 
 | 
import io.swagger.annotations.ApiImplicitParams; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.beans.factory.annotation.Value; 
 | 
import org.springframework.boot.context.properties.ConfigurationProperties; 
 | 
import org.springframework.context.annotation.ComponentScan; 
 | 
import org.springframework.data.redis.core.RedisTemplate; 
 | 
import org.springframework.kafka.core.KafkaTemplate; 
 | 
import org.springframework.stereotype.Component; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.annotation.Resource; 
 | 
  
 | 
import java.io.*; 
 | 
import java.util.HashMap; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
import java.util.Set; 
 | 
  
 | 
  
 | 
@Slf4j 
 | 
@Api(tags = {"大屏"}) 
 | 
@RestController 
 | 
@RequestMapping("/api") 
 | 
public class TestController { 
 | 
  
 | 
    @Resource 
 | 
    private KafkaTemplate kafkaTemplate; 
 | 
  
 | 
    @Resource 
 | 
    private TestService testService; 
 | 
  
 | 
    @Autowired 
 | 
    RedisTemplate redisTemplate; 
 | 
  
 | 
  
 | 
    /** 
 | 
     * name   姓名 
 | 
     * email  郵箱 
 | 
     * mobile 手機號 
 | 
     */ 
 | 
    @ApiOperation(value = "测试插入", notes = "测试插入") 
 | 
    @RequestMapping(value = "/saveTest", method = RequestMethod.POST) 
 | 
    public ResultMessage save() { 
 | 
  
 | 
        Test test = new Test(); 
 | 
        test.setEmail("test@qq.com"); 
 | 
        test.setName("name"); 
 | 
        test.setMobile("13965898745"); 
 | 
        testService.save(test); 
 | 
        return ResultMessage.ok(); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * page   當前頁 
 | 
     * size   每頁大小 
 | 
     */ 
 | 
    @ApiOperation(value = "分頁", notes = "分頁") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(name = "page", value = "當前頁數", required = true, paramType = "path", dataType = "Int"), 
 | 
            @ApiImplicitParam(name = "size", value = "每頁大小", required = true, paramType = "path", dataType = "Int") 
 | 
    }) 
 | 
    @RequestMapping(value = "search/{page}/{size}", method = RequestMethod.GET) 
 | 
    public ResultMessage findBypage(@PathVariable("page") Integer page, @PathVariable("size") Integer size) { 
 | 
  
 | 
        //log.info("page is:" + page + " size is:" + size); 
 | 
        //根据条件分页查询 
 | 
        Page<Test> userPage = testService.selectByPage(null, page, size); 
 | 
        //封装分页返回对象 
 | 
        PageResult<Test> pageResult = new PageResult<>( 
 | 
                userPage.getTotal(), userPage.getPages(), userPage.getRecords() 
 | 
        ); 
 | 
        //返回数据 
 | 
        return ResultMessage.ok(pageResult); 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * redis測試 
 | 
     */ 
 | 
    @ApiOperation(value = "redis測試", notes = "redis測試") 
 | 
    @RequestMapping(value = "redis", method = RequestMethod.GET) 
 | 
    public ResultMessage testRedis() { 
 | 
        RedisUtil.set("redistest", "test"); 
 | 
        return ResultMessage.ok(RedisUtil.get("redistest")); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 事務 
 | 
     */ 
 | 
    @ApiOperation(value = "事務測試", notes = "事務測試") 
 | 
    @RequestMapping(value = "saveTest", method = RequestMethod.GET) 
 | 
    public ResultMessage saveTest() throws Exception { 
 | 
        testService.saveTest(); 
 | 
        return ResultMessage.ok(); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 分钟主题kafka測試 
 | 
     */ 
 | 
    @ApiOperation(value = "kafka測試", notes = "kafka測試") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(name = "data", value = "data", required = true, paramType = "query", dataType = "String"), 
 | 
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") 
 | 
    }) 
 | 
    @RequestMapping(value = "minuteKafkaTest", method = RequestMethod.GET) 
 | 
    public void minuteKafkaTest(String data) { 
 | 
        System.out.println(data); 
 | 
        kafkaTemplate.send(KafkaConstants.TOPIC_MINUTE, data); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 小时主题kafka測試 
 | 
     */ 
 | 
    @ApiOperation(value = "kafka測試", notes = "kafka測試") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(name = "data", value = "data", required = true, paramType = "query", dataType = "String"), 
 | 
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") 
 | 
    }) 
 | 
    @RequestMapping(value = "hourKafkaTest", method = RequestMethod.GET) 
 | 
    public void hourKafkaTest(String data) { 
 | 
        System.out.println(data); 
 | 
        kafkaTemplate.send(KafkaConstants.TOPIC_HOUR, data); 
 | 
    } 
 | 
  
 | 
    @GetMapping("testToken") 
 | 
    public void testToken() { 
 | 
        String decoded = TokenEncryptUtils.decoded("5b53480d4e570b54565f555775"); 
 | 
        String decoded2 = TokenEncryptUtils.decoded("584f560a49510f5453515453"); 
 | 
        System.out.println(decoded); 
 | 
        System.out.println(decoded2); 
 | 
    } 
 | 
  
 | 
    public static void main(String[] args) throws IOException { 
 | 
        String path = "C:\\Users\\cdl\\Desktop\\province.txt"; 
 | 
        BufferedReader fis = new BufferedReader(new FileReader(path)); 
 | 
        BufferedWriter writer = new BufferedWriter(new FileWriter("C:\\Users\\cdl\\Desktop\\provin1ce.txt")); 
 | 
        String line = ""; 
 | 
        while ((line = fis.readLine()) != null) { 
 | 
            //获取code 
 | 
            StringBuilder str = new StringBuilder(line); 
 | 
            String code = str.substring(31, 37); 
 | 
  
 | 
            //获取名称 
 | 
            char[] chars = line.toCharArray(); 
 | 
            int i = 0; 
 | 
            StringBuilder buffered = new StringBuilder(); 
 | 
            for (char aChar : chars) { 
 | 
                if (aChar == '\'') 
 | 
                    i++; 
 | 
                if (i == 1) { 
 | 
                    buffered.append(aChar); 
 | 
                } 
 | 
            } 
 | 
            buffered.append('\''); 
 | 
            String name = buffered.toString(); 
 | 
  
 | 
            //获取父级code 
 | 
            line.trim(); 
 | 
            char[] chars1 = line.toCharArray(); 
 | 
            int j = 0; 
 | 
            StringBuilder buffered2 = new StringBuilder(); 
 | 
            for (char c : chars1) { 
 | 
                if (j == 6) { 
 | 
                    buffered2.append(c); 
 | 
                } 
 | 
                if (c == ',') 
 | 
                    j++; 
 | 
            } 
 | 
            StringBuilder parentCode = buffered2.deleteCharAt(buffered2.length() - 1); 
 | 
            //写入 
 | 
            writer.write("INSERT INTO `sys_area` VALUES (" + code + "," + name + "," + parentCode + ");"); 
 | 
            writer.newLine(); 
 | 
        } 
 | 
  
 | 
        writer.close(); 
 | 
        fis.close(); 
 | 
    } 
 | 
  
 | 
    @Autowired 
 | 
    private SensorService sensorService; 
 | 
    @Autowired 
 | 
    SysDictDataMapper sysDictDataMapper; 
 | 
  
 | 
    @ApiOperation(value = "因子测试", notes = "因子测试") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") 
 | 
    }) 
 | 
    @RequestMapping(value = "getSensor", method = RequestMethod.GET) 
 | 
    public void getSensor() { 
 | 
        QueryWrapper<Sensor> queryWrapper = new QueryWrapper<>(); 
 | 
        queryWrapper.select("code").eq("is_delete", Constants.NOT_DELETE); 
 | 
        List<Object> list = sensorService.listObjs(queryWrapper); 
 | 
        for (Object o : list) { 
 | 
            System.out.println(o); 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |