Commit 7b3d2ef2 authored by hanfeng's avatar hanfeng

Merge branch 'dev' of http://10.5.52.3/youjj/cloud-platform into dev2

parents f7128af3 4ed88dee
...@@ -10,4 +10,5 @@ ace-modules/ace-tool/src/main/resources/application-dev.yml ...@@ -10,4 +10,5 @@ ace-modules/ace-tool/src/main/resources/application-dev.yml
src/main/test/** src/main/test/**
logs/** logs/**
xx-order/xx-order-server/logs/** xx-order/xx-order-server/logs/**
*.log
...@@ -46,6 +46,10 @@ public class UserBusinessBiz { ...@@ -46,6 +46,10 @@ public class UserBusinessBiz {
List<AppUserRelation> teamMemberBos = memberPage.getData(); List<AppUserRelation> teamMemberBos = memberPage.getData();
if (CollectionUtils.isEmpty(teamMemberBos)) { if (CollectionUtils.isEmpty(teamMemberBos)) {
userTeamMemberVo.setPageNum(pageNo);
userTeamMemberVo.setPageSize(pageSize);
userTeamMemberVo.setTotalIncome(new BigDecimal(0));
userTeamMemberVo.setUserTeamMemberBos(Collections.EMPTY_LIST);
return userTeamMemberVo; return userTeamMemberVo;
} }
......
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
l.id = m.user_id l.id = m.user_id
left join left join
`app_user_position` as aup `app_user_position` as aup
on d.position_id= aup.level on aup.id = d.position_id
where l.isdel = 0 where l.isdel = 0
<if test="mobile !=null and mobile !='' "> <if test="mobile !=null and mobile !='' ">
and l.username like CONCAT('%',#{mobile},'%') and l.username like CONCAT('%',#{mobile},'%')
......
package com.xxfc.platform.app.entity.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/9 16:25
*/
@Data
public class BuyVehicleFormFindDTO extends PageParam {
private Long startTime;
private Long endTime;
private Integer companyId;
private Integer areaId;
private Integer status;
}
...@@ -59,14 +59,14 @@ public class BuyVehicleFormPageVo { ...@@ -59,14 +59,14 @@ public class BuyVehicleFormPageVo {
private Integer status; private Integer status;
/** /**
* 申请 * 负责
*/ */
private String applyName; private String leaderName;
/** /**
* 申请人电话 * 负责人电话
*/ */
private String applyPhone; private String leaderPhone;
} }
package com.xxfc.platform.app.biz; package com.xxfc.platform.app.biz;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.app.entity.dto.BuyVehicleFormFindDTO; import com.xxfc.platform.app.entity.dto.BuyVehicleFormFindDTO;
import com.xxfc.platform.app.entity.vo.BuyVehicleFormPageVo; import com.xxfc.platform.app.entity.vo.BuyVehicleFormPageVo;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -13,10 +16,7 @@ import com.xxfc.platform.app.entity.BuyVehicleForm; ...@@ -13,10 +16,7 @@ import com.xxfc.platform.app.entity.BuyVehicleForm;
import com.xxfc.platform.app.mapper.BuyVehicleFormMapper; import com.xxfc.platform.app.mapper.BuyVehicleFormMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -32,6 +32,9 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF ...@@ -32,6 +32,9 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF
@Autowired @Autowired
private VehicleFeign vehicleFeign; private VehicleFeign vehicleFeign;
@Autowired
private UserFeign userFeign;
public PageDataVO<BuyVehicleFormPageVo> findBuyVehicleFormWithPage(BuyVehicleFormFindDTO buyVehicleFormFindDTO) { public PageDataVO<BuyVehicleFormPageVo> findBuyVehicleFormWithPage(BuyVehicleFormFindDTO buyVehicleFormFindDTO) {
PageDataVO<BuyVehicleFormPageVo> buyVehicleFormPage = new PageDataVO<>(); PageDataVO<BuyVehicleFormPageVo> buyVehicleFormPage = new PageDataVO<>();
List<Integer> cpyIds = new ArrayList<>(); List<Integer> cpyIds = new ArrayList<>();
...@@ -43,6 +46,8 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF ...@@ -43,6 +46,8 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF
boolean flag = companyIds.contains(buyVehicleFormFindDTO.getCompanyId()); boolean flag = companyIds.contains(buyVehicleFormFindDTO.getCompanyId());
if (flag){ if (flag){
cpyIds.add(buyVehicleFormFindDTO.getCompanyId()); cpyIds.add(buyVehicleFormFindDTO.getCompanyId());
}else {
return buyVehicleFormPage;
} }
} }
}else { }else {
...@@ -57,13 +62,20 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF ...@@ -57,13 +62,20 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF
return buyVehicleFormPage; return buyVehicleFormPage;
} }
List<Integer> userIds = data.stream().map(BuyVehicleForm::getUserId).collect(Collectors.toList()); List<Integer> companyIds = data.stream().map(BuyVehicleForm::getCompanyId).collect(Collectors.toList());
Map<Integer, BranComanyLeaderVo> comanyLeaderVoMap = vehicleFeign.findCompanyLeaderMapByIds(companyIds);
List<BuyVehicleFormPageVo> buyVehicleFormPageVoList = new ArrayList<>(); List<BuyVehicleFormPageVo> buyVehicleFormPageVoList = new ArrayList<>();
BuyVehicleFormPageVo buyVehicleFormPageVo; BuyVehicleFormPageVo buyVehicleFormPageVo;
for (BuyVehicleForm buyVehicleForm : data) { for (BuyVehicleForm buyVehicleForm : data) {
buyVehicleFormPageVo = new BuyVehicleFormPageVo(); buyVehicleFormPageVo = new BuyVehicleFormPageVo();
BeanUtils.copyProperties(buyVehicleForm,buyVehicleFormPageVo); BeanUtils.copyProperties(buyVehicleForm,buyVehicleFormPageVo);
if(comanyLeaderVoMap!=null) {
BranComanyLeaderVo branComanyLeaderVo = comanyLeaderVoMap.get(buyVehicleForm.getCompanyId());
buyVehicleFormPageVo.setLeaderName(branComanyLeaderVo == null ? "" : branComanyLeaderVo.getLeader());
buyVehicleFormPageVo.setLeaderPhone(branComanyLeaderVo == null ? "" : branComanyLeaderVo.getPhone());
buyVehicleFormPageVo.setCompanyName(branComanyLeaderVo == null ? "" : branComanyLeaderVo.getName());
}
buyVehicleFormPageVoList.add(buyVehicleFormPageVo); buyVehicleFormPageVoList.add(buyVehicleFormPageVo);
} }
...@@ -74,4 +86,8 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF ...@@ -74,4 +86,8 @@ public class BuyVehicleFormBiz extends BaseBiz<BuyVehicleFormMapper, BuyVehicleF
buyVehicleFormPage.setTotalCount(pageDataVO.getTotalCount()); buyVehicleFormPage.setTotalCount(pageDataVO.getTotalCount());
return buyVehicleFormPage; return buyVehicleFormPage;
} }
public void processApplyStatusById(Integer id) {
mapper.updateApplyStatusById(id);
}
} }
\ No newline at end of file
...@@ -17,4 +17,6 @@ import java.util.List; ...@@ -17,4 +17,6 @@ import java.util.List;
public interface BuyVehicleFormMapper extends Mapper<BuyVehicleForm> { public interface BuyVehicleFormMapper extends Mapper<BuyVehicleForm> {
List<BuyVehicleForm> findBuyVehicleForms(@Param("bvf") BuyVehicleFormFindDTO buyVehicleFormFindDTO,@Param("companyIds") List<Integer> companyIds); List<BuyVehicleForm> findBuyVehicleForms(@Param("bvf") BuyVehicleFormFindDTO buyVehicleFormFindDTO,@Param("companyIds") List<Integer> companyIds);
void updateApplyStatusById(Integer id);
} }
...@@ -6,10 +6,7 @@ import com.xxfc.platform.app.biz.BuyVehicleFormBiz; ...@@ -6,10 +6,7 @@ import com.xxfc.platform.app.biz.BuyVehicleFormBiz;
import com.xxfc.platform.app.entity.dto.BuyVehicleFormFindDTO; import com.xxfc.platform.app.entity.dto.BuyVehicleFormFindDTO;
import com.xxfc.platform.app.entity.vo.BuyVehicleFormPageVo; import com.xxfc.platform.app.entity.vo.BuyVehicleFormPageVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @author libin * @author libin
...@@ -18,20 +15,21 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -18,20 +15,21 @@ import org.springframework.web.bind.annotation.RestController;
* @data 2019/8/9 13:55 * @data 2019/8/9 13:55
*/ */
@RestController @RestController
@RequestMapping("buy_vehicle") @RequestMapping("admin/buy_vehicle")
public class BuyVehicleFormAdminController { public class BuyVehicleFormAdminController {
@Autowired @Autowired
private BuyVehicleFormBiz vehicleFormBiz; private BuyVehicleFormBiz vehicleFormBiz;
@PostMapping("/page") @PostMapping("/page")
public ObjectRestResponse<BuyVehicleFormPageVo> findBuyVehicleFormWithPage(BuyVehicleFormFindDTO buyVehicleFormFindDTO){ public ObjectRestResponse<BuyVehicleFormPageVo> findBuyVehicleFormWithPage(@RequestBody BuyVehicleFormFindDTO buyVehicleFormFindDTO){
PageDataVO<BuyVehicleFormPageVo> pageDataVO = vehicleFormBiz.findBuyVehicleFormWithPage(buyVehicleFormFindDTO); PageDataVO<BuyVehicleFormPageVo> pageDataVO = vehicleFormBiz.findBuyVehicleFormWithPage(buyVehicleFormFindDTO);
return ObjectRestResponse.succ(pageDataVO); return ObjectRestResponse.succ(pageDataVO);
} }
@PostMapping("/status/id") @PostMapping("/status/{id}")
public ObjectRestResponse<Void> processApplyById(@PathVariable("id") Integer id){ public ObjectRestResponse<Void> processApplyById(@PathVariable(value = "id") Integer id){
vehicleFormBiz.processApplyStatusById(id);
return ObjectRestResponse.succ();
} }
} }
...@@ -21,21 +21,29 @@ ...@@ -21,21 +21,29 @@
<select id="findBuyVehicleForms" resultMap="buyVehicleFormMap"> <select id="findBuyVehicleForms" resultMap="buyVehicleFormMap">
select * from `buy_vehicle_form` where 1=1 select * from `buy_vehicle_form` where 1=1
<if test="bvf.startTime != null and bvf.endTime !=null"> <if test="bvf.startTime != null and bvf.endTime !=null">
and `bookTime` between #{bvf.startTime} and #{bvf.endTime} and `book_time` between #{bvf.startTime} and #{bvf.endTime}
</if> </if>
<if test="bvf.startTime != null and bvf.endTime == null"> <if test="bvf.startTime != null and bvf.endTime == null">
and `bookTime`>= #{bvf.startTime} and `book_time`>= #{bvf.startTime}
</if> </if>
<if test="bvf.endTime != null and bvf.startTime == null"> <if test="bvf.endTime != null and bvf.startTime == null">
and <![CDATA[ `bookTime`<= #{bvf.endTime}]]> and <![CDATA[ `book_time`<= #{bvf.endTime}]]>
</if> </if>
<if test="bvf.areaId != null || bvf.companyId !=null"> <if test="bvf.areaId != null || bvf.companyId !=null">
<if test="companyIds != null and companyIds.size() != 0"> <if test="companyIds != null and companyIds.size() != 0">
and `company_id` in and `company_id` in
<foreach collection="companyIds" item="companyId" separator=","> <foreach collection="companyIds" item="cpyId" close=")" open="(" separator=",">
#{companyId} #{cpyId}
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="bvf.status != null">
and `status`=#{bvf.status}
</if>
order by `book_time` desc
</select> </select>
<update id="updateApplyStatusById">
update `buy_vehicle_form` set `status`=1 where `id`=#{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -372,6 +372,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -372,6 +372,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
sendQueue(orderMQDTO, sign); sendQueue(orderMQDTO, sign);
} }
@Override
public void updateSelectiveById(BaseOrder entity) {
super.updateSelectiveById(entity);
}
/** /**
* 更新(不成功抛异常) * 更新(不成功抛异常)
* *
......
...@@ -286,7 +286,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -286,7 +286,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车 if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车 if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
//添加非定损记录 //添加非定损记录
...@@ -298,7 +298,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -298,7 +298,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord); orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord);
//修改订单状态为已完成 //修改订单状态为已完成
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveByIdReT(baseOrder);
//修改订单详情是否押金全部退还 //修改订单详情是否押金全部退还
orderRentVehicleDetail.setFixedLossStatus(0); orderRentVehicleDetail.setFixedLossStatus(0);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
...@@ -312,7 +312,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -312,7 +312,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId()); depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord); orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord);
baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveByIdReT(baseOrder);
orderRentVehicleDetail.setFixedLossStatus(1); orderRentVehicleDetail.setFixedLossStatus(1);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
} }
...@@ -334,7 +334,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -334,7 +334,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
throw new BaseException("定损记录不存在!请联系客服"); throw new BaseException("定损记录不存在!请联系客服");
} }
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} }
} }
......
package com.xxfc.platform.order.jobhandler; package com.xxfc.platform.order.jobhandler;
import cn.hutool.core.date.DateUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.google.common.collect.Lists;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz; import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.contant.enumerate.RefundStatusEnum;
import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.entity.OrderViolation; import com.xxfc.platform.order.entity.OrderViolation;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
...@@ -17,6 +17,7 @@ import com.xxl.job.core.biz.model.ReturnT; ...@@ -17,6 +17,7 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler; import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.log.XxlJobLogger; import com.xxl.job.core.log.XxlJobLogger;
import io.swagger.models.auth.In;
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.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -24,10 +25,12 @@ import tk.mybatis.mapper.entity.Example; ...@@ -24,10 +25,12 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/** /**
...@@ -78,7 +81,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -78,7 +81,7 @@ public class RentDepositJobHandler extends IJobHandler {
.where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE) .where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE)
.andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) //已完成的订单 .andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) //已完成的订单
.andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL) //已归还了部分押金 .andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL) //已归还了部分押金
.andLessThanOrEqualTo(BaseOrder::getRefundTime, System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)) .andLessThanOrEqualTo(BaseOrder::getCrtTime, DateUtil.date(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)))
// .andLike(BaseOrder::getId, "%"+ i) // .andLike(BaseOrder::getId, "%"+ i)
).build()); ).build());
...@@ -88,11 +91,25 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -88,11 +91,25 @@ public class RentDepositJobHandler extends IJobHandler {
setOrderId(baseOrder.getId()); setOrderId(baseOrder.getId());
}}); }});
Integer crosstownTypeEnum;
//判断是否定损过
if(SYS_TRUE.equals(orvd.getFixedLossStatus())) {
crosstownTypeEnum = CrosstownTypeEnum.FIXED_LOSS.getCode();
}else {
crosstownTypeEnum = CrosstownTypeEnum.ARRIVE.getCode();
}
OrderVehicleCrosstown crosstown = crosstownBiz.selectOne(new OrderVehicleCrosstown(){{
setOrderId(baseOrder.getId());
setType(crosstownTypeEnum);
}});
if(crosstown.getCrtTime().compareTo(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)) < 0) {
OrderViolation orderViolation = orderViolationBiz.selectOne(new OrderViolation(){{ OrderViolation orderViolation = orderViolationBiz.selectOne(new OrderViolation(){{
setDetailId(orvd.getId()); setDetailId(orvd.getId());
setIsDel(SYS_FALSE); setIsDel(SYS_FALSE);
}}); }});
if(null != orderViolation) {
//还车扣除款 剩余的 钱,再减去违章预备金 //还车扣除款 剩余的 钱,再减去违章预备金
BigDecimal refundAmont = orvd.getReturnPayResidue().subtract(orderViolation.getPrice()); BigDecimal refundAmont = orvd.getReturnPayResidue().subtract(orderViolation.getPrice());
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString(); String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString();
...@@ -100,6 +117,16 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -100,6 +117,16 @@ public class RentDepositJobHandler extends IJobHandler {
orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT); orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT);
orderMsgBiz.handelMsgDeposit(orvd, baseOrder, userFeign.userDetailById(baseOrder.getUserId()).getData()); orderMsgBiz.handelMsgDeposit(orvd, baseOrder, userFeign.userDetailById(baseOrder.getUserId()).getData());
} }
}
//获取交车时间
// List<OrderVehicleCrosstown> crosstowns = crosstownBiz.selectByExample(
// new Example.Builder(BaseOrder.class)
// .where(WeekendSqls.<OrderVehicleCrosstown>custom()
// .andIn(OrderVehicleCrosstown::getType, Lists.newArrayList(CrosstownTypeEnum.ARRIVE.getCode(), CrosstownTypeEnum.FIXED_LOSS.getCode()))
// .andEqualTo(OrderVehicleCrosstown::getOrderId, baseOrder.getId())).build());
}
// } // }
// } // }
......
...@@ -6,6 +6,7 @@ import com.xxfc.platform.vehicle.common.RestResponse; ...@@ -6,6 +6,7 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.*; import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo; import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -117,6 +118,9 @@ public interface VehicleFeign { ...@@ -117,6 +118,9 @@ public interface VehicleFeign {
@GetMapping("/accompanyingItem/app/unauth/items") @GetMapping("/accompanyingItem/app/unauth/items")
public RestResponse<List<AccompanyingItemVo>> listAccompanyingItem(); public RestResponse<List<AccompanyingItemVo>> listAccompanyingItem();
@GetMapping("/findByAreaId") @GetMapping("/branchCompany/findByAreaId")
List<Integer> findCompanyIdsByAreaId(@RequestParam(value = "areaId") Integer areaId); List<Integer> findCompanyIdsByAreaId(@RequestParam(value = "areaId") Integer areaId);
@GetMapping("/branchCompany/company")
Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(@RequestParam(value = "companyIds") List<Integer> companyIds);
} }
package com.xxfc.platform.vehicle.pojo.vo;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/9 18:44
*/
@Data
public class BranComanyLeaderVo {
/**
* 负责人
*/
private String leader;
/**
* 负责人联系电话
*/
private String phone;
/**
* 公司名
*/
private String name;
}
...@@ -20,6 +20,7 @@ import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper; ...@@ -20,6 +20,7 @@ import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper;
import com.xxfc.platform.vehicle.pojo.BranchCompanyVo; import com.xxfc.platform.vehicle.pojo.BranchCompanyVo;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.CompanySearchDTO; import com.xxfc.platform.vehicle.pojo.CompanySearchDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import com.xxfc.platform.vehicle.util.excel.ExcelImport; import com.xxfc.platform.vehicle.util.excel.ExcelImport;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -331,4 +332,17 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -331,4 +332,17 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
public List<Integer> selectCompanyIdsByAreaId(Integer areaId) { public List<Integer> selectCompanyIdsByAreaId(Integer areaId) {
return mapper.findCompanyIdsByAreaId(areaId); return mapper.findCompanyIdsByAreaId(areaId);
} }
public Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(List<Integer> companyIds) {
Map<Integer,BranComanyLeaderVo> companyIdAndLeaderMap = new HashMap<>(companyIds.size());
List<BranchCompany> branchCompanies = mapper.selectByIdList(companyIds);
if (CollectionUtils.isEmpty(branchCompanies)){
return companyIdAndLeaderMap;
}
return branchCompanies.stream().collect(Collectors.toMap(BranchCompany::getId,branchCompany -> {
BranComanyLeaderVo branComanyLeaderVo = new BranComanyLeaderVo();
BeanUtils.copyProperties(branchCompany,branComanyLeaderVo);
return branComanyLeaderVo;
}));
}
} }
...@@ -2,12 +2,13 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -2,12 +2,13 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public interface BranchCompanyMapper extends Mapper<BranchCompany> { public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdListMapper<BranchCompany,Integer> {
List<BranchCompany> search(@Param("lon") String lon, @Param("lat") String lat, @Param("addrCity") Integer addrCity); List<BranchCompany> search(@Param("lon") String lon, @Param("lat") String lat, @Param("addrCity") Integer addrCity);
List<BranchCompany> selectByZoneId(Map<String, Object> param); List<BranchCompany> selectByZoneId(Map<String, Object> param);
......
...@@ -16,6 +16,7 @@ import com.xxfc.platform.vehicle.pojo.BranchCompanyVo; ...@@ -16,6 +16,7 @@ import com.xxfc.platform.vehicle.pojo.BranchCompanyVo;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.CompanySearchDTO; import com.xxfc.platform.vehicle.pojo.CompanySearchDTO;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -27,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -27,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
@RestController @RestController
@RequestMapping("/branchCompany") @RequestMapping("/branchCompany")
...@@ -169,4 +171,9 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> { ...@@ -169,4 +171,9 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
public List<Integer> findCompanyIdsByAreaId(@RequestParam(value = "areaId") Integer areaId){ public List<Integer> findCompanyIdsByAreaId(@RequestParam(value = "areaId") Integer areaId){
return baseBiz.selectCompanyIdsByAreaId(areaId); return baseBiz.selectCompanyIdsByAreaId(areaId);
} }
@GetMapping("/company")
Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(@RequestParam("companyIds") List<Integer> companyIds){
return baseBiz.findCompanyLeaderMapByIds(companyIds);
}
} }
...@@ -500,7 +500,7 @@ ...@@ -500,7 +500,7 @@
<select id="searchUsableModel" parameterType="java.util.Map" <select id="searchUsableModel" parameterType="java.util.Map"
resultMap="searchUsableModelMap"> resultMap="searchUsableModelMap">
select distinct vm.id as model_id, bc.id as company_id (select distinct vm.id as model_id, bc.id as company_id
<if test=" catas != null "> <if test=" catas != null ">
,GROUP_CONCAT(vc.cata_id) as catas ,GROUP_CONCAT(vc.cata_id) as catas
</if> </if>
...@@ -540,7 +540,30 @@ ...@@ -540,7 +540,30 @@
</foreach> </foreach>
) > 0 ) > 0
</if> </if>
)
<!-- union 所有车型 -->
<if test="startCompanyId != null or parkBranchCompanyId != null ">
union
(select id as model_id,
<choose>
<when test="startCompanyId != null">
#{startCompanyId} as company_id,
</when>
<otherwise>
#{parkBranchCompanyId} as company_id,
</otherwise>
</choose>
<if test=" catas != null ">
null as catas,
</if>
<if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true">
0 as hasVehicle,
</if>
<if test="lon != null and lat != null">
0 as distance
</if>
from vehicle_model where vehicle_model.isdel = 0)
</if>
<if test="lon != null and lat != null"> <if test="lon != null and lat != null">
order by order by
<if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true"> <if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true">
......
package com.xxfc.platform.vehicle;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.junit.Test;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
public class ListTest {
@Test
public void ListTest(){
List<Object> objects = Arrays.asList();
DateTime startDay= DateTime.parse("2019-07-30 00:00:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(startDay);
}
}
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