package com.ruoyi.sy.controller; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.utils.httpclient.SYCarClient; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.sy.domain.ArdSyCar; import com.ruoyi.sy.service.IArdSyCarService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; /** * 三一车辆Controller * * @author ard * @date 2023-06-26 */ @RestController @RequestMapping("/sy/syCar") @Api(tags = "三一车辆管理接口") public class ArdSyCarController extends BaseController { @Autowired private IArdSyCarService ardSyCarService; @Autowired private ISysConfigService sysConfigService; /** * 查询三一车辆列表 */ @PreAuthorize("@ss.hasPermi('sy:syCar:list')") @GetMapping("/list") public TableDataInfo list(ArdSyCar ardSyCar) { startPage(); List list = ardSyCarService.selectArdSyCarList(ardSyCar); return getDataTable(list); } /** * 导出三一车辆列表 */ @PreAuthorize("@ss.hasPermi('sy:syCar:export')") @Log(title = "三一车辆", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ArdSyCar ardSyCar) { List list = ardSyCarService.selectArdSyCarList(ardSyCar); ExcelUtil util = new ExcelUtil(ArdSyCar.class); util.exportExcel(response, list, "三一车辆数据"); } /** * 获取三一车辆详细信息 */ @PreAuthorize("@ss.hasPermi('sy:syCar:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { return success(ardSyCarService.selectArdSyCarById(id)); } /** * 新增三一车辆 */ @PreAuthorize("@ss.hasPermi('sy:syCar:add')") @Log(title = "三一车辆", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdSyCar ardSyCar) { return toAjax(ardSyCarService.insertArdSyCar(ardSyCar)); } /** * 修改三一车辆 */ @PreAuthorize("@ss.hasPermi('sy:syCar:edit')") @Log(title = "三一车辆", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdSyCar ardSyCar) { return toAjax(ardSyCarService.updateArdSyCar(ardSyCar)); } /** * 删除三一车辆 */ @PreAuthorize("@ss.hasPermi('sy:syCar:remove')") @Log(title = "三一车辆", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardSyCarService.deleteArdSyCarByIds(ids)); } /** * 获取三一车辆登录信息 */ @PreAuthorize("@ss.hasPermi('sy:syCar:loginSY')") @PostMapping("/loginSY") @ApiOperation("获取三一车辆登录信息") public Map loginSY(@RequestBody Map map){ //startPage(); String userId = map.get("userId"); String password = map.get("password"); SysConfig config = new SysConfig(); config.setConfigKey("syCarPT"); List sysConfigResult = sysConfigService.selectConfigList(config); String syURL = ""; if(sysConfigResult.size() == 0){ return error("三一车辆url没有录入"); }else{ syURL = sysConfigResult.get(0).getConfigValue(); Map result = SYCarClient.logIn(syURL,userId, password); return success(result); } } /** * 获取未挂接权限的三一车辆 */ @PreAuthorize("@ss.hasPermi('sy:syCar:getArdSyCarNoRight')") @PostMapping("/getArdSyCarNoRight") @ApiOperation("获取未挂接权限的三一车辆") public Map getArdSyCarNoRight(){ String userId = SecurityUtils.getUserId(); Map result = ardSyCarService.getArdSyCarNoRight(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(""); } } }