Commit 3ace2f5d authored by libin's avatar libin

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform into base-modify

parents 4da24295 373a75da
...@@ -72,9 +72,9 @@ public class BaseUserMember implements Serializable { ...@@ -72,9 +72,9 @@ public class BaseUserMember implements Serializable {
/** /**
* 剩余天数 * 剩余天数
*/ */
@Column(name = "s_number") @Column(name = "rent_free_days")
@ApiModelProperty(value = "剩余天数") @ApiModelProperty(value = "剩余天数")
private Integer sNumber; private Integer rentFreeDays;
/** /**
* 有效期;0代表永久 * 有效期;0代表永久
......
...@@ -35,7 +35,7 @@ public interface UserFeign { ...@@ -35,7 +35,7 @@ public interface UserFeign {
public ObjectRestResponse authentication( @RequestParam(value="userId")Integer userId, public ObjectRestResponse authentication( @RequestParam(value="userId")Integer userId,
@RequestParam(value="idNumber")String idNumber, @RequestParam(value="idNumber")String idNumber,
@RequestParam(value="status")Integer status); @RequestParam(value="status")Integer status);
@RequestMapping(value = "/member/levels", method = RequestMethod.GET) @RequestMapping(value = "/member/app/unauth/levels", method = RequestMethod.GET)
public List<BaseUserMemberLevel> levels(); public List<BaseUserMemberLevel> levels();
@RequestMapping(value = "/public/getByUserIds", method = RequestMethod.GET) @RequestMapping(value = "/public/getByUserIds", method = RequestMethod.GET)
......
...@@ -26,6 +26,7 @@ public class AppUserDTO { ...@@ -26,6 +26,7 @@ public class AppUserDTO {
private String idNumber; private String idNumber;
private Integer certificationStatus; private Integer certificationStatus;
private Integer rentFreeDays; private Integer rentFreeDays;
private Integer totalNumber;
private Integer memberLevel; private Integer memberLevel;
private Integer memberNo; private Integer memberNo;
private Long cardLeave; private Long cardLeave;
......
package com.github.wxiaoqi.security.admin.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户会员
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 19:38:56
*/
@Data
public class UserMemberVo {
/**
* 主键id
*/
@ApiModelProperty("主键id")
private Integer id;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 会员编号
*/
@ApiModelProperty(value = "会员编号")
private String memberNo;
/**
* 会员等级
*/
@ApiModelProperty(value = "会员等级")
private Integer memberLevel;
/**
* 卡内余额
*/
@ApiModelProperty(value = "卡内余额")
private Integer cardLeave;
/**
* 0:未支付 1:绑定 2:解绑
*/
@ApiModelProperty(value = "0:未支付 1:绑定 2:解绑")
private Integer isBind;
/**
* 赠送总天数
*/
@ApiModelProperty(value = "赠送总天数")
private Integer totalNumber;
/**
* 剩余天数
*/
@ApiModelProperty(value = "剩余天数")
private Integer rentFreeDays;
/**
* 有效期;0代表永久
*/
@ApiModelProperty(value = "有效期;0代表永久")
private Long validTime;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 是否删除;0-正常;1-删除
*/
@ApiModelProperty(value = "是否删除;0-正常;1-删除")
private Integer isDel;
}
...@@ -21,7 +21,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; ...@@ -21,7 +21,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableCircuitBreaker @EnableCircuitBreaker
@SpringBootApplication @SpringBootApplication
@EnableFeignClients({"com.github.wxiaoqi.security","com.xxfc.platform"})
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign","com.xxfc.platform","com.github.wxiaoqi.security.admin.feign"})
//@EnableFeignClients({"com.github.wxiaoqi.security","com.xxfc.platform"})
@EnableScheduling @EnableScheduling
@EnableAceAuthClient @EnableAceAuthClient
@EnableAceCache @EnableAceCache
......
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
...@@ -18,5 +19,11 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -18,5 +19,11 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMember> { public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMember> {
//获取用户会员信息
@Cache(key = "user:member{1}")
public UserMemberVo getMemberInfoByUserId(Integer userId){
return mapper.getInfoByUserId(userId);
}
} }
\ No newline at end of file
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.wxiaoqi.security.admin.entity.AppUser;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.mapper.AppUserMapper;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_TRUE;
/** /**
* @author keliii * @author keliii
*/ */
@Service @Service
public class UserMemberBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> { public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> {
@Transactional @Transactional
@Cache(key="member")
public List<BaseUserMemberLevel> getLevesls() { public List<BaseUserMemberLevel> getLevesls() {
return mapper.selectAll(); Example example=new Example(BaseUserMemberLevel.class);
example.createCriteria().andEqualTo("isdel",0);
example.setOrderByClause(" level asc ");
return mapper.selectByExample(example);
} }
} }
package com.github.wxiaoqi.security.admin.mapper; package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
/** /**
...@@ -12,4 +14,7 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -12,4 +14,7 @@ import tk.mybatis.mapper.common.Mapper;
*/ */
public interface BaseUserMemberMapper extends Mapper<BaseUserMember> { public interface BaseUserMemberMapper extends Mapper<BaseUserMember> {
//获取用户会员信息
public UserMemberVo getInfoByUserId(@Param("userId")Integer userId);
} }
...@@ -3,13 +3,16 @@ package com.github.wxiaoqi.security.admin.rest; ...@@ -3,13 +3,16 @@ package com.github.wxiaoqi.security.admin.rest;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.biz.AppUserBiz; import com.github.wxiaoqi.security.admin.biz.AppUserBiz;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz;
import com.github.wxiaoqi.security.admin.biz.BaseUserMemberBiz;
import com.github.wxiaoqi.security.admin.entity.AppUser; import com.github.wxiaoqi.security.admin.entity.AppUser;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group; import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.User; import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserGroups; import com.github.wxiaoqi.security.admin.vo.AppUserGroups;
import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo; import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
...@@ -18,6 +21,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController; ...@@ -18,6 +21,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
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.*;
...@@ -45,6 +49,9 @@ public class AppUserController extends CommonBaseController { ...@@ -45,6 +49,9 @@ public class AppUserController extends CommonBaseController {
@Autowired @Autowired
AppUserDetailBiz userDetailBiz; AppUserDetailBiz userDetailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@GetMapping("page") @GetMapping("page")
public TableResultResponse list(@RequestParam Map<String, Object> params) { public TableResultResponse list(@RequestParam Map<String, Object> params) {
Query query = new Query(params); Query query = new Query(params);
...@@ -102,17 +109,26 @@ public class AppUserController extends CommonBaseController { ...@@ -102,17 +109,26 @@ public class AppUserController extends CommonBaseController {
* @throws Exception * @throws Exception
*/ */
@GetMapping("/info") @GetMapping("/info")
public ObjectRestResponse<AppUserVo> getUserInfo()throws Exception { public ObjectRestResponse<AppUserDTO> getUserInfo()throws Exception {
String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId(); String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId();
if (username == null) { if (username == null) {
throw new Exception(); throw new Exception();
} }
AppUserDTO userDTO=new AppUserDTO();
Integer userid=Integer.parseInt(username); Integer userid=Integer.parseInt(username);
AppUserVo user = userDetailBiz.getUserInfoById(userid); AppUserVo userVo = userDetailBiz.getUserInfoById(userid);
if (user == null) { if (userVo == null) {
throw new Exception(); throw new Exception();
} }
return ObjectRestResponse.succ(user); BeanUtils.copyProperties(userDTO,userVo);
if(userVo.getIsMember()!=null&&userVo.getIsMember()>0){
//获取用户会员信息
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo);
}
}
return ObjectRestResponse.succ(userDTO);
} }
/** /**
...@@ -130,13 +146,5 @@ public class AppUserController extends CommonBaseController { ...@@ -130,13 +146,5 @@ public class AppUserController extends CommonBaseController {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@GetMapping("/findByUserId")
public ObjectRestResponse<AppUserDetail> findByUserId(Integer id) {
if(id == null || id < 0) {
return ObjectRestResponse.createFailedResult(500, "参数id为空");
}
AppUserDetail appUserDetail = userDetailBiz.getUserByUserid(id);
return ObjectRestResponse.succ(appUserDetail);
}
} }
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.UserMemberLevelBiz;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.biz.UserMemberBiz;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
...@@ -24,14 +18,14 @@ import java.util.List; ...@@ -24,14 +18,14 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("member") @RequestMapping("member")
public class MemberController { public class MemberLevelController {
@Autowired @Autowired
private UserMemberBiz memberBiz; private UserMemberLevelBiz memberBiz;
@RequestMapping(value = "/levels", method = RequestMethod.GET) @RequestMapping(value = "/app/unauth/levels", method = RequestMethod.GET)
public @ResponseBody public @ResponseBody
List<BaseUserMemberLevel> levels(String token) throws Exception { List<BaseUserMemberLevel> levels() throws Exception {
return memberBiz.getLevesls(); return memberBiz.getLevesls();
} }
} }
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz;
import com.github.wxiaoqi.security.admin.biz.MenuBiz;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group; import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.Menu; import com.github.wxiaoqi.security.admin.entity.Menu;
...@@ -13,6 +10,7 @@ import com.github.wxiaoqi.security.admin.rpc.service.PermissionService; ...@@ -13,6 +10,7 @@ import com.github.wxiaoqi.security.admin.rpc.service.PermissionService;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.FrontUser; import com.github.wxiaoqi.security.admin.vo.FrontUser;
import com.github.wxiaoqi.security.admin.vo.MenuTree; import com.github.wxiaoqi.security.admin.vo.MenuTree;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
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.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -45,11 +43,10 @@ public class PublicController { ...@@ -45,11 +43,10 @@ public class PublicController {
@Autowired @Autowired
private UserBiz userBiz; private UserBiz userBiz;
@Autowired
private AppUserLoginBiz userLoginBiz;
@Autowired @Autowired
private AppUserDetailBiz detailBiz; private AppUserDetailBiz detailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@Autowired @Autowired
private UserAuthUtil userAuthUtil; private UserAuthUtil userAuthUtil;
...@@ -77,12 +74,20 @@ public class PublicController { ...@@ -77,12 +74,20 @@ public class PublicController {
} }
AppUserDTO userDTO=new AppUserDTO(); AppUserDTO userDTO=new AppUserDTO();
Integer userid=Integer.parseInt(username); Integer userid=Integer.parseInt(username);
AppUserDetail user = detailBiz.getUserByUserid(userid); //获取用户基础信息
if (user == null) { AppUserVo userVo = detailBiz.getUserInfoById(userid);
if (userVo == null) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
} }
BeanUtils.copyProperties(userDTO,user); BeanUtils.copyProperties(userDTO,userVo);
return new ObjectRestResponse<AppUserDetail>().rel(true).data(user); if(userVo.getIsMember()!=null&&userVo.getIsMember()>0){
//获取用户会员信息
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo);
}
}
return new ObjectRestResponse<AppUserDetail>().rel(true).data(userDTO);
} }
@GetMapping("/getByUserIds") @GetMapping("/getByUserIds")
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<result column="status" property="status" /> <result column="status" property="status" />
<result column="id_number" property="idNumber" /> <result column="id_number" property="idNumber" />
<result column="certification_status" property="certificationStatus" /> <result column="certification_status" property="certificationStatus" />
<result column="isMember" property="is_member" /> <result column="is_member" property="isMember" />
<result column="nickname" property="nickname" /> <result column="nickname" property="nickname" />
<result column="realname" property="realname" /> <result column="realname" property="realname" />
<result column="headimgurl" property="headimgurl" /> <result column="headimgurl" property="headimgurl" />
......
<?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.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.github.wxiaoqi.security.admin.vo.UserMemberVo" id="baseUserMemberMap">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="memberNo" column="member_no"/>
<result property="memberLevel" column="member_level"/>
<result property="cardLeave" column="card_leave"/>
<result property="isBind" column="is_bind"/>
<result property="totalNumber" column="total_number"/>
<result property="rentFreeDays" column="rent_free_days"/>
<result property="validTime" column="valid_time"/>
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
</resultMap>
<select id="getInfoByUserId" resultMap="baseUserMemberMap">
select * from base_user_member where user_id=#{userId} and is_del=0 limit 1
</select>
</mapper>
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.xinxincaravan.caravan.vehicle.biz; ...@@ -3,6 +3,7 @@ package com.xinxincaravan.caravan.vehicle.biz;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode; import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.Vehicle; import com.xinxincaravan.caravan.vehicle.entity.Vehicle;
import com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog; import com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog;
...@@ -61,4 +62,5 @@ public class VehicleDepartureService { ...@@ -61,4 +62,5 @@ public class VehicleDepartureService {
statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId())); statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId()));
return statisticData; return statisticData;
} }
} }
...@@ -2,12 +2,15 @@ package com.xinxincaravan.caravan.vehicle.rest; ...@@ -2,12 +2,15 @@ package com.xinxincaravan.caravan.vehicle.rest;
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.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz; import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz;
import com.xinxincaravan.caravan.vehicle.biz.VehicleDepartureService; import com.xinxincaravan.caravan.vehicle.biz.VehicleDepartureService;
import com.xinxincaravan.caravan.vehicle.common.RestResponse; import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode; import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog;
import com.xinxincaravan.caravan.vehicle.feign.UserFeign; import com.xinxincaravan.caravan.vehicle.feign.UserFeign;
import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO; import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO;
import com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureStatisticDataVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -17,6 +20,9 @@ import javax.servlet.http.HttpServletRequest; ...@@ -17,6 +20,9 @@ import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* 车辆出行状态
*/
@IgnoreClientToken @IgnoreClientToken
@RestController @RestController
@RequestMapping("departure") @RequestMapping("departure")
...@@ -33,6 +39,7 @@ public class VehicleDepartureController { ...@@ -33,6 +39,7 @@ public class VehicleDepartureController {
@Autowired @Autowired
private UserAuthConfig userAuthConfig; private UserAuthConfig userAuthConfig;
@GetMapping("page") @GetMapping("page")
public RestResponse page(String numberPlate, Integer page, Integer limit, HttpServletRequest request) { public RestResponse page(String numberPlate, Integer page, Integer limit, HttpServletRequest request) {
if (page == null || limit == null) { if (page == null || limit == null) {
...@@ -70,6 +77,4 @@ public class VehicleDepartureController { ...@@ -70,6 +77,4 @@ public class VehicleDepartureController {
} }
return RestResponse.suc(vehicleDepartureService.statistic(numberPlate)); return RestResponse.suc(vehicleDepartureService.statistic(numberPlate));
} }
} }
...@@ -76,4 +76,9 @@ public class VehiclePlatCata implements Serializable { ...@@ -76,4 +76,9 @@ public class VehiclePlatCata implements Serializable {
private Integer isMore; private Integer isMore;
//是否多选
@Column(name = "start_using")
@ApiModelProperty(value = "是否作为客户端查询条件:0-否,1-是" )
private Integer startUsing;
} }
package com.xxfc.platform.vehicle.pojo;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import java.util.Date;
@Data
public class VehicleVo {
/**
* 主键(uuid)
*/
@Id
private String id;
/**
* 车辆编号,0-没有
*/
private Integer code;
/**
* 车辆状态: 1-正常运行 2-维修 3-报废
*/
private Integer status;
/**
* 车牌号,空字符串-没有
*/
@Column(name = "number_plate")
private String numberPlate;
/**
* 品牌(编码,对应关系见相关常量),0-未填写
*/
private Integer brand;
/**
* 所属分支机构(id)
*/
@Column(name = "subordinate_branch")
private Integer subordinateBranch;
/**
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
*/
@Column(name = "use_type")
private Integer useType;
/**
* 备注信息
*/
private String remark;
/**
* 车架号
*/
private String vin;
/**
* 保险公司,见常量表
*/
private Integer insuranceCompany;
/**
* 保险单号
*/
private String insuranceNo;
/**
* 保险开始时间
*/
private Date insuranceStartDate;
/**
* 保险结束时间
*/
private Date insuranceEndDate;
/**
* 年审时间
*/
private Date annualVerificationDate;
/**
* 保养时间
*/
private Date maintenanceDate;
/**
* 保养里程数
*/
private Integer maintenanceMileage;
/**
* 车辆所属人-类型
*/
private Integer belongTo;
/**
* 所属人 名称
*/
private String belongToName;
/**
* 行驶证路径
*/
private String drivingLicensePath;
/**
* 发动机号
*/
private String engineNum;
/**
* 生产商
*/
private String manufacturer;
/**
* 收车时间
*/
private Date receiveTime;
/**
* 最后更新里程数
*/
private Integer mileageLastUpdate;
/**
* 停车分公司id
*/
private Integer parkBranchCompanyId;
/**
* 预计目的地分公司id
*/
private Integer expectDestinationBranchCompanyId;
/**
* 车型id
*/
private Integer modelId;
/**
*片区id
*/
private Integer zoneId;
/**
* 当前页
*/
private Integer page;
/**
* 每页条数
*/
private Integer limit;
}
\ No newline at end of file
...@@ -7,8 +7,10 @@ import com.github.pagehelper.PageHelper; ...@@ -7,8 +7,10 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
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.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.google.common.base.Function;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException; import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
...@@ -26,6 +28,7 @@ import com.xxfc.platform.vehicle.mapper.VehicleMapper; ...@@ -26,6 +28,7 @@ import com.xxfc.platform.vehicle.mapper.VehicleMapper;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
...@@ -45,8 +48,12 @@ import org.springframework.stereotype.Service; ...@@ -45,8 +48,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.io.File; import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -75,6 +82,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -75,6 +82,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
@Autowired @Autowired
private RedisTemplate customRedisTemplate; private RedisTemplate customRedisTemplate;
@Value("${vehicle.baseUploadPath}") @Value("${vehicle.baseUploadPath}")
private String baseUploadPath ; private String baseUploadPath ;
...@@ -912,4 +920,97 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -912,4 +920,97 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
PageInfo<Vehicle> usableVehicleInfo = new PageInfo<>(lists); PageInfo<Vehicle> usableVehicleInfo = new PageInfo<>(lists);
return PageDataVO.pageInfo(usableVehicleInfo); return PageDataVO.pageInfo(usableVehicleInfo);
} }
/**
* 保存
* @param vehicle
* @return
*/
@Transactional
public ObjectRestResponse save(Vehicle vehicle){
if (vehicle==null) {
ObjectRestResponse.createDefaultFail();
}
String id = vehicle.getId();
if (StringUtils.isBlank(id)) {
insertSelective(vehicle);
insertSelective(vehicle);
}else {
updateSelectiveById(vehicle);
}
return ObjectRestResponse.succ();
}
/**
* 查找
* @param vehicleVo
* @param page
* @param limit
* @return
*/
public ObjectRestResponse findListByVehicle(VehicleVo vehicleVo, Integer page, Integer limit){
Vehicle vehicle = new Vehicle();
// vehicleVo复制一份到vehicle
try {
BeanUtilsBean.getInstance().copyProperties(vehicle,vehicleVo);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
WeekendSqls<Vehicle> sqls = WeekendSqls.<Vehicle>custom();
//车辆状态
if (vehicle.getStatus()!=null||vehicle.getStatus()!=0){
sqls.andEqualTo(Vehicle::getStatus,vehicle.getStatus());
}
//车牌号
if (StringUtils.isBlank(vehicle.getNumberPlate())){
sqls.andEqualTo(Vehicle::getNumberPlate,vehicle.getNumberPlate());
Function<Vehicle, Integer> getStatus = Vehicle::getStatus;
}
//公司
if (vehicle.getSubordinateBranch()==null||vehicle.getSubordinateBranch()==0){
sqls.andEqualTo(Vehicle::getSubordinateBranch,vehicle.getSubordinateBranch());
}
//大区
if (vehicleVo.getZoneId()==null||vehicleVo.getZoneId()==0){
//获取大区内的公司id
Example example= Example.builder(BranchCompany.class).where(WeekendSqls.<BranchCompany>custom()
.andEqualTo(BranchCompany::getZoneId,vehicleVo.getZoneId())).build();
List<BranchCompany> branchCompanies = branchCompanyBiz.selectByExample(example);
ArrayList<Integer> bIds = new ArrayList<>();
for (BranchCompany branchCompany : branchCompanies) {
bIds.add(branchCompany.getId());
}
sqls.andIn(Vehicle::getSubordinateBranch,bIds);
}
sqls.andEqualTo(Vehicle::getStatus,0);
Example exa = Example.builder(Vehicle.class).where(sqls).build();
PageDataVO<Object> objectPageDataVO = PageDataVO.pageInfo(page, limit, () -> selectByExample(exa));
return ObjectRestResponse.succ(objectPageDataVO);
}
/**
* 查询条
* @param id
* @return
*/
public ObjectRestResponse getOneById(Integer id){
return ObjectRestResponse.succ(selectByExample(
Example.builder(Vehicle.class)
.where(WeekendSqls.<Vehicle>custom()
.andEqualTo(Vehicle::getId,id)
.andEqualTo(Vehicle::getStatus,0))
.build()));
}
} }
...@@ -58,4 +58,12 @@ public class VehicleCataBiz extends BaseBiz<VehicleCataMapper, VehicleCata> { ...@@ -58,4 +58,12 @@ public class VehicleCataBiz extends BaseBiz<VehicleCataMapper, VehicleCata> {
mapper.addCataList(vcs); mapper.addCataList(vcs);
} }
public void updateIsdalByVehicleModelId(VehicleCata vehicleCata){
mapper.updateIsdalByVehicleModelId( vehicleCata);
}
public void updateIsdalByVehicleCataId(VehicleCata vehicleCata) {
mapper.updateIsdalByVehicleCataId(vehicleCata);
}
} }
...@@ -2,7 +2,9 @@ package com.xxfc.platform.vehicle.biz; ...@@ -2,7 +2,9 @@ package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
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.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleDepartureLog; import com.xxfc.platform.vehicle.entity.VehicleDepartureLog;
...@@ -12,12 +14,16 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo; ...@@ -12,12 +14,16 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureStatisticDataVo; import com.xxfc.platform.vehicle.pojo.VehicleDepartureStatisticDataVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
public class VehicleDepartureService { public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper, VehicleDepartureLog> {
@Autowired @Autowired
VehicleDepartureLogMapper vehicleDepartureLogMapper; VehicleDepartureLogMapper vehicleDepartureLogMapper;
...@@ -61,4 +67,51 @@ public class VehicleDepartureService { ...@@ -61,4 +67,51 @@ public class VehicleDepartureService {
statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId())); statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId()));
return statisticData; return statisticData;
} }
@Transactional
public ObjectRestResponse save(VehicleDepartureLog vehicleDepartureLog) {
Integer id = vehicleDepartureLog.getId();
if (id == null || id == 0) {
vehicleDepartureLog.setCreateTime(new Date());
vehicleDepartureLog.setState(0);
insertSelective(vehicleDepartureLog);
} else {
vehicleDepartureLog.setUpdateTime(new Date());
updateSelectiveById(vehicleDepartureLog);
}
return ObjectRestResponse.succ();
}
public ObjectRestResponse findOne(Integer vid) throws Exception {
Example exm = Example.builder(VehicleDepartureLog.class)
.where(WeekendSqls.<VehicleDepartureLog>custom()
.andEqualTo(VehicleDepartureLog::getVehicleId, vid)
.andEqualTo(VehicleDepartureLog::getState, 0))
.orderByDesc("create_time")
.build();
List<VehicleDepartureLog> vehicleDepartureLogs = mapper.selectByExample(exm);
if (vehicleDepartureLogs.size() == 1) {
VehicleDepartureLog vehicleDepartureLog = vehicleDepartureLogs.get(1);
if (vehicleDepartureLog!=null) {
return ObjectRestResponse.succ(vehicleDepartureLog);
}
}
return ObjectRestResponse.createDefaultFail();
}
@Transactional
public ObjectRestResponse collect(VehicleDepartureLog vdl){
vdl.setArrivalTime(new Date());
vdl.setState(1);
updateSelectiveById(vdl);
return ObjectRestResponse.succ();
}
} }
...@@ -11,6 +11,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -11,6 +11,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; 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.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleCata; import com.xxfc.platform.vehicle.entity.VehicleCata;
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;
...@@ -19,9 +20,13 @@ import com.xxfc.platform.vehicle.pojo.CataVo; ...@@ -19,9 +20,13 @@ import com.xxfc.platform.vehicle.pojo.CataVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.assertj.core.util.Arrays; import org.assertj.core.util.Arrays;
import org.springframework.aop.framework.AopContext; import org.springframework.aop.framework.AopContext;
import org.springframework.aop.framework.AopProxyUtils;
import org.springframework.aop.support.AopUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
...@@ -139,7 +144,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -139,7 +144,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @param cascade * @param cascade
* @return * @return
*/ */
@Transactional
public ObjectRestResponse addCascade(Cascade<VehiclePlatCata> cascade) { public ObjectRestResponse addCascade(Cascade<VehiclePlatCata> cascade) {
//取出一级标签 //取出一级标签
...@@ -147,9 +152,10 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -147,9 +152,10 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
parent.setCrtTime(System.currentTimeMillis()); parent.setCrtTime(System.currentTimeMillis());
parent.setState(0); parent.setState(0);
//插入一级标签获得id //插入一级标签获得id
parent.setIsMore(0);
parent.setRank(0);
mapper.insertSelective(parent); mapper.insertSelective(parent);
Integer parentId = parent.getId(); Integer parentId = parent.getId();
int i = 1/0;
//取出二级标签 //取出二级标签
List<VehiclePlatCata> childrens = cascade.getChildren(); List<VehiclePlatCata> childrens = cascade.getChildren();
//逐条插入二级标签 //逐条插入二级标签
...@@ -164,6 +170,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -164,6 +170,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/** /**
* 根据父类id获取子标签 * 根据父类id获取子标签
* *
...@@ -295,9 +302,9 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -295,9 +302,9 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @param cas * @param cas
* @return * @return
*/ */
@Transactional
public ObjectRestResponse updateAndAdd( Cascade<VehiclePlatCata> cas) { public ObjectRestResponse updateAndAdd( Cascade<VehiclePlatCata> cas) {
try {
if (cas==null||cas.getParent()==null) { if (cas==null||cas.getParent()==null) {
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
...@@ -309,10 +316,6 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -309,10 +316,6 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
return updateCascade(cas); return updateCascade(cas);
} }
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
} }
...@@ -322,7 +325,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -322,7 +325,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @param cas * @param cas
* @return * @return
*/ */
@Transactional
public ObjectRestResponse updateCascade(Cascade<VehiclePlatCata> cas) { public ObjectRestResponse updateCascade(Cascade<VehiclePlatCata> cas) {
try { try {
...@@ -341,7 +344,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -341,7 +344,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
//遍历 //遍历
for (VehiclePlatCata child : children) { for (VehiclePlatCata child : children) {
//判断子标签是更新还是新增 //判断子标签是更新还是新增
if (child.getId()==null){ if (child.getId()==null||child.getId()==0){
child.setState(0); child.setState(0);
child.setUpdTime(System.currentTimeMillis()); child.setUpdTime(System.currentTimeMillis());
//添加 //添加
...@@ -353,7 +356,8 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -353,7 +356,8 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
VehicleCata vehicleCata = new VehicleCata(); VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setCataId(id); vehicleCata.setCataId(id);
//修改车型和标签的中间表 //修改车型和标签的中间表
vehicleCataBiz.delete(vehicleCata); vehicleCata.setIsdel(1);
vehicleCataBiz.updateIsdalByVehicleCataId(vehicleCata);
} }
//更新 //更新
...@@ -405,4 +409,57 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -405,4 +409,57 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
return ObjectRestResponse.succ(vehiclePlatCatas); return ObjectRestResponse.succ(vehiclePlatCatas);
} }
/**
* 删除一级标签及其子标签
* @param id
* @return
*/
@Transactional
public ObjectRestResponse deleteCascadeById(Integer id){
//修改一级标签
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setState(1);
updateSelectiveById(vehiclePlatCata);
//修改子标签
VehiclePlatCata vpc = new VehiclePlatCata();
vpc.setState(1);
mapper.updateByExampleSelective(vpc,Example.builder(VehiclePlatCata.class)
.andWhere(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId,id)).build());
return ObjectRestResponse.succ();
}
/**
* 修改客户端查询条件
* @param id
* @param startUsing
* @return
*/
@Transactional
public ObjectRestResponse setStartUsingById(Integer id, Integer startUsing){
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setStartUsing(startUsing);
updateSelectiveById(vehiclePlatCata);
return ObjectRestResponse.succ();
}
/**
* 修改单选还是多选
* @param id
* @param isMore
* @return
*/
@Transactional
public ObjectRestResponse setIsore(Integer id, Integer isMore){
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setIsMore(isMore);
updateSelectiveById(vehiclePlatCata);
return ObjectRestResponse.succ();
}
} }
...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleCata; import com.xxfc.platform.vehicle.entity.VehicleCata;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
...@@ -24,4 +25,7 @@ public interface VehicleCataMapper extends Mapper<VehicleCata> { ...@@ -24,4 +25,7 @@ public interface VehicleCataMapper extends Mapper<VehicleCata> {
VehicleCata getOne(@Param("vehicleModelId")Integer vehicleModelId,@Param("cataId")Integer cataId ); VehicleCata getOne(@Param("vehicleModelId")Integer vehicleModelId,@Param("cataId")Integer cataId );
void updateIsdalByVehicleModelId(VehicleCata vehicleCata);
void updateIsdalByVehicleCataId(VehicleCata vehicleCata);
} }
...@@ -4,10 +4,11 @@ import com.xxfc.platform.vehicle.entity.VehicleDepartureLog; ...@@ -4,10 +4,11 @@ import com.xxfc.platform.vehicle.entity.VehicleDepartureLog;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo; import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper; import tk.mybatis.mapper.common.BaseMapper;
import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLog> { public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLog>, Mapper<VehicleDepartureLog> {
VehicleDepartureLog selectLastByVehicleId(String vehicleId); VehicleDepartureLog selectLastByVehicleId(String vehicleId);
......
...@@ -10,8 +10,11 @@ import com.xxfc.platform.vehicle.common.RestResponse; ...@@ -10,8 +10,11 @@ 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.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Update;
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 sun.java2d.pipe.AATextRenderer; import sun.java2d.pipe.AATextRenderer;
...@@ -62,7 +65,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -62,7 +65,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@GetMapping(value = "/add/fingCatasByParentId/{parentId}") @GetMapping(value = "/add/fingCatasByParentId/{parentId}")
public ObjectRestResponse fingCatasByParentId(@PathVariable Integer parentId ){ public ObjectRestResponse fingCatasByParentId(@PathVariable("parentId") Integer parentId ){
return baseBiz.fingCatasByParentId(parentId); return baseBiz.fingCatasByParentId(parentId);
} }
...@@ -73,7 +76,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -73,7 +76,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@GetMapping(value = "/add/findCascade/{id}") @GetMapping(value = "/add/findCascade/{id}")
public ObjectRestResponse findCascade(@PathVariable Integer id){ public ObjectRestResponse findCascade(@PathVariable("id") Integer id){
return baseBiz.findCascade(id); return baseBiz.findCascade(id);
...@@ -87,14 +90,16 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -87,14 +90,16 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @param sort 分类 0-增加车型页面,1-标签管理页面 * @param sort 分类 0-增加车型页面,1-标签管理页面
* @return * @return
*/ */
@GetMapping(value = "/add/fingCatasByParentId/{page}/{limit}/{sort}") @GetMapping(value = "/add/getCascades/{page}/{limit}/{sort}")
public ObjectRestResponse getCascades( public ObjectRestResponse getCascades(
// @PathVariable("page") Integer page
// ,@PathVariable("limit") Integer limit
// ,@PathVariable("sort") Integer sort){
@PathVariable Integer page @PathVariable Integer page
,@PathVariable Integer limit ,@PathVariable Integer limit
,@PathVariable Integer sort){ ,@PathVariable Integer sort){
return baseBiz.getCascades(page,limit,sort); return baseBiz.getCascades(page,limit,sort);
} }
...@@ -105,14 +110,11 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -105,14 +110,11 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@PostMapping(value = "/add/addCascade/") @PostMapping(value = "/add/addCascade/")
@Transactional
public ObjectRestResponse addCascade(@RequestBody Cascade<VehiclePlatCata> cascade){ public ObjectRestResponse addCascade(@RequestBody Cascade<VehiclePlatCata> cascade){
try {
return baseBiz.addCascade(cascade); return baseBiz.addCascade(cascade);
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
} }
...@@ -136,7 +138,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -136,7 +138,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@PutMapping("/add/updateParentRank/{id}/{rank}") @PutMapping("/add/updateParentRank/{id}/{rank}")
public ObjectRestResponse updateParentRank(@PathVariable Integer id,@PathVariable Integer rank){ public ObjectRestResponse updateParentRank(@PathVariable("id") Integer id,@PathVariable("rank") Integer rank){
return baseBiz.updateParentRank(id,rank); return baseBiz.updateParentRank(id,rank);
} }
...@@ -152,6 +154,40 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -152,6 +154,40 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
return baseBiz.getCatasByIds(ids); return baseBiz.getCatasByIds(ids);
} }
/**
* 删除一级标签及其子标签
* @param id 标签id
* @return
*/
@DeleteMapping("/add/deleteCascadeById/{id}")
public ObjectRestResponse deleteCascadeById(@PathVariable("id") Integer id){
return baseBiz.deleteCascadeById(id);
}
/**
* 修改客户端查询条件
* @param id
* @param startUsing
* @return
*/
@PutMapping("/add/setStartUsingById/{id}/{startUsing}")
public ObjectRestResponse setStartUsingById(@PathVariable("id") Integer id,@PathVariable("startUsing") Integer startUsing){
return baseBiz.setStartUsingById(id,startUsing);
}
/**
* 修改单选还是多选
* @param id
* @param isMore
* @return
*/
@PutMapping("/add/setIsMore/{id}/{isMore}")
public ObjectRestResponse setIsMore (@PathVariable("id") Integer id,@PathVariable("isMore") Integer isMore){
return baseBiz.setIsore(id,isMore);
}
/* @RequestMapping(value = "/{id}", method = RequestMethod.GET) /* @RequestMapping(value = "/{id}", method = RequestMethod.GET)
public RestResponse<Vehicle> get(@PathVariable String id) { public RestResponse<Vehicle> get(@PathVariable String id) {
return RestResponse.data(baseBiz.get(id)); return RestResponse.data(baseBiz.get(id));
......
...@@ -51,9 +51,9 @@ import static com.xxfc.platform.vehicle.constant.VehicleConstant.USER_APP; ...@@ -51,9 +51,9 @@ import static com.xxfc.platform.vehicle.constant.VehicleConstant.USER_APP;
@RestController @RestController
@RequestMapping("/vehicleInfo") @RequestMapping("/vehicleInfo")
@Slf4j @Slf4j
@IgnoreClientToken @IgnoreClientToken
@Api(value="车辆管理controller",tags={"车辆管理接口"}) @Api(value = "车辆管理controller", tags = {"车辆管理接口"})
public class VehicleController extends BaseController<VehicleBiz> { public class VehicleController extends BaseController<VehicleBiz> {
@Autowired @Autowired
...@@ -301,14 +301,14 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -301,14 +301,14 @@ public class VehicleController extends BaseController<VehicleBiz> {
public ObjectRestResponse<PageDataVO<UsableVehicleModelVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception { public ObjectRestResponse<PageDataVO<UsableVehicleModelVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception {
//根据时间 获得 可用车辆 //根据时间 获得 可用车辆
//结合车型 //结合车型
if(StringUtils.isNotBlank(dto.getCatasStr())) { if (StringUtils.isNotBlank(dto.getCatasStr())) {
List<Integer> catasIds = Pattern.compile(",").splitAsStream(dto.getCatasStr()).map((s)-> Integer.parseInt(s)).collect(Collectors.toList()); List<Integer> catasIds = Pattern.compile(",").splitAsStream(dto.getCatasStr()).map((s) -> Integer.parseInt(s)).collect(Collectors.toList());
List<VehiclePlatCata> catas = vehiclePlatCataBiz.selectByExample(new Example.Builder(VehiclePlatCata.class) List<VehiclePlatCata> catas = vehiclePlatCataBiz.selectByExample(new Example.Builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom().andIn(VehiclePlatCata::getId, catasIds)).build()); .where(WeekendSqls.<VehiclePlatCata>custom().andIn(VehiclePlatCata::getId, catasIds)).build());
Map<Integer, List<VehiclePlatCata>> vpcMap = new HashMap<Integer, List<VehiclePlatCata>>(); Map<Integer, List<VehiclePlatCata>> vpcMap = new HashMap<Integer, List<VehiclePlatCata>>();
for(VehiclePlatCata vpc : catas) { for (VehiclePlatCata vpc : catas) {
List<VehiclePlatCata> vpcs = vpcMap.get(vpc.getParentId()); List<VehiclePlatCata> vpcs = vpcMap.get(vpc.getParentId());
if(null == vpcs) { if (null == vpcs) {
vpcs = new ArrayList<VehiclePlatCata>(); vpcs = new ArrayList<VehiclePlatCata>();
} }
vpcs.add(vpc); vpcs.add(vpc);
...@@ -354,7 +354,7 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -354,7 +354,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
//查询可车辆信息 //查询可车辆信息
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto); PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto);
if(pageDataVO.getData().size() <= 0) { if (pageDataVO.getData().size() <= 0) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
} }
bookVehicleVo.setVehicle(pageDataVO.getData().get(0).getId()); bookVehicleVo.setVehicle(pageDataVO.getData().get(0).getId());
...@@ -364,4 +364,41 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -364,4 +364,41 @@ public class VehicleController extends BaseController<VehicleBiz> {
return ObjectRestResponse.succ(bookVehicleVo.getVehicle()); return ObjectRestResponse.succ(bookVehicleVo.getVehicle());
} }
/**
* 保存
*
* @param vehicle
* @return
*/
@PostMapping("/add/seva")
public ObjectRestResponse seva(Vehicle vehicle) {
return baseBiz.save(vehicle);
}
/**
* 查找
* @param vehicleVo
* @param page
* @param limit
* @return
*/
@PostMapping("/add/findListByVehicle/{page}/{limit}")
public ObjectRestResponse findListByVehicle(
@RequestBody VehicleVo vehicleVo
, @PathVariable("page") Integer page
, @PathVariable("limit") Integer limit) {
return baseBiz.findListByVehicle(vehicleVo,page,limit);
}
/**
* 查询一条
* @param id
* @return
*/
@GetMapping("/add/getOneById/{id}")
public ObjectRestResponse getOneById(@PathVariable("id")Integer id){
return baseBiz.getOneById(id);
}
} }
...@@ -4,14 +4,14 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign; ...@@ -4,14 +4,14 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
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.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
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.VehicleDepartureService; import com.xxfc.platform.vehicle.biz.VehicleDepartureService;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.VehicleDepartureLog;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
...@@ -70,5 +70,38 @@ public class VehicleDepartureController { ...@@ -70,5 +70,38 @@ public class VehicleDepartureController {
return RestResponse.suc(vehicleDepartureService.statistic(numberPlate)); return RestResponse.suc(vehicleDepartureService.statistic(numberPlate));
} }
/**
* 保存(出车)
* @param vehicleDepartureLog
* @return
*/
@PostMapping("/app/save")
public ObjectRestResponse save(@RequestBody VehicleDepartureLog vehicleDepartureLog){
return vehicleDepartureService.save(vehicleDepartureLog);
}
/**
* 查询一条
* @param vid 车辆id
* @return
* @throws Exception
*/
@GetMapping("/app/findOne/{id}")
public ObjectRestResponse findOne(@PathVariable Integer vid) throws Exception {
return vehicleDepartureService.findOne(vid);
}
/**
*
* 收车
* @param vdl
* @return
* @throws Exception
*/
@PutMapping("/app/collect")
public ObjectRestResponse collect(@RequestBody VehicleDepartureLog vdl) throws Exception {
return vehicleDepartureService.collect(vdl);
}
} }
...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException; ...@@ -7,6 +7,7 @@ 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.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleCataBiz; 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;
...@@ -24,13 +25,17 @@ import io.swagger.annotations.ApiParam; ...@@ -24,13 +25,17 @@ import io.swagger.annotations.ApiParam;
import net.bytebuddy.implementation.bytecode.Throw; import net.bytebuddy.implementation.bytecode.Throw;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Select;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; 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.weekend.WeekendSqls;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
@RestController @RestController
@RequestMapping("vehicleModel") @RequestMapping("vehicleModel")
...@@ -49,6 +54,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -49,6 +54,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@Autowired @Autowired
private UserFeign userFeign; private UserFeign userFeign;
//修改评分 //修改评分
@RequestMapping(value = "/app/addScore", method = RequestMethod.GET) @RequestMapping(value = "/app/addScore", method = RequestMethod.GET)
public RestResponse addScore( public RestResponse addScore(
...@@ -221,16 +227,37 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -221,16 +227,37 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@DeleteMapping(value = "/app/{id}") @DeleteMapping(value = "/app/{id}")
@ResponseBody @ResponseBody
@Transactional @Transactional
public ObjectRestResponse<VehicleModel> remove(@PathVariable int id){ public ObjectRestResponse<VehicleModel> remove(@PathVariable int id) {
try {
vehicleModelBiz.deleteById(id); //1.先判断是否有属于该车型可用的车辆,有不能删除,无可以进行删除
//根据车型查询对应的车辆
// Example exa = Example.builder(Vehicle.class).where(
// WeekendSqls.<Vehicle>custom()
// .andEqualTo(Vehicle::getModelId, id)
// .andEqualTo(Vehicle::getStatus, 1)
// .orEqualTo(Vehicle::getStatus,"2")
// ).build();
//
// List<Vehicle> vehicles = vehicleBiz.selectByExample(exa);
//
// //判断是查询到对应的车辆
// if (vehicles != null) {
// ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "该车型,无法删除");
// }
//2.进行逻辑删除
VehicleModel vm = new VehicleModel();
vm.setId(id);
vm.setIsdel(1);
vehicleModelBiz.updateById(vm);
//3.删除车型对应的标签
VehicleCata vehicleCata = new VehicleCata(); VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setVehicleModelId(id); vehicleCata.setVehicleModelId(id);
vehicleCataBiz.delete(vehicleCata); vehicleCata.setIsdel(1);
vehicleCataBiz.updateIsdalByVehicleModelId(vehicleCata);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
} }
} }
\ No newline at end of file
...@@ -36,5 +36,10 @@ ...@@ -36,5 +36,10 @@
</trim> </trim>
) and vehicle_model_id=#{vehicleModelId} ) and vehicle_model_id=#{vehicleModelId}
</update> </update>
<update id="updateIsdalByVehicleModelId" parameterType="com.xxfc.platform.vehicle.entity.VehicleCata">
update vehicle_cata set isdel=#{isdel} where vehicle_model_id=#{vehicleModelId}
</update>
<update id="updateIsdalByVehicleCataId" parameterType="com.xxfc.platform.vehicle.entity.VehicleCata">
update vehicle_cata set isdel=#{isdel} where cata_id=#{cataId}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<insert id="addPlatCataList" parameterType="java.util.List"> <insert id="addPlatCataList" parameterType="java.util.List">
insert into vehicle_plat_cata ( insert into vehicle_plat_cata (
parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,isMore parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,isMore,start_using
) VALUES ) VALUES
<foreach collection ="vpclist" item="vpc" index="index" separator =","> <foreach collection ="vpclist" item="vpc" index="index" separator =",">
(#{vpc.parentId},#{vpc.name},#{vpc.icon},#{vpc.depict} (#{vpc.parentId},#{vpc.name},#{vpc.icon},#{vpc.depict}
,#{vpc.rank},#{vpc.level},#{vpc.state},#{vpc.crtTime} ,#{vpc.rank},#{vpc.level},#{vpc.state},#{vpc.crtTime}
,#{vpc.updTime},#{vpc.isMore}) ,#{vpc.updTime},#{vpc.isMore},#{vpc.startUsing})
</foreach> </foreach>
</insert> </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