2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-01-12 8da27238ae8ed8a6963d13d9a4aede301ac22d32
Merge remote-tracking branch 'origin/master'
已修改5个文件
已添加3个文件
139 ■■■■■ 文件已修改
sandu-common/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sandu-common/src/main/java/com/sandu/common/util/ResponseUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseMockMvcRequestBuilders.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseTest.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/test/java/com/sandu/ximon/admin/base/ResultActionsUtil.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sandu-common/pom.xml
@@ -62,6 +62,8 @@
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!-- other -->
        <dependency>
            <groupId>com.baomidou</groupId>
sandu-common/src/main/java/com/sandu/common/util/ResponseUtil.java
@@ -1,5 +1,6 @@
package com.sandu.common.util;
import com.github.pagehelper.Page;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.enums.ResponseStatusEnums;
@@ -26,6 +27,9 @@
     * è¿”回 æˆåŠŸ
     */
    public static ResponseVO<Object> success(Object data) {
        if(data instanceof Page){
            return new ResponseVO<>(ResponseStatusEnums.SUCCESS.getCode(), ResponseStatusEnums.SUCCESS.getMessage(), CommonPage.restPage((Page<?>)data));
        }
        return new ResponseVO<>(ResponseStatusEnums.SUCCESS.getCode(), ResponseStatusEnums.SUCCESS.getMessage(), data);
    }
ximon-admin/pom.xml
@@ -41,6 +41,11 @@
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-iot</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!--阿里云物联网 -->
    </dependencies>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java
@@ -56,12 +56,12 @@
    @GetMapping("/report/list")
    public ResponseVO<Object> listReportData(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword, @RequestParam(required = false) String deviceCode) {
        List<LightReportDataBo> list = lightReportDataService.listReportData(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, deviceCode);
        return ResponseUtil.success(list);
        return ResponseUtil.successPage(list);
    }
    @GetMapping("/error/list")
    public ResponseVO<Object> listReportError(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword) {
        List<LightReportErrorBo> list = lightReportErrorService.listReportError(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword);
        return ResponseUtil.success(list);
        return ResponseUtil.successPage(list);
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -65,6 +65,7 @@
    @GetMapping("listPoleAndState")
    public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        return ResponseUtil.successPage(poles);
    }
@@ -102,6 +103,12 @@
    @PostMapping("/listStatusByDeviceCode")
    public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList){
        for (String s: deviceCodeList) {
            if(s==null){
                return ResponseUtil.fail("参数不能为空");
            }
        }
        if(ArrayUtil.isEmpty(deviceCodeList)) {
            return ResponseUtil.fail("参数不能为空");
        }
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseMockMvcRequestBuilders.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.sandu.ximon.admin.base;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
public class BaseMockMvcRequestBuilders {
    //全局的请求头数据
   // public final static String TOKEN_KEY = "DeviceId";
    //public final static String TOKEN = "123456";
    public final static String TOKEN = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJhZG1pbiIsImNyZWQiOjAsImV4cCI6MTY0MzIxNTgwN30.b9hHNpLDe3XThtCr8alFl4DZlfWM1Rx2o_AvFnutUQEqnyuh0JDlYigcev8zk_tKuSPDpXtWVsdKKQqlKLRb3g";
    /**
     * post请求
     *
     * @param url
     * @return
     */
    public static MockHttpServletRequestBuilder post(String url) {
        return MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON)//请求的数据格式
                .header(TOKEN)
                .characterEncoding("UTF-8");//设置请求的编码
    }
    /**
     * get请求
     *
     * @param url
     * @return
     */
    public static MockHttpServletRequestBuilder get(String url) {
        return MockMvcRequestBuilders.get(url).contentType(MediaType.APPLICATION_JSON)//请求的数据格式
                .header(TOKEN)
                .characterEncoding("UTF-8");//设置请求的编码
    }
}
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseTest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.sandu.ximon.admin.base;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
/**
 * @author chenjiantian
 * @date 2022/1/12 11:20
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class BaseTest {
    @Autowired
    private WebApplicationContext wac;
    private MockMvc mockMvc;
    @Before
    public void setup() {
        this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
    }
    public MockMvc getMvc() {
        return mockMvc;
    }
    public void checkPost(String url,Object param) throws Exception{
        MockHttpServletRequestBuilder builder = BaseMockMvcRequestBuilders.post(url);
        if(param != null){
            builder.content((new ObjectMapper()).valueToTree(param).toString());//请求的参数
        }
        ResultActions resultActions = mockMvc.perform(builder);
        JSONObject response = ResultActionsUtil.getResponse(resultActions);
        //打印全部信息
        resultActions.andDo(print());
        //对数据进行预期的判断
        Assert.assertEquals("20000", response.getString("code"));
    }
    public void checkGet(String url) throws Exception{
        MockHttpServletRequestBuilder builder = BaseMockMvcRequestBuilders.get(url);
        ResultActions resultActions = mockMvc.perform(builder);
        JSONObject response = ResultActionsUtil.getResponse(resultActions);
        //打印全部信息
        resultActions.andDo(print());
        //对数据进行预期的判断
        Assert.assertEquals("20000", response.getString("code"));
    }
}
ximon-admin/src/test/java/com/sandu/ximon/admin/base/ResultActionsUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.sandu.ximon.admin.base;
import com.alibaba.fastjson.JSONObject;
import org.springframework.test.web.servlet.ResultActions;
import java.io.UnsupportedEncodingException;
public class ResultActionsUtil {
    public static JSONObject getResponse(ResultActions resultActions) {
        //设置返回数据的编码-避免中文乱码的请求
        resultActions.andReturn().getResponse().setCharacterEncoding("UTF-8");
        //转换成对象
        try {
            return JSONObject.parseObject(resultActions.andReturn().getResponse().getContentAsString());
        } catch (UnsupportedEncodingException e) {
            return new JSONObject();
        }
    }
}