Commit da352f96 authored by hanfeng's avatar hanfeng

修改车型标签

parent b086526f
......@@ -3,6 +3,7 @@ package com.xxfc.platform.tour.rest;
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.util.process.ResultCode;
import com.xxfc.platform.tour.biz.TourUserBiz;
import com.xxfc.platform.tour.common.TourBaseController;
import com.xxfc.platform.tour.entity.TourUser;
......@@ -50,7 +51,11 @@ public class TourUserController extends TourBaseController<TourUserBiz> {
}
/**
* 添加和更新
* @param tourUser
* @return
*/
@ApiOperation("插入和更新")
@PostMapping(value = "/app/addAndUpdate")
......@@ -74,14 +79,15 @@ public class TourUserController extends TourBaseController<TourUserBiz> {
return new ObjectRestResponse<TourUser>();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("失败");
throw new BaseException(ResultCode.FAILED_CODE);
}
}
@ApiOperation("通过id查询")
@PostMapping(value = "/app/findById/{id}")
@GetMapping(value = "/app/findById/{id}")
public ObjectRestResponse<TourUser> findById(@PathVariable Integer id){
AppUserDTO userInfo = getUserInfo();
......@@ -106,6 +112,9 @@ public class TourUserController extends TourBaseController<TourUserBiz> {
@GetMapping("/app/unauth/getTourUserList")
public ObjectRestResponse getTourUser(){
AppUserDTO userInfo = getUserInfo();
if (userInfo==null||userInfo.getUserid()==null||userInfo.getUserid()==0) {
ObjectRestResponse.createDefaultFail();
}
Integer id = userInfo.getId();
List<TourUser> tourUsers= baseBiz.getTourUser(id);
return ObjectRestResponse.succ(tourUsers);
......
......@@ -98,4 +98,15 @@ public class RedisKey {
*/
public static final String MILEAGE_LAST_DAY_PREFIX ="mileage:last_day:";
/**
* 标签列表缓存key
*/
public static final String BRANCH_COMPANY_CATA_PAGE = BRANCH_CATA_CACHE + ":page";
/**
* 增加车型列表key
*/
public static final String BRANCH_COMPANY_CATA_LIST = BRANCH_CATA_CACHE + ":list";
}
......@@ -71,9 +71,9 @@ public class VehiclePlatCata implements Serializable {
private Long updTime;
//是否多选
@Column(name = "ismore")
@Column(name = "isMore")
@ApiModelProperty(value = "多选 0:单选 1:多选" )
private Integer ismore;
private Integer isMore;
}
......@@ -5,7 +5,13 @@ import lombok.Data;
import java.util.List;
@Data
public class Cascade <v> {
/**
* 一级标签
*/
v parent;
/**
* 二级子标签
*/
List<v> children;
public Cascade(v parent, List<v> children) {
......
......@@ -17,6 +17,7 @@ import com.xxfc.platform.vehicle.mapper.VehiclePlatCataMapper;
import com.xxfc.platform.vehicle.pojo.Cascade;
import com.xxfc.platform.vehicle.pojo.CataVo;
import lombok.extern.slf4j.Slf4j;
import org.assertj.core.util.Arrays;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -75,6 +76,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
return obj;
}
public List<Object> getChildren(Integer parentId) {
List<Object> list = new ArrayList<>();
List<VehiclePlatCata> children = getAll(parentId);
......@@ -137,11 +139,12 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @return
*/
@Transactional
public ObjectRestResponse addCascades(Cascade<VehiclePlatCata> cascade) {
public ObjectRestResponse addCascade(Cascade<VehiclePlatCata> cascade) {
try {
//取出一级标签
VehiclePlatCata parent = cascade.getParent();
parent.setCrtTime(System.currentTimeMillis());
parent.setState(0);
//插入一级标签获得id
mapper.insertSelective(parent);
Integer parentId = parent.getId();
......@@ -151,13 +154,11 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
//逐条插入二级标签
for (VehiclePlatCata children : childrens) {
children.setParentId(parentId);
children.setState(0);
children.setCrtTime(System.currentTimeMillis());
}
mapper.addPlatCataList(childrens);
return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
}
......@@ -170,7 +171,6 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
*/
public ObjectRestResponse fingCatasByParentId(Integer parentId) {
Example example = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, parentId)
......@@ -193,58 +193,60 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
*/
public ObjectRestResponse getCascades( Integer page, Integer limit ,Integer sort) {
try {
//标签列表页面
if (sort==null||sort==0) {
return getPage(page, limit);
}
//增加车型页面
if (sort==1){
return getList();
}
} catch (Exception e) {
e.printStackTrace();
}
return ObjectRestResponse.createDefaultFail();
}
@Cache(key = RedisKey.BRANCH_COMPANY_CATA_LIST)
private ObjectRestResponse getList() {
//获取一级标签
Example example = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, 0)
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("rank")
.orderByAsc("isMore","rank")
.build();
//分页查询一级标签并分类
PageDataVO opdvo = PageDataVO.pageInfo(page, limit, () -> mapper.selectByExample(example));
List<VehiclePlatCata> parentvpcs = opdvo.getData();
//分页查询父类
List<VehiclePlatCata> parentvpcs = mapper.selectByExample(example);
//传入一级标签集集合,或去一二级标签集合
ArrayList<Cascade<VehiclePlatCata>> cascades = getCascades(parentvpcs);
//用一二级标签集合,替换原来的一级标签集合
opdvo.setData(cascades);
return ObjectRestResponse.succ(opdvo);
return ObjectRestResponse.succ(cascades);
}
//增加车型页面
if (sort==1){
@Cache(key = RedisKey.BRANCH_COMPANY_CATA_PAGE)
private ObjectRestResponse getPage(Integer page, Integer limit) {
//获取一级标签
Example example = Example.builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, 0)
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("ismore","rank")
.orderByAsc("rank")
.build();
//分页查询父类
List<VehiclePlatCata> parentvpcs = mapper.selectByExample(example);
//分页查询一级标签并分类
PageDataVO opdvo = PageDataVO.pageInfo(page, limit, () -> mapper.selectByExample(example));
List<VehiclePlatCata> parentvpcs = opdvo.getData();
//传入一级标签集集合,或去一二级标签集合
ArrayList<Cascade<VehiclePlatCata>> cascades = getCascades(parentvpcs);
return ObjectRestResponse.succ(cascades);
}
} catch (Exception e) {
e.printStackTrace();
}
return ObjectRestResponse.createDefaultFail();
//用一二级标签集合,替换原来的一级标签集合
opdvo.setData(cascades);
return ObjectRestResponse.succ(opdvo);
}
/**
* 获取一二级标签集合
* @param parentvpcs
* @return
*/
private ArrayList<Cascade<VehiclePlatCata>> getCascades(List<VehiclePlatCata> parentvpcs) {
ArrayList<Cascade<VehiclePlatCata>> cascades = new ArrayList();
//获取二级标签
......@@ -286,61 +288,120 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
return ObjectRestResponse.succ(new Cascade<VehiclePlatCata>(result, vpcs));
}
/**
* 更新
* 更新和添加
* @param cas
* @return
*/
@Transactional
public ObjectRestResponse updateCascade( Cascade<VehiclePlatCata> cas) {
public ObjectRestResponse updateAndAdd( Cascade<VehiclePlatCata> cas) {
try {
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();
if (cas.getParent().getId()==null||cas.getParent().getId()==0) {
return addCascade(cas);
}else{
return updateCascade(cas);
}
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
}
/**
* 修改
* @param cas
* @return
*/
@Transactional
public ObjectRestResponse updateCascade(Cascade<VehiclePlatCata> cas) {
try {
VehiclePlatCata parentVPC = cas.getParent();
//设置更新时间
parentVPC.setUpdTime(System.currentTimeMillis());
//更新一级标签
List<VehiclePlatCata> children = cas.getChildren();
updateSelectiveById(parentVPC);
//获取子标签签
List<VehiclePlatCata> children = cas.getChildren();
//判断是否有子标签
if (children==null||children.size()==0) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"无子标签");
}
//遍历
for (VehiclePlatCata child : children) {
//判断子标签是更新还是新增
if (child.getId()==null){
child.setState(0);
child.setUpdTime(System.currentTimeMillis());
//添加
insertSelective(child);
}else {
//判断更新的是否是删除
//判断是否是删除
if (child.getState()==1) {
Integer id = child.getId();
VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setCataId(id);
//修改车型和标签的中间表
vehicleCataBiz.delete(vehicleCata);
}
//更新
child.setUpdTime(System.currentTimeMillis());
updateSelectiveById(child);
}
}
return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
}
/**
* 修改rank
* @param id
* @param rank
* @return
*/
public ObjectRestResponse updateParentRank(Integer id, Integer rank){
try {
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setRank(rank);
updateSelectiveById(vehiclePlatCata);
return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
VehiclePlatCata parent = cas.getParent();
}
return null;
/**
* 查询当前车型拥有的标签
* @param ids
* @return
*/
public ObjectRestResponse getCatasByIds( String ids){
Example exa = Example.builder(VehiclePlatCata.class).where(
WeekendSqls.<VehiclePlatCata>custom()
.andIn(VehiclePlatCata::getId, Arrays.asList(ids.split(",")))
.andEqualTo(VehiclePlatCata::getState,0)
).build();
List<VehiclePlatCata> vehiclePlatCatas = selectByExample(exa);
return ObjectRestResponse.succ(vehiclePlatCatas);
}
}
......@@ -9,5 +9,5 @@ import java.util.List;
public interface VehiclePlatCataMapper extends Mapper<VehiclePlatCata> {
int addPlatCataList(@Param("list") List<VehiclePlatCata> list);
int addPlatCataList(@Param("vpclist") List<VehiclePlatCata> vpclist);
}
\ No newline at end of file
......@@ -107,25 +107,50 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
@PostMapping(value = "/add/addCascade/")
public ObjectRestResponse addCascade(@RequestBody Cascade<VehiclePlatCata> cascade){
return baseBiz.addCascades(cascade);
try {
return baseBiz.addCascade(cascade);
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
}
/**
* 修改和增加一二级标签
* @param uc
* @param cas
* @return
*/
@PutMapping("/add/uc")
public ObjectRestResponse updateCascade(@RequestBody Cascade<VehiclePlatCata> uc){
baseBiz.updateCascade(uc);
return null;
@PostMapping("/add/updateAndAdd")
public ObjectRestResponse updateAndAdd(@RequestBody Cascade<VehiclePlatCata> cas){
return baseBiz.updateAndAdd(cas);
}
/**
* 修改标签排序
* @param id
* @param rank
* @return
*/
@PutMapping("/add/updateParentRank/{id}/{rank}")
public ObjectRestResponse updateParentRank(@PathVariable Integer id,@PathVariable Integer rank){
return baseBiz.updateParentRank(id,rank);
}
/**
* 查询当前车型拥有的标签
* @param ids
* @return
*/
@GetMapping("/add/getCatasByIds/{ids}")
public ObjectRestResponse getCatasByIds(@PathVariable String ids){
return baseBiz.getCatasByIds(ids);
}
/* @RequestMapping(value = "/{id}", method = RequestMethod.GET)
public RestResponse<Vehicle> get(@PathVariable String id) {
......
......@@ -6,13 +6,13 @@
<insert id="addPlatCataList" parameterType="java.util.List">
insert into vehicle_cata (
parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,ismore
insert into vehicle_plat_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 collection ="vpclist" item="vpc" index="index" separator =",">
(#{vpc.parentId},#{vpc.name},#{vpc.icon},#{vpc.depict}
,#{vpc.rank},#{vpc.level},#{vpc.state},#{vpc.crtTime}
,#{vpc.updTime},#{vpc.isMore})
</foreach>
</insert>
......
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