Commit 1e381bf7 authored by hezhen's avatar hezhen

添加扩展新增

parent d9e61876
package com.xxfc.platform.vehicle.pojo.dto;
import lombok.Data;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 16:27
*/
@Data
public class VehicleExtensionFindDTO {
private String vehicleId;
private Integer vehicleApplyId;
private List<Integer> cataIds;
Integer parentId;
Integer goodsType;
}
...@@ -18,6 +18,11 @@ public class VehicleExtensionVO extends VehicleExtension { ...@@ -18,6 +18,11 @@ public class VehicleExtensionVO extends VehicleExtension {
@ApiModelProperty("扩展名称") @ApiModelProperty("扩展名称")
private String cataName; private String cataName;
@ApiModelProperty("是否选中:0-未;1-是")
private Integer isSelected;
@ApiModelProperty("父级是否选中:0-未;1-是")
private Integer isParentSelected;
public List<VehicleExtensionVO> children; public List<VehicleExtensionVO> children;
......
...@@ -5,9 +5,12 @@ package com.xxfc.platform.vehicle.biz; ...@@ -5,9 +5,12 @@ package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleApply;
import com.xxfc.platform.vehicle.entity.VehicleExtension; import com.xxfc.platform.vehicle.entity.VehicleExtension;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;; import com.xxfc.platform.vehicle.entity.VehiclePlatCata;;
import com.xxfc.platform.vehicle.mapper.VehicleEextensionMapper; import com.xxfc.platform.vehicle.mapper.VehicleEextensionMapper;
import com.xxfc.platform.vehicle.pojo.dto.VehicleExtensionFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO; import com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -27,6 +30,12 @@ public class VehicleExtensionBiz extends BaseBiz<VehicleEextensionMapper, Vehicl ...@@ -27,6 +30,12 @@ public class VehicleExtensionBiz extends BaseBiz<VehicleEextensionMapper, Vehicl
@Autowired @Autowired
VehiclePlatCataBiz vehiclePlatCataBiz; VehiclePlatCataBiz vehiclePlatCataBiz;
@Autowired
VehicleBiz vehicleBiz;
@Autowired
VehicleApplyBiz vehicleApplyBiz;
...@@ -97,6 +106,32 @@ public class VehicleExtensionBiz extends BaseBiz<VehicleEextensionMapper, Vehicl ...@@ -97,6 +106,32 @@ public class VehicleExtensionBiz extends BaseBiz<VehicleEextensionMapper, Vehicl
public List<VehicleExtensionVO> getTreeByPlatCata(VehicleExtensionFindDTO extensionFindDTO){
if (StringUtils.isBlank(extensionFindDTO.getVehicleId()) && extensionFindDTO.getVehicleApplyId() == null){
throw new BaseException("参数不能为空",ResultCode.FAILED_CODE);
}
if (StringUtils.isNotBlank(extensionFindDTO.getVehicleId())){
Vehicle vehicle = vehicleBiz.selectById(extensionFindDTO.getVehicleId());
extensionFindDTO.setGoodsType(vehicle.getGoodsType());
}else {
VehicleApply vehicleApply = vehicleApplyBiz.selectById(extensionFindDTO.getVehicleApplyId());
extensionFindDTO.setGoodsType(vehicleApply.getGoodsType());
extensionFindDTO.setCataIds(Arrays.asList(vehicleApply.getExtensionList().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList()));
}
extensionFindDTO.setParentId(0);
List<VehicleExtensionVO> vehicleExtensionVOS = mapper.selectListByPlatCata(extensionFindDTO);
if (vehicleExtensionVOS.size() > 0){
for (VehicleExtensionVO extensionVO:vehicleExtensionVOS) {
extensionFindDTO.setParentId(extensionVO.getId());
extensionVO.setChildren(mapper.selectListByPlatCata(extensionFindDTO));
}
}
return vehicleExtensionVOS;
}
......
...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleExtension; import com.xxfc.platform.vehicle.entity.VehicleExtension;
import com.xxfc.platform.vehicle.pojo.dto.VehicleExtensionFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO; import com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper; import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
...@@ -24,4 +25,7 @@ public interface VehicleEextensionMapper extends Mapper<VehicleExtension>, Selec ...@@ -24,4 +25,7 @@ public interface VehicleEextensionMapper extends Mapper<VehicleExtension>, Selec
List<VehicleExtensionVO> selectListByApplyParent(@Param("cataIds")List<Integer> cataIds); List<VehicleExtensionVO> selectListByApplyParent(@Param("cataIds")List<Integer> cataIds);
List<VehicleExtensionVO> selectListByPlatCata(VehicleExtensionFindDTO vehicleExtensionFindDTO);
} }
\ No newline at end of file
...@@ -5,15 +5,23 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign; ...@@ -5,15 +5,23 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface; import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleBiz; import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleExtensionBiz;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.pojo.dto.VehicleExtensionFindDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleFindDTO; import com.xxfc.platform.vehicle.pojo.dto.VehicleFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO;
import com.xxfc.platform.vehicle.rest.BaseController; import com.xxfc.platform.vehicle.rest.BaseController;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author Administrator * @author Administrator
*/ */
...@@ -30,6 +38,9 @@ public class AdminVehicleController extends BaseController<VehicleBiz> implement ...@@ -30,6 +38,9 @@ public class AdminVehicleController extends BaseController<VehicleBiz> implement
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
@Autowired
VehicleExtensionBiz extensionBiz;
@Override @Override
public UserFeign getUserFeign() { public UserFeign getUserFeign() {
...@@ -78,6 +89,14 @@ public class AdminVehicleController extends BaseController<VehicleBiz> implement ...@@ -78,6 +89,14 @@ public class AdminVehicleController extends BaseController<VehicleBiz> implement
@GetMapping("tree")
@ApiModelProperty("扩展详情")
public ObjectRestResponse tree(VehicleExtensionFindDTO extensionFindDTO) {
return ObjectRestResponse.succ(extensionBiz.getTreeByPlatCata(extensionFindDTO));
}
......
...@@ -75,4 +75,56 @@ ...@@ -75,4 +75,56 @@
GROUP BY c.parent_id GROUP BY c.parent_id
ORDER BY c1.id ORDER BY c1.id
</select> </select>
<select id="selectListByPlatCata" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehicleExtensionFindDTO" resultType="com.xxfc.platform.vehicle.pojo.vo.VehicleExtensionVO">
SELECT
c.id,
c.`name` as cataName,
<choose>
<when test="vehicleId != null and vehicleId != ''">
IF(e.cata_id is NULL,0,1) as isSelected,
IF(e1.cata_id is NULL,0,1) as isParentSelected
</when>
<otherwise>
IF(c2.id is NULL,0,1) as isSelected,
IF(c1.parent_id is NULL,0,1) as isParentSelected
</otherwise>
</choose>
FROM vehicle_plat_cata c
<if test="vehicleId != null and vehicleId != '' ">
LEFT JOIN (SELECT * FROM vehicle_extension WHERE
is_del = 0 and vehicle_id=#{vehicleId} ) e ON c.id=e.cata_id
</if>
<if test="vehicleId != null and vehicleId != '' ">
LEFT JOIN (SELECT * FROM vehicle_extension WHERE
is_del = 0 and vehicle_id=#{vehicleId} ) e1 ON c.id=e1.parent_cata_id
</if>
<if test="cataIds != null and cataIds.size() > 0 ">
LEFT JOIN (select * FROM vehicle_plat_cata WHERE id in
<foreach collection="cataIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
GROUP BY parent_id) c1 ON c.id=c1.parent_id
</if>
<if test="cataIds != null and cataIds.size() > 0">
LEFT JOIN (select * FROM vehicle_plat_cata WHERE id in
<foreach collection="cataIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
) c2 ON c.id=c2.id
</if>
<where>
<if test="parentId != null ">
and c.parent_id=#{parentId}
</if>
<if test="goodsType != null ">
and c.goods_type=#{goodsType}
</if>
</where>
GROUP BY c.id
ORDER BY c.id
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment