Commit 46c9f674 authored by hanfeng's avatar hanfeng

增加车型标签增加和修改功能

parent fd87710c
...@@ -23,6 +23,7 @@ public class TourBaseController<Biz extends BaseBiz> extends CommonBaseControlle ...@@ -23,6 +23,7 @@ public class TourBaseController<Biz extends BaseBiz> extends CommonBaseControlle
public AppUserDTO getUserInfo(){ public AppUserDTO getUserInfo(){
return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData(); return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData();
} }
public Biz getBaseBiz() { public Biz getBaseBiz() {
return baseBiz; return baseBiz;
} }
......
package com.xxfc.platform.tour.rest; package com.xxfc.platform.tour.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.tour.biz.TourUserBiz; import com.xxfc.platform.tour.biz.TourUserBiz;
import com.xxfc.platform.tour.common.TourBaseController; import com.xxfc.platform.tour.common.TourBaseController;
...@@ -8,6 +9,7 @@ import com.xxfc.platform.tour.entity.TourUser; ...@@ -8,6 +9,7 @@ import com.xxfc.platform.tour.entity.TourUser;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
...@@ -48,18 +50,52 @@ public class TourUserController extends TourBaseController<TourUserBiz> { ...@@ -48,18 +50,52 @@ public class TourUserController extends TourBaseController<TourUserBiz> {
} }
@ApiOperation("修改")
@PostMapping(value = "/update")
public ObjectRestResponse<TourUser> update(@RequestBody TourUser tourUser){ @ApiOperation("插入和更新")
baseBiz.updateSelectiveById(tourUser); @PostMapping(value = "/app/addAndUpdate")
return new ObjectRestResponse<TourUser>(); @Transactional
public ObjectRestResponse<TourUser> addAndUpdate(@RequestBody TourUser tourUser){
try {
if (tourUser.getId()==null||tourUser.getId()==0) {
AppUserDTO userInfo = getUserInfo();
if (userInfo==null||userInfo.getUserid()==null||userInfo.getUserid()==0) {
ObjectRestResponse.createDefaultFail();
}
Integer userid = userInfo.getUserid();
tourUser.setUserid(userid);
tourUser.setCrtTime(System.currentTimeMillis());
tourUser.setIsdel(0);
baseBiz.insertSelective(tourUser);
}else {
tourUser.setUpdTime(System.currentTimeMillis());
baseBiz.updateSelectiveById(tourUser);
}
return new ObjectRestResponse<TourUser>();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("失败");
}
} }
@ApiOperation("添加") @ApiOperation("通过id查询")
@PostMapping(value = "/add") @PostMapping(value = "/app/findById/{id}")
public ObjectRestResponse<TourUser> add(@RequestBody TourUser tourUser){ public ObjectRestResponse<TourUser> findById(@PathVariable Integer id){
baseBiz.insertSelective(tourUser);
return new ObjectRestResponse<TourUser>(); AppUserDTO userInfo = getUserInfo();
if (userInfo==null||userInfo.getUserid()==null||userInfo.getUserid()==0) {
ObjectRestResponse.createDefaultFail();
}
Integer userid = userInfo.getUserid();
TourUser user = new TourUser();
user.setUserid(userid);
user.setId(id);
if (id==null||id==0) {
ObjectRestResponse.createDefaultFail();
}
return ObjectRestResponse.succ(baseBiz.selectList(user));
} }
......
...@@ -37,7 +37,15 @@ public class VehicleModel implements Serializable { ...@@ -37,7 +37,15 @@ public class VehicleModel implements Serializable {
@Column(name = "config") @Column(name = "config")
@ApiModelProperty(value = "房车配置,code逗号分割") @ApiModelProperty(value = "房车配置,code逗号分割")
private String config; private String config;
@Column(name = "number")
@ApiModelProperty(value = "乘卧数")
private String number;
@Column(name = "brand")
@ApiModelProperty(value = "品牌")
private String brand;
//关键标签,code逗号分割 //关键标签,code逗号分割
@Column(name = "keyword") @Column(name = "keyword")
@ApiModelProperty(value = "关键标签,code逗号分割") @ApiModelProperty(value = "关键标签,code逗号分割")
......
...@@ -69,6 +69,11 @@ public class VehiclePlatCata implements Serializable { ...@@ -69,6 +69,11 @@ public class VehiclePlatCata implements Serializable {
@Column(name = "upd_time") @Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true ) @ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime; private Long updTime;
//是否多选
@Column(name = "ismore")
@ApiModelProperty(value = "多选 0:单选 1:多选" )
private Integer ismore;
} }
package com.xxfc.platform.vehicle.pojo;
import lombok.Data;
import java.util.List;
@Data
public class Cascade <v> {
v parent;
List<v> children;
public Cascade(v parent, List<v> children) {
this.parent=parent;
this.children=children;
}
public Cascade() {
}
}
...@@ -3,6 +3,8 @@ package com.xxfc.platform.vehicle.pojo; ...@@ -3,6 +3,8 @@ package com.xxfc.platform.vehicle.pojo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
* 车型查询条件bean * 车型查询条件bean
* @author Administrator * @author Administrator
......
package com.xxfc.platform.vehicle.pojo; package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -15,61 +16,64 @@ import java.util.Date; ...@@ -15,61 +16,64 @@ import java.util.Date;
/** /**
* 车型 * 车型
* *
* @author zjw * @author zjw
* @email nishijjo@qq.com * @email nishijjo@qq.com
* @date 2019-05-25 14:50:08 * @date 2019-05-25 14:50:08
*/ */
@Data @Data
@Table(name = "vehicle_model") @Table(name = "vehicle_model")
public class VehicleModelVo implements Serializable { public class VehicleModelVo extends VehicleModel implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
//主键
//主键 @Id
@Id
@GeneratedValue(generator = "JDBC") @GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键") @ApiModelProperty("主键")
private Integer id; private Integer id;
//名称 //名称
@Column(name = "name") @Column(name = "name")
@ApiModelProperty(value = "名称") @ApiModelProperty(value = "名称")
private String name; private String name;
//房车配置,code逗号分割 //房车配置,code逗号分割
@Column(name = "config") @Column(name = "config")
@ApiModelProperty(value = "房车配置,code逗号分割") @ApiModelProperty(value = "房车配置,code逗号分割")
private String config; private String config;
@Column(name = "number")
@ApiModelProperty(value = "乘卧数")
private String number;
@Column(name = "brand")
@ApiModelProperty(value = "品牌")
private String brand;
//关键标签,code逗号分割 //关键标签,code逗号分割
@Column(name = "keyword") @Column(name = "keyword")
@ApiModelProperty(value = "关键标签,code逗号分割") @ApiModelProperty(value = "关键标签,code逗号分割")
private String keyword; private String keyword;
//车型详情 //车型详情
@Column(name = "models_details") @Column(name = "models_details")
@ApiModelProperty(value = "车型详情") @ApiModelProperty(value = "车型详情")
private String modelsDetails; private String modelsDetails;
//参数 //参数
@Column(name = "model_param") @Column(name = "model_param")
@ApiModelProperty(value = "参数") @ApiModelProperty(value = "参数")
private String modelParam; private String modelParam;
//图片地址 多张为逗号分割 //图片地址 多张为逗号分割
@Column(name = "picture") @Column(name = "picture")
@ApiModelProperty(value = "图片地址 多张为逗号分割") @ApiModelProperty(value = "图片地址 多张为逗号分割")
private String picture; private String picture;
//价格 //价格
@Column(name = "price") @Column(name = "price")
@ApiModelProperty(value = "价格") @ApiModelProperty(value = "价格")
private BigDecimal price; private BigDecimal price;
//会员价格
@Column(name = "vip_price")
@ApiModelProperty(value = "会员价格")
private BigDecimal vipPrice;
//总押金 //总押金
@Column(name = "deposit") @Column(name = "deposit")
...@@ -81,45 +85,45 @@ public class VehicleModelVo implements Serializable { ...@@ -81,45 +85,45 @@ public class VehicleModelVo implements Serializable {
@ApiModelProperty(value = "违章押金") @ApiModelProperty(value = "违章押金")
private BigDecimal vioDeposit; private BigDecimal vioDeposit;
//创建时间 //创建时间
@Column(name = "crt_time") @Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true ) @ApiModelProperty(value = "创建时间", hidden = true )
private Date crtTime; private Date crtTime;
//创建者id //创建者id
@Column(name = "crt_user") @Column(name = "crt_user")
@ApiModelProperty(value = "创建者id") @ApiModelProperty(value = "创建者id")
private Integer crtUser; private Integer crtUser;
//创建者名称 //创建者名称
@Column(name = "crt_name") @Column(name = "crt_name")
@ApiModelProperty(value = "创建者名称") @ApiModelProperty(value = "创建者名称")
private String crtName; private String crtName;
//创建者host //创建者host
@Column(name = "crt_host") @Column(name = "crt_host")
@ApiModelProperty(value = "创建者host") @ApiModelProperty(value = "创建者host")
private String crtHost; private String crtHost;
//修改时间 //修改时间
@Column(name = "upd_time") @Column(name = "upd_time")
@ApiModelProperty(value = "修改时间", hidden = true ) @ApiModelProperty(value = "修改时间", hidden = true )
private Date updTime; private Date updTime;
//修改者 //修改者
@Column(name = "upd_user") @Column(name = "upd_user")
@ApiModelProperty(value = "修改者") @ApiModelProperty(value = "修改者")
private Integer updUser; private Integer updUser;
//修改者名称 //修改者名称
@Column(name = "upd_name") @Column(name = "upd_name")
@ApiModelProperty(value = "修改者名称") @ApiModelProperty(value = "修改者名称")
private String updName; private String updName;
//修改者host //修改者host
@Column(name = "upd_host") @Column(name = "upd_host")
@ApiModelProperty(value = "修改者host") @ApiModelProperty(value = "修改者host")
private String updHost; private String updHost;
//评分 //评分
@Column(name = "score") @Column(name = "score")
...@@ -130,9 +134,19 @@ public class VehicleModelVo implements Serializable { ...@@ -130,9 +134,19 @@ public class VehicleModelVo implements Serializable {
@ApiModelProperty(value = "热度标记,1--热门;2--非热门") @ApiModelProperty(value = "热度标记,1--热门;2--非热门")
private Integer hotSign; private Integer hotSign;
@ApiModelProperty(value = "是否删除") @ApiModelProperty(value = "是否删除")
private Integer isdel; private Integer isdel;
@Column(name = "rent_discount_status")
@ApiModelProperty(value = "租车优惠状态 0--没有优惠;1--会员折扣;2--固定值")
private Integer rentDiscountStatus;
@Column(name = "rent_discount_price")
@ApiModelProperty(value = "租车优惠价格")
private BigDecimal RentDiscountPrice;
@Column(name = "buy_price")
@ApiModelProperty(value = "购买价格")
private BigDecimal buyPrice;
@ApiModelProperty(value = "总数量") @ApiModelProperty(value = "总数量")
private Integer sum; private Integer sum;
......
...@@ -5,12 +5,16 @@ import com.ace.cache.annotation.Cache; ...@@ -5,12 +5,16 @@ import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear; import com.ace.cache.annotation.CacheClear;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
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.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.RedisKey; import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.entity.VehicleCata; import com.xxfc.platform.vehicle.entity.VehicleCata;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata; import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.mapper.VehiclePlatCataMapper; import com.xxfc.platform.vehicle.mapper.VehiclePlatCataMapper;
import com.xxfc.platform.vehicle.pojo.Cascade;
import com.xxfc.platform.vehicle.pojo.CataVo; import com.xxfc.platform.vehicle.pojo.CataVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -31,26 +35,27 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -31,26 +35,27 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
@Autowired @Autowired
VehicleCataBiz vehicleCataBiz; VehicleCataBiz vehicleCataBiz;
//更新 //更新
@Transactional @Transactional
@CacheClear(pre = RedisKey.BRANCH_CATA_CACHE) @CacheClear(pre = RedisKey.BRANCH_CATA_CACHE)
public RestResponse update(CataVo cataVo){ public RestResponse update(CataVo cataVo) {
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata(); VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
BeanUtils.copyProperties(cataVo,vehiclePlatCata); BeanUtils.copyProperties(cataVo, vehiclePlatCata);
if(vehiclePlatCata.getId()==null||vehiclePlatCata.getId()==0){ if (vehiclePlatCata.getId() == null || vehiclePlatCata.getId() == 0) {
vehiclePlatCata.setUpdTime(System.currentTimeMillis()); vehiclePlatCata.setUpdTime(System.currentTimeMillis());
insertSelective(vehiclePlatCata); insertSelective(vehiclePlatCata);
}else{ } else {
updateSelectiveById(vehiclePlatCata); updateSelectiveById(vehiclePlatCata);
} }
return RestResponse.suc(); return RestResponse.suc();
} }
/** /**
* 获取无限级的类别资源 * 获取无限级的类别资源
*/ */
@Transactional @Transactional
@Cache(key = RedisKey.BRANCH_COMPANY_CATA_ALL) @Cache(key = RedisKey.BRANCH_COMPANY_CATA_ALL)
public JSONObject findTypeTree() throws Exception { public JSONObject findTypeTree() throws Exception {
//默认查询出所有的一级类别 //默认查询出所有的一级类别
JSONObject obj = new JSONObject(); JSONObject obj = new JSONObject();
...@@ -66,46 +71,51 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -66,46 +71,51 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
treeObject.put("children", getChildren(cata.getId())); treeObject.put("children", getChildren(cata.getId()));
list.add(treeObject); list.add(treeObject);
} }
obj.put("cata",list); obj.put("cata", list);
return obj; return obj;
} }
public List<Object> getChildren(Integer parentId){
public List<Object> getChildren(Integer parentId) {
List<Object> list = new ArrayList<>(); List<Object> list = new ArrayList<>();
List<VehiclePlatCata> children = getAll(parentId); List<VehiclePlatCata> children = getAll(parentId);
if(children.size()>0){ if (children.size() > 0) {
for (VehiclePlatCata cata : children) { for (VehiclePlatCata cata : children) {
JSONObject obj = new JSONObject(); JSONObject obj = new JSONObject();
obj.put("id", cata.getId()); obj.put("id", cata.getId());
obj.put("parentId", cata.getParentId()); obj.put("parentId", cata.getParentId());
obj.put("name", cata.getName()); obj.put("name", cata.getName());
obj.put("level", cata.getLevel()); obj.put("level", cata.getLevel());
obj.put("icon", cata.getIcon()); obj.put("icon", cata.getIcon());
obj.put("children", getChildren(cata.getId())); obj.put("children", getChildren(cata.getId()));
list.add(obj); list.add(obj);
}
} }
}
return list; return list;
} }
public List<VehiclePlatCata> getAll(Integer parentId){ public List<VehiclePlatCata> getAll(Integer parentId) {
Example example = new Example(VehiclePlatCata.class); Example example = new Example(VehiclePlatCata.class);
example.createCriteria().andEqualTo("parentId", parentId).andEqualTo("state",0); example.createCriteria().andEqualTo("parentId", parentId).andEqualTo("state", 0);
example.setOrderByClause("`rank` desc"); example.setOrderByClause("`rank` desc");
return mapper.selectByExample(example); return mapper.selectByExample(example);
} }
/** /**
* 根据车型获取 * 根据车型获取
*
* @param modelId * @param modelId
* @return * @return
*/ */
public List<VehiclePlatCata> getByModelId(Integer modelId){ public List<VehiclePlatCata> getByModelId(Integer modelId) {
List<VehicleCata> vehicleCatas = vehicleCataBiz.selectByExample(new Example.Builder(VehicleCata.class) List<VehicleCata> vehicleCatas = vehicleCataBiz.selectByExample(new Example.Builder(VehicleCata.class)
.where(WeekendSqls.<VehicleCata>custom().andEqualTo(VehicleCata::getVehicleModelId, modelId)).build()); .where(WeekendSqls.<VehicleCata>custom().andEqualTo(VehicleCata::getVehicleModelId, modelId)).build());
if(vehicleCatas.isEmpty()) { if (vehicleCatas.isEmpty()) {
return new ArrayList<VehiclePlatCata>(); return new ArrayList<VehiclePlatCata>();
}else { } else {
List<VehiclePlatCata> VehiclePlatCatas = this.selectByExample(new Example.Builder(VehiclePlatCata.class) List<VehiclePlatCata> VehiclePlatCatas = this.selectByExample(new Example.Builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom().andIn(VehiclePlatCata::getId .where(WeekendSqls.<VehiclePlatCata>custom().andIn(VehiclePlatCata::getId
, vehicleCatas.parallelStream().map(VehicleCata::getCataId).distinct() , vehicleCatas.parallelStream().map(VehicleCata::getCataId).distinct()
...@@ -114,4 +124,223 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -114,4 +124,223 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
} }
} }
/**
* 级联添加
* @param cascade
* @return
*/
@Transactional
public ObjectRestResponse addCascades(Cascade<VehiclePlatCata> cascade) {
try {
//取出一级标签
VehiclePlatCata parent = cascade.getParent();
//插入一级标签获得id
mapper.insertSelective(parent);
Integer parentId = parent.getId();
//取出二级标签
List<VehiclePlatCata> childrens = cascade.getChildren();
//逐条插入二级标签
for (VehiclePlatCata children : childrens) {
children.setParentId(parentId);
}
mapper.addPlatCataList(childrens);
return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
}
/**
* 根据父类id获取子标签
*
* @param parentId
* @return
*/
public ObjectRestResponse fingCatasByParentId(Integer parentId) {
Example example = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, parentId)
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("rank")
.build();
List<VehiclePlatCata> vpcs = mapper.selectByExample(example);
return ObjectRestResponse.succ(vpcs);
}
/**
* 分页或不分页,获取一级标签及其子标签
*
*
* @param sort
* @param page
* @param limit
* @return
*/
public ObjectRestResponse getCascades( Integer page, Integer limit ,Integer sort) {
try {
//标签列表页面
if (sort==null||sort==0) {
//获取一级标签
Example example = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, 0)
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("rank")
.build();
//分页查询一级标签并分类
PageDataVO opdvo = PageDataVO.pageInfo(page, limit, () -> mapper.selectByExample(example));
List<VehiclePlatCata> parentvpcs = opdvo.getData();
//传入一级标签集集合,或去一二级标签集合
ArrayList<Cascade<VehiclePlatCata>> cascades = getCascades(parentvpcs);
//用一二级标签集合,替换原来的一级标签集合
opdvo.setData(cascades);
return ObjectRestResponse.succ(opdvo);
}
//增加车型页面
if (sort==1){
//获取一级标签
Example example = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, 0)
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("ismore","rank")
.build();
//分页查询父类
List<VehiclePlatCata> parentvpcs = mapper.selectByExample(example);
//传入一级标签集集合,或去一二级标签集合
ArrayList<Cascade<VehiclePlatCata>> cascades = getCascades(parentvpcs);
return ObjectRestResponse.succ(cascades);
}
} catch (Exception e) {
e.printStackTrace();
}
return ObjectRestResponse.createDefaultFail();
}
/**
* 获取一二级标签集合
* @param parentvpcs
* @return
*/
private ArrayList<Cascade<VehiclePlatCata>> getCascades(List<VehiclePlatCata> parentvpcs) {
ArrayList<Cascade<VehiclePlatCata>> cascades = new ArrayList();
//获取二级标签
for (VehiclePlatCata parentvpc : parentvpcs) {
Example exa = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, parentvpc.getId())
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("rank")
.build();
List<VehiclePlatCata> childrenvpcs = mapper.selectByExample(exa);
//一级标签和其二级标签存入Cascade中集合中
cascades.add(new Cascade<VehiclePlatCata>(parentvpc, childrenvpcs));
}
return cascades;
}
/**
* 查询一个一级标签及其子标签
*
* @param id
* @return
*/
public ObjectRestResponse findCascade(Integer id) {
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setState(0);
VehiclePlatCata result = mapper.selectOne(vehiclePlatCata);
Example example = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, id)
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("rank")
.build();
List<VehiclePlatCata> vpcs = mapper.selectByExample(example);
return ObjectRestResponse.succ(new Cascade<VehiclePlatCata>(result, vpcs));
}
/**
* 更新
* @param cas
* @return
*/
@Transactional
public ObjectRestResponse updateCascade( Cascade<VehiclePlatCata> cas) {
if (cas==null||cas.getParent()==null) {
return ObjectRestResponse.createDefaultFail();
}
VehiclePlatCata parentVPC = cas.getParent();
//通过判断一级标签是否有id来判断是更新还是添加
if (parentVPC.getId()==null||parentVPC.getId()==0) {
//设置标签状态和创建时间
parentVPC.setState(0);
parentVPC.setCrtTime(System.currentTimeMillis());
//插入一级标签
insertSelective(parentVPC);
List<VehiclePlatCata> children = cas.getChildren();
if (children==null||children.size()==0) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"无子标签");
}
mapper.addPlatCataList(children);
return ObjectRestResponse.succ();
}else{
//设置更新时间
parentVPC.setUpdTime(System.currentTimeMillis());
//更新一级标签
List<VehiclePlatCata> children = cas.getChildren();
updateSelectiveById(parentVPC);
if (children==null||children.size()==0) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"无子标签");
}
for (VehiclePlatCata child : children) {
//判断子标签是更新还是新增
if (child.getId()==null){
insertSelective(child);
}else {
//判断更新的是否是删除
if (child.getState()==1) {
Integer id = child.getId();
VehicleCata vehicleCata = new VehicleCata();
//修改车型和标签的中间表
vehicleCataBiz.delete(vehicleCata);
}
}
}
VehiclePlatCata parent = cas.getParent();
}
return null;
}
} }
package com.xxfc.platform.vehicle.mapper; package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleCata;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata; import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface VehiclePlatCataMapper extends Mapper<VehiclePlatCata> { public interface VehiclePlatCataMapper extends Mapper<VehiclePlatCata> {
int addPlatCataList(@Param("list") List<VehiclePlatCata> list);
} }
\ No newline at end of file
...@@ -3,14 +3,19 @@ package com.xxfc.platform.vehicle.rest; ...@@ -3,14 +3,19 @@ package com.xxfc.platform.vehicle.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleCataBiz; import com.xxfc.platform.vehicle.biz.VehicleCataBiz;
import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz; import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.common.VehicleBaseController; import com.xxfc.platform.vehicle.common.VehicleBaseController;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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 sun.java2d.pipe.AATextRenderer;
import java.util.Arrays;
@RestController @RestController
@RequestMapping("/cata") @RequestMapping("/cata")
...@@ -51,8 +56,73 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -51,8 +56,73 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
/**
* 根据父类id获取子标签
* @param parentId
* @return
*/
@GetMapping(value = "/add/fingCatasByParentId/{parentId}")
public ObjectRestResponse fingCatasByParentId(@PathVariable Integer parentId ){
return baseBiz.fingCatasByParentId(parentId);
}
/**
* 查询一个一级标签及其子标签
* @param id
* @return
*/
@GetMapping(value = "/add/findCascade/{id}")
public ObjectRestResponse findCascade(@PathVariable Integer id){
return baseBiz.findCascade(id);
}
/**
* 分页或不分页,获取一级标签及其子标签
* @param page 当前页
* @param limit 每页条数
* @param sort 分类 0-增加车型页面,1-标签管理页面
* @return
*/
@GetMapping(value = "/add/fingCatasByParentId/{page}/{limit}/{sort}")
public ObjectRestResponse getCascades(
@PathVariable Integer page
,@PathVariable Integer limit
,@PathVariable Integer sort){
return baseBiz.getCascades(page,limit,sort);
}
/**
* 级联添加
* @param cascade
* @return
*/
@PostMapping(value = "/add/addCascade/")
public ObjectRestResponse addCascade(@RequestBody Cascade<VehiclePlatCata> cascade){
return baseBiz.addCascades(cascade);
}
/**
* 修改和增加一二级标签
* @param uc
* @return
*/
@PutMapping("/add/uc")
public ObjectRestResponse updateCascade(@RequestBody Cascade<VehiclePlatCata> uc){
baseBiz.updateCascade(uc);
return null;
}
......
...@@ -11,16 +11,21 @@ import com.xxfc.platform.vehicle.biz.VehicleCataBiz; ...@@ -11,16 +11,21 @@ import com.xxfc.platform.vehicle.biz.VehicleCataBiz;
import com.xxfc.platform.vehicle.biz.VehicleModelBiz; import com.xxfc.platform.vehicle.biz.VehicleModelBiz;
import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz; import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleCata; import com.xxfc.platform.vehicle.entity.VehicleCata;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.mapper.VehicleModelMapper;
import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition; import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition;
import com.xxfc.platform.vehicle.pojo.VModelDetailVO; import com.xxfc.platform.vehicle.pojo.VModelDetailVO;
import com.xxfc.platform.vehicle.pojo.VehicleModelVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import net.bytebuddy.implementation.bytecode.Throw;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.jdbc.Null; import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -68,19 +73,18 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -68,19 +73,18 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
} }
/** /**
* 车型列表查 * 车型列表查
* *
* @param vmqc 条件 * @param vmqc 条件
* @return * @return
*/ */
@ApiOperation("车型列表") @ApiOperation("车型列表")
@PostMapping(value = "/app/findVehicleModelPage") @PostMapping(value = "/app/findVehicleModelPage")
public ObjectRestResponse<VModelDetailVO> findVehicleModelPage( public ObjectRestResponse<VehicleModelVo> findVehicleModelPage(
@RequestBody @ApiParam("查询条件") VehicleModelQueryCondition vmqc) { @RequestBody @ApiParam("查询条件") VehicleModelQueryCondition vmqc) {
if (vmqc == null || vmqc.getPage() == null || vmqc.getLimit() == null || vmqc.getPage() < 0 || vmqc.getLimit() <= 0) { if (vmqc == null || vmqc.getPage() == null || vmqc.getLimit() == null || vmqc.getPage() < 0 || vmqc.getLimit() <= 0) {
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
return vehicleModelBiz.findVehicleModelPage(vmqc); return vehicleModelBiz.findVehicleModelPage(vmqc);
} }
...@@ -94,6 +98,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -94,6 +98,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@ApiOperation("添加") @ApiOperation("添加")
@PostMapping(value = "/app/add") @PostMapping(value = "/app/add")
@ResponseBody @ResponseBody
@Transactional
public ObjectRestResponse<VehicleModel> add(@RequestBody VehicleModel vm, HttpServletRequest request) { public ObjectRestResponse<VehicleModel> add(@RequestBody VehicleModel vm, HttpServletRequest request) {
if (vm == null) { if (vm == null) {
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
...@@ -107,7 +112,12 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -107,7 +112,12 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
if (StringUtils.isBlank(token)) { if (StringUtils.isBlank(token)) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "请登录"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "请登录");
} }
ObjectRestResponse<UserDTO> uorr = userFeign.userinfoByToken(token); ObjectRestResponse<UserDTO> uorr = null;
try {
uorr = userFeign.userinfoByToken(token);
} catch (Exception e) {
e.printStackTrace();
}
if (uorr == null || uorr.getData() == null || StringUtils.isBlank(uorr.getData().getName()) || uorr.getData().getId() == null) { if (uorr == null || uorr.getData() == null || StringUtils.isBlank(uorr.getData().getName()) || uorr.getData().getId() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息");
...@@ -145,18 +155,25 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -145,18 +155,25 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
e.printStackTrace(); e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
} }
return ObjectRestResponse.createDefaultFail();
} }
@ApiOperation("修改") @ApiOperation("修改")
@PutMapping(value = "/app/update") @PutMapping(value = "/app/update")
@ResponseBody @ResponseBody
@Transactional
public ObjectRestResponse<VehicleModel> update(@RequestBody VehicleModel vm, HttpServletRequest request) { public ObjectRestResponse<VehicleModel> update(@RequestBody VehicleModel vm, HttpServletRequest request) {
String token = request.getHeader("Authorization"); String token = request.getHeader("Authorization");
ObjectRestResponse<UserDTO> uorr = userFeign.userinfoByToken(token); ObjectRestResponse<UserDTO> uorr = null;
try {
uorr = userFeign.userinfoByToken(token);
} catch (Exception e) {
e.printStackTrace();
}
if (uorr == null || uorr.getData() == null || StringUtils.isBlank(uorr.getData().getName()) || uorr.getData().getId() == null) { if (uorr == null || uorr.getData() == null || StringUtils.isBlank(uorr.getData().getName()) || uorr.getData().getId() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息");
...@@ -193,10 +210,27 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -193,10 +210,27 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
e.printStackTrace(); e.printStackTrace();
} throw new BaseException(ResultCode.FAILED_CODE);
return ObjectRestResponse.createDefaultFail(); }
} }
@Override
@ApiOperation("删除")
@DeleteMapping(value = "/app/{id}")
@ResponseBody
@Transactional
public ObjectRestResponse<VehicleModel> remove(@PathVariable int id){
try {
vehicleModelBiz.deleteById(id);
VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setVehicleModelId(id);
vehicleCataBiz.delete(vehicleCata);
return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
}
} }
\ No newline at end of file
<?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.xxfc.platform.vehicle.mapper.VehiclePlatCataMapper">
<insert id="addPlatCataList" parameterType="java.util.List">
insert into vehicle_cata (
parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,ismore
) VALUES
<foreach collection ="list" item="item" index="index" separator =",">
(#{item.parentId},#{item.name},#{item.icon},#{item.depict}
,#{item.rank},#{item.level},#{item.state},#{item.crtTime}
,#{item.updTime},#{item.ismore})
</foreach>
</insert>
</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