zhangnaisong
2023-06-27 d938ce1c42af5286a544d4fcdde7d94f858e3487
查询未挂接权限的三一车辆提交
已添加7个文件
787 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/domain/ArdSyCar.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/httpclient/SYCarClient.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,157 @@
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.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<ArdSyCar> 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<ArdSyCar> list = ardSyCarService.selectArdSyCarList(ardSyCar);
        ExcelUtil<ArdSyCar> util = new ExcelUtil<ArdSyCar>(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<String,Object> loginSY(@RequestBody Map<String,String> map){
        //startPage();
        String userId = map.get("userId");
        String password = map.get("password");
        SysConfig config = new SysConfig();
        config.setConfigKey("syCarPT");
        List<SysConfig> sysConfigResult = sysConfigService.selectConfigList(config);
        String syURL = "";
        if(sysConfigResult.size() == 0){
            return error("三一车辆url没有录入");
        }else{
            syURL = sysConfigResult.get(0).getConfigValue();
            Map<String,Object> result = SYCarClient.logIn(syURL,userId, password);
            return success(result);
        }
    }
    /**
     * èŽ·å–æœªæŒ‚æŽ¥æƒé™çš„ä¸‰ä¸€è½¦è¾†
     */
    @PreAuthorize("@ss.hasPermi('sy:syCar:getArdSyCarNoRight')")
    @PostMapping("/getArdSyCarNoRight")
    @ApiOperation("获取未挂接权限的三一车辆")
    public Map<String,Object> getArdSyCarNoRight(){
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        String userId = request.getHeader("token");
        System.out.println("//////////");
        System.out.println(userId);
        Map<String,Object> 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("");
        }
    }
}
ard-work/src/main/java/com/ruoyi/sy/domain/ArdSyCar.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
package com.ruoyi.sy.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * ä¸‰ä¸€è½¦è¾†å¯¹è±¡ ard_sy_car
 *
 * @author ard
 * @date 2023-06-26
 */
public class ArdSyCar extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”® */
    private String id;
    /** è½¦è¾†ä¸»é”® */
    @Excel(name = "车辆主键")
    private String carId;
    /** è½¦è¾†æ¨¡åž‹ */
    @Excel(name = "车辆模型")
    private String carModel;
    /** è½¦è¾†ç±»åž‹ */
    @Excel(name = "车辆类型")
    private String carType;
    /** è½¦è¾†å“ç‰Œ */
    @Excel(name = "车辆品牌")
    private String carBrand;
    /** æ‰€å±žéƒ¨é—¨ä¸»é”® */
    @Excel(name = "所属部门主键")
    private String deptId;
    /** è½¦è¾†å›¾ç‰‡ */
    @Excel(name = "车辆图片")
    private String carPicture;
    /** é¢„ç•™1 */
    @Excel(name = "预留1")
    private String reserved1;
    /** é¢„ç•™2 */
    @Excel(name = "预留2")
    private String reserved2;
    /** é¢„ç•™3 */
    @Excel(name = "预留3")
    private String reserved3;
    public void setId(String id)
    {
        this.id = id;
    }
    public String getId()
    {
        return id;
    }
    public void setCarId(String carId)
    {
        this.carId = carId;
    }
    public String getCarId()
    {
        return carId;
    }
    public void setCarModel(String carModel)
    {
        this.carModel = carModel;
    }
    public String getCarModel()
    {
        return carModel;
    }
    public void setCarType(String carType)
    {
        this.carType = carType;
    }
    public String getCarType()
    {
        return carType;
    }
    public void setCarBrand(String carBrand)
    {
        this.carBrand = carBrand;
    }
    public String getCarBrand()
    {
        return carBrand;
    }
    public void setDeptId(String deptId)
    {
        this.deptId = deptId;
    }
    public String getDeptId()
    {
        return deptId;
    }
    public void setCarPicture(String carPicture)
    {
        this.carPicture = carPicture;
    }
    public String getCarPicture()
    {
        return carPicture;
    }
    public void setReserved1(String reserved1)
    {
        this.reserved1 = reserved1;
    }
    public String getReserved1()
    {
        return reserved1;
    }
    public void setReserved2(String reserved2)
    {
        this.reserved2 = reserved2;
    }
    public String getReserved2()
    {
        return reserved2;
    }
    public void setReserved3(String reserved3)
    {
        this.reserved3 = reserved3;
    }
    public String getReserved3()
    {
        return reserved3;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("carId", getCarId())
            .append("carModel", getCarModel())
            .append("carType", getCarType())
            .append("carBrand", getCarBrand())
            .append("deptId", getDeptId())
            .append("carPicture", getCarPicture())
            .append("reserved1", getReserved1())
            .append("reserved2", getReserved2())
            .append("reserved3", getReserved3())
            .toString();
    }
}
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.sy.mapper;
import java.util.List;
import com.ruoyi.sy.domain.ArdSyCar;
/**
 * ä¸‰ä¸€è½¦è¾†Mapper接口
 *
 * @author ard
 * @date 2023-06-26
 */
