艾金辉
2023-07-21 417459b4f36b090097323f0f7d3c8469e9687f66
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -1,12 +1,18 @@
package com.ruoyi.sy.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.client.ARDCarGPSLogInClient;
import com.ruoyi.client.ARDCarSYGPSClient;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.service.IArdSyUserService;
import com.ruoyi.sy.service.SysParaService;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.utils.httpclient.SYCarClient;
@@ -26,6 +32,7 @@
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
/**
 * 三一车辆Controller
@@ -43,6 +50,14 @@
    @Autowired
    private ISysConfigService sysConfigService;
    private Map<Integer,Map<String,String>> logInMap = new HashMap();
    @Autowired
    private SysParaService sysParaService;
    @Autowired
    private IArdSyUserService iArdSyUserService;
    /**
     * 查询三一车辆列表
@@ -85,8 +100,11 @@
    @PreAuthorize("@ss.hasPermi('sy:syCar:add')")
    @Log(title = "三一车辆", businessType = BusinessType.INSERT)
    @PostMapping
    @ApiOperation("新增三一车辆")
    public AjaxResult add(@RequestBody ArdSyCar ardSyCar)
    {
        String id = IdUtils.simpleUUID();
        ardSyCar.setId(id);
        return toAjax(ardSyCarService.insertArdSyCar(ardSyCar));
    }
@@ -96,6 +114,7 @@
    @PreAuthorize("@ss.hasPermi('sy:syCar:edit')")
    @Log(title = "三一车辆", businessType = BusinessType.UPDATE)
    @PutMapping
    @ApiOperation("修改三一车辆")
    public AjaxResult edit(@RequestBody ArdSyCar ardSyCar)
    {
        return toAjax(ardSyCarService.updateArdSyCar(ardSyCar));
@@ -107,6 +126,7 @@
    @PreAuthorize("@ss.hasPermi('sy:syCar:remove')")
    @Log(title = "三一车辆", businessType = BusinessType.DELETE)
   @DeleteMapping("/{ids}")
    @ApiOperation("删除三一车辆")
    public AjaxResult remove(@PathVariable String[] ids)
    {
        return toAjax(ardSyCarService.deleteArdSyCarByIds(ids));
@@ -154,6 +174,24 @@
    }
    /**
     * 获取全部的三一车辆
     */
    @PreAuthorize("@ss.hasPermi('sy:syCar:getArdSyCarAll')")
    @PostMapping("/getArdSyCarAll")
    @ApiOperation("获取全部的三一车辆")
    public Map<String,Object> getArdSyCarAll(){
        String userId = SecurityUtils.getUserId();
        Map<String,Object> result = ardSyCarService.getArdSyCarAll(userId);
        if(((String)result.get("code")).equals("500")){
            return error((String) result.get("data"));
        }else if(((String)result.get("code")).equals("200")){
            return success(result.get("data"));
        }else{
            return error("");
        }
    }
    /**
     * 获取全部车辆模型
     */
    @PreAuthorize("@ss.hasPermi('sy:syCar:getAllCarModel')")
@@ -168,4 +206,69 @@
        }
    }
    /**
     * 上传车辆图片
     */
    @PreAuthorize("@ss.hasPermi('sy:syCar:uploadCarPicture')")
    @PostMapping("/uploadCarPicture")
    @ApiOperation("上传车辆图片")
    public Map<String,Object> uploadCarPicture(@RequestParam(value = "id",required = false,defaultValue = "") String id,@RequestParam("carPicture") MultipartFile carPicture){
        try{
            String result = ardSyCarService.uploadCarPicture(id,carPicture);
            return success(result);
        } catch(Exception e){
            return error("");
        }
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:allListByUser')")
    @PostMapping("allListByUser")
    @ApiOperation("根据用户获取三一列表")
    public Map<String,Object> allListByUser(){
        String usersId = SecurityUtils.getUserId();
        Map<String, String> result = logInMap.get(Integer.parseInt(usersId));
        String syURL = sysParaService.getSYURL();
        if(result == null){
            Map<String,Object> m = iArdSyUserService.selectArdSyUserByUsersId(Integer.parseInt(usersId));
            if(m == null){
                Map<String,Object> map0 = new HashMap();
                map0.put("rspDesc", "当前登录用户未挂接车辆权限");
                map0.put("rspCode", "0");
                return map0;
            }
            Map<String, Object> result0 = ARDCarGPSLogInClient.loginIn(syURL,(String) m.get("userId"), (String) m.get("password"));
            result = new HashMap();
            result.put("userId", (String) m.get("userId"));
            result.put("sessionId", (String) result0.get("sessionId"));
        }
        Map<String,Object> result0 = new HashMap();
        try {
            result0 = ARDCarSYGPSClient.getCarGPSTeamList(syURL,result.get("userId"),result.get("sessionId"));//
        } catch (Exception e) {
            Map<String,Object> map = new HashMap();
            map.put("rspCode", 0);
            map.put("list", new ArrayList());
            return map;
        }
        int online = 0;
        for(Map<String,Object> map : (List<Map<String,Object>>) result0.get("list")){
            Map<String,Object> resultMap = (Map<String, Object>) ARDCarSYGPSClient.getCarListByTeamId(syURL,(String)map.get("teamId"),result.get("sessionId"));
            List<Map<String,Object>> carList = (List<Map<String, Object>>) resultMap.get("carList");
            for(Map<String,Object> m : carList){
                if(((String) m.get("stateCn")).contains("在线")){
                    online = online + 1;
                }else{
                    continue;
                }
            }
            for(Map<String,Object> m : (List<Map<String,Object>>) result0.get("list")){
                if(((String) m.get("teamId")).equals(((String) map.get("teamId")))){
                    map.put("count", Integer.parseInt((String) m.get("carNum")));
                }
            }
            map.put("online", online);
            online = 0;
        }
        return result0;
    }
}