public interface ArdSyCarMapper
{
    /**
     * æŸ¥è¯¢ä¸‰ä¸€è½¦è¾†
     *
     * @param id ä¸‰ä¸€è½¦è¾†ä¸»é”®
     * @return ä¸‰ä¸€è½¦è¾†
     */
    public ArdSyCar selectArdSyCarById(String id);
    /**
     * æŸ¥è¯¢ä¸‰ä¸€è½¦è¾†åˆ—表
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ä¸‰ä¸€è½¦è¾†é›†åˆ
     */
    public List<ArdSyCar> selectArdSyCarList(ArdSyCar ardSyCar);
    /**
     * æ–°å¢žä¸‰ä¸€è½¦è¾†
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ç»“æžœ
     */
    public int insertArdSyCar(ArdSyCar ardSyCar);
    /**
     * ä¿®æ”¹ä¸‰ä¸€è½¦è¾†
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ç»“æžœ
     */
    public int updateArdSyCar(ArdSyCar ardSyCar);
    /**
     * åˆ é™¤ä¸‰ä¸€è½¦è¾†
     *
     * @param id ä¸‰ä¸€è½¦è¾†ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdSyCarById(String id);
    /**
     * æ‰¹é‡åˆ é™¤ä¸‰ä¸€è½¦è¾†
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdSyCarByIds(String[] ids);
}
ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
package com.ruoyi.sy.service;
import java.util.List;
import java.util.Map;
import com.ruoyi.sy.domain.ArdSyCar;
/**
 * ä¸‰ä¸€è½¦è¾†Service接口
 *
 * @author ard
 * @date 2023-06-26
 */
public interface IArdSyCarService
{
    /**
     * æŸ¥è¯¢ä¸‰ä¸€è½¦è¾†
     *
     * @param id ä¸‰ä¸€è½¦è¾†ä¸»é”®
     * @return ä¸‰ä¸€è½¦è¾†
     */
    public ArdSyCar selectArdSyCarById(String id);
    /**
     * æŸ¥è¯¢ä¸‰ä¸€è½¦è¾†åˆ—表
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ä¸‰ä¸€è½¦è¾†é›†åˆ
     */
    public List<ArdSyCar> selectArdSyCarList(ArdSyCar ardSyCar);
    /**
     * æ–°å¢žä¸‰ä¸€è½¦è¾†
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ç»“æžœ
     */
    public int insertArdSyCar(ArdSyCar ardSyCar);
    /**
     * ä¿®æ”¹ä¸‰ä¸€è½¦è¾†
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ç»“æžœ
     */
    public int updateArdSyCar(ArdSyCar ardSyCar);
    /**
     * æ‰¹é‡åˆ é™¤ä¸‰ä¸€è½¦è¾†
     *
     * @param ids éœ€è¦åˆ é™¤çš„三一车辆主键集合
     * @return ç»“æžœ
     */
    public int deleteArdSyCarByIds(String[] ids);
    /**
     * åˆ é™¤ä¸‰ä¸€è½¦è¾†ä¿¡æ¯
     *
     * @param id ä¸‰ä¸€è½¦è¾†ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdSyCarById(String id);
    /**
     * èŽ·å–æœªæŒ‚æŽ¥æƒé™çš„ä¸‰ä¸€è½¦è¾†
     */
    public Map<String,Object> getArdSyCarNoRight(String userId);
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,162 @@
package com.ruoyi.sy.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import com.ruoyi.sy.domain.ArdSyUser;
import com.ruoyi.sy.mapper.ArdSyUserMapper;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.utils.httpclient.SYCarClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.sy.mapper.ArdSyCarMapper;
import com.ruoyi.sy.domain.ArdSyCar;
import com.ruoyi.sy.service.IArdSyCarService;
import javax.annotation.Resource;
/**
 * ä¸‰ä¸€è½¦è¾†Service业务层处理
 *
 * @author ard
 * @date 2023-06-26
 */
@Service
public class ArdSyCarServiceImpl implements IArdSyCarService {
    @Resource
    private ArdSyCarMapper ardSyCarMapper;
    @Resource
    private SysConfigMapper sysConfigMapper;
    @Resource
    private ArdSyUserMapper ardSyUserMapper;
    /**
     * æŸ¥è¯¢ä¸‰ä¸€è½¦è¾†
     *
     * @param id ä¸‰ä¸€è½¦è¾†ä¸»é”®
     * @return ä¸‰ä¸€è½¦è¾†
     */
    @Override
    public ArdSyCar selectArdSyCarById(String id) {
        return ardSyCarMapper.selectArdSyCarById(id);
    }
    /**
     * æŸ¥è¯¢ä¸‰ä¸€è½¦è¾†åˆ—表
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ä¸‰ä¸€è½¦è¾†
     */
    @Override
    public List<ArdSyCar> selectArdSyCarList(ArdSyCar ardSyCar) {
        return ardSyCarMapper.selectArdSyCarList(ardSyCar);
    }
    /**
     * æ–°å¢žä¸‰ä¸€è½¦è¾†
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ç»“æžœ
     */
    @Override
    public int insertArdSyCar(ArdSyCar ardSyCar) {
            return ardSyCarMapper.insertArdSyCar(ardSyCar);
    }
    /**
     * ä¿®æ”¹ä¸‰ä¸€è½¦è¾†
     *
     * @param ardSyCar ä¸‰ä¸€è½¦è¾†
     * @return ç»“æžœ
     */
    @Override
    public int updateArdSyCar(ArdSyCar ardSyCar) {
        return ardSyCarMapper.updateArdSyCar(ardSyCar);
    }
    /**
     * æ‰¹é‡åˆ é™¤ä¸‰ä¸€è½¦è¾†
     *
     * @param ids éœ€è¦åˆ é™¤çš„三一车辆主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdSyCarByIds(String[] ids) {
        return ardSyCarMapper.deleteArdSyCarByIds(ids);
    }
    /**
     * åˆ é™¤ä¸‰ä¸€è½¦è¾†ä¿¡æ¯
     *
     * @param id ä¸‰ä¸€è½¦è¾†ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdSyCarById(String id) {
        return ardSyCarMapper.deleteArdSyCarById(id);
    }
    /**
     * èŽ·å–æœªæŒ‚æŽ¥æƒé™çš„ä¸‰ä¸€è½¦è¾†
     */
    @Override
    public Map<String,Object> getArdSyCarNoRight(String userId) {
        SysConfig config = new SysConfig();
        config.setConfigKey("syCarPT");
        List<SysConfig> sysConfigResult = sysConfigMapper.selectConfigList(config);
        String syURL = "";
        Map<String,Object> result = new HashMap();
        if(sysConfigResult.size() == 0){
            result.put("data","三一车辆url没有录入");
            result.put("code","500");
            return result;
        }else{
            syURL = sysConfigResult.get(0).getConfigValue();
            ArdSyUser ardSyUserPara = new ArdSyUser();
            ardSyUserPara.setSysUserId(userId);
            List<ArdSyUser> ardSyUserList = ardSyUserMapper.selectArdSyUserList(ardSyUserPara);
            if(ardSyUserList.size() == 0){
                result.put("data","用户未挂接三一车辆");
                result.put("code","500");
                return result;
            }else{
                ArdSyUser ardSyUser = ardSyUserList.get(0);
                Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword());
                String sessionId = (String) LogInResult.get("sessionId");
                Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId);
                if(((String)carListMap.get("rspCode")).equals("1")){
                    List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list");
                    ArdSyCar ardSyCar = new ArdSyCar();
                    List<ArdSyCar> ardSyCarList = ardSyCarMapper.selectArdSyCarList(ardSyCar);
                    List<String> carIdList = new ArrayList();
                    for(ArdSyCar innerArdSyCar : ardSyCarList){
                        carIdList.add(innerArdSyCar.getCarId());
                    }
                    List<Map<String,Object>> carList = list.stream().filter(new Predicate<Map<String,Object>>(){
                        @Override
                        public boolean test(Map<String,Object> map) {
                            return !carIdList.contains((String)map.get("carId"));
                        }
                    }).collect(Collectors.toList());
                    result.put("data",carList);
                    result.put("code","200");
                    return result;
                }else{
                    result.put("data","三一车辆平台出错");
                    result.put("code","500");
                    return result;
                }
            }
        }
    }
}
ard-work/src/main/java/com/ruoyi/utils/httpclient/SYCarClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
package com.ruoyi.utils.httpclient;
import com.alibaba.fastjson2.JSON;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
import org.apache.commons.codec.digest.DigestUtils;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class SYCarClient {
    public static Map<String,Object> logIn(String syURL, String userId, String password){
        OkHttpClient okHttpClient = new OkHttpClient();
        String passwordMd5 = DigestUtils.md5Hex(password);
        Request request = new Request.Builder()
                .url(syURL + "/gps-web/api/login.jsp?"+"password="+passwordMd5+"&userId="+userId+"&loginType=user&loginWay=interface&loginLang=zh_CN")
                .build();
        Response response = null;
        try {
            response = okHttpClient.newCall(request).execute();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        response.headers(); //响应头
        ResponseBody responseBody = response.body();
        try {
            String message = responseBody.string();// å“åº”体
            Map<String,Object> map = (Map<String, Object>) JSON.parse(message);
            map.put("passwordMd5", passwordMd5);
            //System.out.println(message);
            return map;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return new HashMap();
        }
    }
    public static Map<String,Object> getCarList(String syURL, String sessionId){
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder()
                .url(syURL + "/gps-web/api/get_car_list.jsp?teamId=&detail=false&sessionId="+sessionId)
                .build();
        Response response = null;
        try {
            response = okHttpClient.newCall(request).execute();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        response.headers(); //响应头
        ResponseBody responseBody = response.body();
        try {
            String message = responseBody.string();// å“åº”体
            Map<String,Object> map = (Map<String, Object>) JSON.parse(message);
            //System.out.println(message);
            return map;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return new HashMap();
        }
    }
}
ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.sy.mapper.ArdSyCarMapper">
    <resultMap type="ArdSyCar" id="ArdSyCarResult">
        <result property="id"    column="id"    />
        <result property="carId"    column="car_id"    />
        <result property="carModel"    column="car_model"    />
        <result property="carType"    column="car_type"    />
        <result property="carBrand"    column="car_brand"    />
        <result property="deptId"    column="dept_id"    />
        <result property="carPicture"    column="car_picture"    />
        <result property="reserved1"    column="reserved_1"    />
        <result property="reserved2"    column="reserved_2"    />
        <result property="reserved3"    column="reserved_3"    />
    </resultMap>
    <sql id="selectArdSyCarVo">
        select id, car_id, car_model, car_type, car_brand, dept_id, car_picture, reserved_1, reserved_2, reserved_3 from ard_sy_car
    </sql>
    <select id="selectArdSyCarList" parameterType="ArdSyCar" resultMap="ArdSyCarResult">
        <include refid="selectArdSyCarVo"/>
        <where>
            <if test="carId != null  and carId != ''"> and car_id = #{carId}</if>
            <if test="carModel != null  and carModel != ''"> and car_model = #{carModel}</if>
            <if test="carType != null  and carType != ''"> and car_type = #{carType}</if>
            <if test="carBrand != null  and carBrand != ''"> and car_brand = #{carBrand}</if>
            <if test="deptId != null  and deptId != ''"> and dept_id = #{deptId}</if>
            <if test="carPicture != null  and carPicture != ''"> and car_picture = #{carPicture}</if>
            <if test="reserved1 != null  and reserved1 != ''"> and reserved_1 = #{reserved1}</if>
            <if test="reserved2 != null  and reserved2 != ''"> and reserved_2 = #{reserved2}</if>
            <if test="reserved3 != null  and reserved3 != ''"> and reserved_3 = #{reserved3}</if>
        </where>
    </select>
    <select id="selectArdSyCarById" parameterType="String" resultMap="ArdSyCarResult">
        <include refid="selectArdSyCarVo"/>
        where id = #{id}
    </select>
    <insert id="insertArdSyCar" parameterType="ArdSyCar">
        insert into ard_sy_car
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="carId != null">car_id,</if>
            <if test="carModel != null">car_model,</if>
            <if test="carType != null">car_type,</if>
            <if test="carBrand != null">car_brand,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="carPicture != null">car_picture,</if>
            <if test="reserved1 != null">reserved_1,</if>
            <if test="reserved2 != null">reserved_2,</if>
            <if test="reserved3 != null">reserved_3,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="carId != null">#{carId},</if>
            <if test="carModel != null">#{carModel},</if>
            <if test="carType != null">#{carType},</if>
            <if test="carBrand != null">#{carBrand},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="carPicture != null">#{carPicture},</if>
            <if test="reserved1 != null">#{reserved1},</if>
            <if test="reserved2 != null">#{reserved2},</if>
            <if test="reserved3 != null">#{reserved3},</if>
         </trim>
    </insert>
    <update id="updateArdSyCar" parameterType="ArdSyCar">
        update ard_sy_car
        <trim prefix="SET" suffixOverrides=",">
            <if test="carId != null">car_id = #{carId},</if>
            <if test="carModel != null">car_model = #{carModel},</if>
            <if test="carType != null">car_type = #{carType},</if>
            <if test="carBrand != null">car_brand = #{carBrand},</if>
            <if test="deptId != null">dept_id = #{deptId},</if>
            <if test="carPicture != null">car_picture = #{carPicture},</if>
            <if test="reserved1 != null">reserved_1 = #{reserved1},</if>
            <if test="reserved2 != null">reserved_2 = #{reserved2},</if>
            <if test="reserved3 != null">reserved_3 = #{reserved3},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteArdSyCarById" parameterType="String">
        delete from ard_sy_car where id = #{id}
    </delete>
    <delete id="deleteArdSyCarByIds" parameterType="String">
        delete from ard_sy_car where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>