Commit 5e59e940 authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/base-modify' into base-modify

# Conflicts:
#	xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
#	xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
#	xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/jobhandler/RentDepositJobHandler.java
parents 9b9d5b28 90e11caf
......@@ -4,18 +4,23 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.entity.vo.WithDrawRuleVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Created by ace on 2017/9/15.
*/
@FeignClient("xx-app")
public interface ConfigFeign {
/**
* 客服
*/
public static final int TYPE_CUS_SER = 400;
@RequestMapping(value = "/cofig/app/unauth/types",method = RequestMethod.GET)
ObjectRestResponse<Cofig> getAllByType(String types);
ObjectRestResponse<List<Cofig>> getAllByType(@RequestParam("types") String types);
@GetMapping("/cofig/app/unauth/withdraw_rule")
WithDrawRuleVo getWithDrawRule();
......
......@@ -3,17 +3,16 @@ package com.xxfc.platform.app.biz;
import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear;
import com.alibaba.fastjson.JSON;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.EntityUtils;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.entity.vo.WithDrawRuleVo;
import com.xxfc.platform.app.mapper.CofigMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.mapper.CofigMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
......
package com.xxfc.platform.order.entity;
import lombok.Data;
import javax.persistence.Table;
/**
* @author Administrator
*/
@Data
@Table(name = "daily_members_order_statistics")
public class DailyMembersOrderStatistics extends DailyOrderStatistics {
}
package com.xxfc.platform.order.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.Date;
/**
* 每日统计
* @author Administrator
*/
@Data
public class DailyOrderStatistics {
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
/**
* 日期
*/
@Column(name = "one_day")
private String oneDay;
/**
* 成交总金额
*/
@Column(name = "gmv")
private BigDecimal gmv;
/**
* 创建时间
*/
@Column(name = "crt_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date crtTime;
}
package com.xxfc.platform.order.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Table;
import java.math.BigDecimal;
/**
* 旅游统计
* @author Administrator
*/
@Data
@Table(name = "daily_travel_order_statistics")
public class DailyTravelOrderStatistics extends DailyOrderStatistics {
/**
* 取消订单总额
*/
@Column(name = "penal_sum")
private BigDecimal penalSum;
}
......@@ -21,17 +21,7 @@ import java.util.Date;
*/
@Data
@Table(name = "daily_vehicle_order_statistics")
public class DailyVehicleOrderStatistics {
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
/**
* 日期
*/
@Column(name = "one_day")
private String oneDay;
public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
/**
* 成交总金额
......@@ -63,24 +53,12 @@ public class DailyVehicleOrderStatistics {
@Column(name = "forfeit")
private BigDecimal violationMoney;
/**
* 取消订单总额
*/
@Column(name = "penal_sum")
private BigDecimal penalSum;
/**
* 延期总额
*/
@Column(name = "postpone")
private BigDecimal postpone;
/**
* 创建时间
*/
@Column(name = "crt_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date crtTime;
}
......@@ -12,6 +12,11 @@ public class OrderAccompanyDTO {
*/
private Integer id;
/**
* 物品类型
*/
private Integer type;
/**
* 物品名称
*/
......
......@@ -26,6 +26,13 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-app-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
......
......@@ -341,12 +341,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
//处理App用户提醒短信的发送
orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO);
// orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO);
orderMsgBiz.handelMsgPayNew(orvd, otd, omd, baseOrder, appUserDTO);
//处理后台用户提醒短信的发送
orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_PAY);
if (OrderTypeEnum.MEMBER.getCode().equals(baseOrder.getType())) {
// orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
// sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_PAY);
if(OrderTypeEnum.MEMBER.getCode().equals(baseOrder.getType())) {
sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_FINISH);
}
}
......
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.entity.DailyMembersOrderStatistics;
import com.xxfc.platform.order.entity.DailyTravelOrderStatistics;
import com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper;
import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
/**
* 每日购买会员订单统计
* @author Administrator
*/
@Service
public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderStatisticsMapper, DailyMembersOrderStatistics> {
public boolean memberOrderStatistics() {
try {
HashMap<String, Object> resultMap = new HashMap<>();
Map<String,Object> travelGmv = mapper.getTravelGmv();
resultMap.putAll(travelGmv);
DailyMembersOrderStatistics MembersStatistics = new DailyMembersOrderStatistics();
BeanUtils.copyProperties(MembersStatistics,resultMap);
insertSelective(MembersStatistics);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.entity.DailyOrderStatistics;
import com.xxfc.platform.order.mapper.DailyOrderStatisticsMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
/**
* 每日租车订单统计和保存
* @author Administrator
*/
@Slf4j
@Service
public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper, DailyOrderStatistics> {
@Autowired
private DailyVehicleOrderStatisticsBiz vehicleStatisticsBiz;
@Autowired
private DailyTravelOrderStatisticsBiz travelStatisticsBiz;
@Autowired
private DailyMembersOrderStatisticsBiz membersStatisticsBiz;
// @Scheduled(cron = "0 0/1 * * * ?")
public boolean statisticalOrder(){
boolean vehicleFlag = vehicleStatisticsBiz.StatisticsOfCarRentalOrders();
boolean travelFlag = travelStatisticsBiz.StatisticsOfTravelOrders();
boolean membersFlag= membersStatisticsBiz.memberOrderStatistics();
if (vehicleFlag&&travelFlag&&membersFlag){
log.info("----statisticalOrder:成功-----");
return true;
}
log.info("----statisticalOrder:失败-----");
return false;
}
}
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.entity.DailyTravelOrderStatistics;
import com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
/**
* 每日旅游订单统计
* @author Administrator
*/
@Service
public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStatisticsMapper, DailyTravelOrderStatistics> {
public boolean StatisticsOfTravelOrders() {
try {
HashMap<String, Object> resultMap = new HashMap<>();
Map<String,Object> travelGmv = mapper.getTravelGmv();
BigDecimal travelPenalSum = mapper.getTravelPenalSum();
resultMap.putAll(travelGmv);
resultMap.put("penalSum",travelPenalSum);
DailyTravelOrderStatistics TravelStatistics = new DailyTravelOrderStatistics();
BeanUtils.copyProperties(TravelStatistics,resultMap);
insertSelective(TravelStatistics);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
......@@ -5,7 +5,6 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.entity.DailyVehicleOrderStatistics;
import com.xxfc.platform.order.mapper.DailyVehicleOrderStatisticsMapper;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
......@@ -18,7 +17,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
/** 每日租车订单统计
* @author Administrator
*/
@Service
public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderStatisticsMapper, DailyVehicleOrderStatistics> {
......@@ -27,7 +28,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
@Transactional(rollbackFor = Exception.class)
public boolean getTotalOrder() {
public boolean StatisticsOfCarRentalOrders() {
try {
HashMap<String, Object> resultMap = new HashMap<>();
......@@ -49,8 +50,8 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
Map<String, BigDecimal> cpMap = getCompensationAndPostponeMap(compensationAndPostpone);
resultMap.putAll(cpMap);
DailyVehicleOrderStatistics orderStatistics = new DailyVehicleOrderStatistics();
BeanUtils.copyProperties(orderStatistics, resultMap);
super.insertSelective(orderStatistics);
BeanUtils.copyProperties(orderStatistics,resultMap);
insertSelective(orderStatistics);
return true;
} catch (Exception e) {
e.printStackTrace();
......@@ -101,8 +102,4 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
return null;
}
// @Scheduled(cron = "0 0 2 * * ? ")
// private void countDailyOrdersRegularly(){
// DailyOrderStatistics dailyOrderStatistics= mapper.getTotalOrder();
// }
}
......@@ -3,7 +3,9 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.pojo.DedDetailDTO;
......@@ -20,6 +22,7 @@ import com.xxfc.platform.order.mapper.OrderRefundMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import java.util.Map;
import java.util.Set;
......@@ -52,6 +55,12 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
@Autowired
OrderViolationBiz orderViolationBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
@Autowired
UserFeign userFeign;
/**
* 退还部分押金
* @param orderMQDTO
......@@ -76,6 +85,8 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
}
refundDesc += ")";
refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT);
orderMsgBiz.handelMsgDeposit(orderMQDTO.getOrderRentVehicleDetail(), orderMQDTO, userFeign.userDetailById(orderMQDTO.getUserId()).getData());
}
// else {
// //还车扣除款 剩余的 钱,再减去违章预备金
......@@ -141,12 +152,12 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
}
//商品价格 - 优惠券减免的价格
BigDecimal refundGoodsAmount = calculateRefund(originalRefundAmount, timeLag, dicParentKey, refundDescBuilder);
refundGoodsAmount = refundGoodsAmount.setScale(2, RoundingMode.HALF_UP);
//退款金额
// BigDecimal refundAmount = depositAmount.add(refundGoodsAmount);
// originalRefundAmount = depositAmount.add(originalRefundAmount);
BigDecimal refundAmount = refundGoodsAmount;
originalRefundAmount = originalRefundAmount.subtract(depositAmount);
//退款子流程: 订单基础,退款描述,退款金额
refundSubProcess(baseOrder, refundDescBuilder.toString(), originalRefundAmount, refundAmount, RefundTypeEnum.ORDER_FUND.getCode(), RefundStatusEnum.ALL.getCode());
......
......@@ -136,7 +136,8 @@ public class OrderCancelBiz {
try {
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
//处理后台用户提醒短信的发送
orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_CANCEL);
// orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_CANCEL);
orderMsgBiz.handelMsgCancel(orvd, otd, omd, baseOrder, appUserDTO);
}catch (Exception e) {
log.error(e.getMessage(), e);
}
......
......@@ -13,7 +13,7 @@ import org.springframework.context.annotation.Configuration;
* @author xuxueli 2017-04-28
*/
@Slf4j
//@Configuration
@Configuration
public class XxlJobConfig {
@Value("${xxl.job.admin.addresses}")
......
package com.xxfc.platform.order.jobhandler;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.DailyOrderStatisticsBiz;
import com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
......@@ -12,25 +13,32 @@ import org.springframework.stereotype.Component;
/**
* 每天2定时统计前一天的数据
* @author Administrator
*/
@JobHandler(value = "baseOrderStatisticsHandler")
@Component
@Slf4j
public class BaseOrderStatisticsJobHandler extends IJobHandler {
@Autowired
private DailyVehicleOrderStatisticsBiz statisticsBiz;
private DailyOrderStatisticsBiz statisticsBiz;
@Override
public ReturnT<String> execute(String s) throws Exception {
public ReturnT<String> execute(String s){
try {
XxlJobLogger.log("-----定时器进入---baseOrderStatisticsHandler---");
// log.info("-----定时器进入---baseOrderStatisticsHandler---");
statisticsBiz.getTotalOrder();
log.info("-----定时器进入---baseOrderStatisticsHandler---");
boolean flag = statisticsBiz.statisticalOrder();
ReturnT returnT = new ReturnT();
returnT.setCode(100);
returnT.setMsg("成功");
return returnT;
if (flag) {
returnT.setCode(100);
returnT.setMsg("成功");
return returnT;
}else {
returnT.setCode(500);
returnT.setMsg("失败");
return returnT;
}
} catch (Exception e) {
XxlJobLogger.log(e);
return FAIL;
......
package com.xxfc.platform.order.jobhandler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.BaseOrder;
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.pojo.DedDetailDTO;
import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign;
......@@ -43,7 +48,7 @@ public class RentDepositJobHandler extends IJobHandler {
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
OrderVehicleCrosstownBiz crosstownBiz;
OrderVehicalCrosstownBiz crosstownBiz;
@Autowired
OrderViolationBiz orderViolationBiz;
......@@ -51,25 +56,32 @@ public class RentDepositJobHandler extends IJobHandler {
@Autowired
OrderRefundBiz orderRefundBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
@Autowired
ThirdFeign thirdFeign;
@Autowired
UserFeign userFeign;
@Override
public ReturnT<String> execute(String idLastNumInterval) throws Exception {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
Integer rentDepositAutoRefundTime = new Integer(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.RENT_DEPOSIT_AUTO_REFUND_TIME).getDetail());
try {
for(int i = 0; i < 10; i++) {
if(IntervalUtil.staticIsInTheInterval(String.valueOf(i), idLastNumInterval)) {
// for(int i = 0; i < 10; i++) {
// if(IntervalUtil.staticIsInTheInterval(String.valueOf(i), idLastNumInterval)) {
//三十天
List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class)
//订单已完成的租车订单
.where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE)
.andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) //已完成的订单
.andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL) //已归还了部分押金
.andLessThanOrEqualTo(BaseOrder::getRefundTime, System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 60 * 1000))
.andLike(BaseOrder::getId, "%"+ i)).build());
.andLessThanOrEqualTo(BaseOrder::getRefundTime, System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000))
// .andLike(BaseOrder::getId, "%"+ i)
).build());
//处理自动退剩余押金
for(BaseOrder baseOrder : lists) {
......@@ -87,15 +99,15 @@ public class RentDepositJobHandler extends IJobHandler {
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString();
refundDesc += ")";
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());
}
}
}
ReturnT returnT = new ReturnT(){{
setCode(100);
setMsg("成功");
setContent(idLastNumInterval);
}};
// }
// }
ReturnT returnT = new ReturnT();
returnT.setCode(100);
returnT.setMsg("成功");
returnT.setContent(idLastNumInterval);
return returnT;
} catch (Exception e) {
XxlJobLogger.log(e);
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.DailyMembersOrderStatistics;
import tk.mybatis.mapper.common.Mapper;
import java.util.Map;
/**
* 每日会员订单统计mapper
* @author Administrator
*/
public interface DailyMembersOrderStatisticsMapper extends Mapper<DailyMembersOrderStatistics> {
Map<String, Object> getTravelGmv();
}
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.DailyOrderStatistics;
import tk.mybatis.mapper.common.Mapper;
/**
*
* @author Administrator
*/
public interface DailyOrderStatisticsMapper extends Mapper<DailyOrderStatistics> {
}
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.DailyTravelOrderStatistics;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;
import java.math.BigDecimal;
import java.util.Map;
/**
* @author Administrator
*/
public interface DailyTravelOrderStatisticsMapper extends Mapper<DailyTravelOrderStatistics> {
Map<String,Object> getTravelGmv();
BigDecimal getTravelPenalSum();
}
......@@ -25,10 +25,12 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.entity.OrderTemplate;
import com.xxfc.platform.order.pojo.OrderAccompanyDTO;
import com.xxfc.platform.order.pojo.order.OrderItemDTO;
import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.vehicle.constant.AccompanyingItemType;
import com.xxfc.platform.vehicle.entity.AccompanyingItem;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
......@@ -157,19 +159,33 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
//插入随声物品item
Map<String, AccompanyingItemVo> accompanyingItemMap = vehicleFeign.listAccompanyingItem().getData()
.parallelStream().collect(Collectors.toMap(en -> en.getId().toString(), en -> en));
List<OrderAccompanyDTO> oads = new ArrayList<OrderAccompanyDTO>();
List<AccompanyingItemVo> accompanyingItemList = vehicleFeign.listAccompanyingItem().getData();
// Map<String, AccompanyingItemVo> accompanyingItemMap = vehicleFeign.listAccompanyingItem().getData()
// .parallelStream().collect(Collectors.toMap(en -> en.getId().toString(), en -> en));
if(null == bo.getAccompanyItems()) {
bo.setAccompanyItems(new ArrayList<OrderAccompanyDTO>());
}
for(OrderAccompanyDTO oad : bo.getAccompanyItems()) {
AccompanyingItemVo aiv = accompanyingItemMap.get(oad.getId());
oad.setName(aiv.getName());
oad.setUnit(aiv.getUnit());
oad.setUnitPrice(aiv.getPrice());
oad.setNum(aiv.getNumber());
oad.setTotalAmount(oad.getUnitPrice().multiply(new BigDecimal(oad.getNum().toString())));
Map<String, OrderAccompanyDTO> orderAccompanyDTOMap = bo.getAccompanyItems()
.parallelStream().collect(Collectors.toMap(en -> en.getId().toString(), en -> en));
for(AccompanyingItemVo aiv : accompanyingItemList) {
if(AccompanyingItemType.TOOL.getCode().equals(aiv.getType())
|| AccompanyingItemType.EQUIPMENT.getCode().equals(aiv.getType())) {
OrderAccompanyDTO orderAccompanyDTO = BeanUtil.toBean(aiv, OrderAccompanyDTO.class);
orderAccompanyDTO.setUnitPrice(aiv.getPrice());
orderAccompanyDTO.setNum(aiv.getNumber());
oads.add(orderAccompanyDTO);
}else {
OrderAccompanyDTO orderAccompanyDTO = orderAccompanyDTOMap.get(aiv.getId().toString());
if(null != orderAccompanyDTO) {
BeanUtil.copyProperties(aiv, orderAccompanyDTO);
orderAccompanyDTO.setUnitPrice(aiv.getPrice());
oads.add(orderAccompanyDTO);
}
}
}
bo.setAccompanyItems(oads);
//获取可用车辆
acquireVehicle(bo);
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper">
<!-- 获取每日租车订单成交金和押金总额-->
<select id="getTravelGmv" resultType="HashMap">
select
COALESCE(date_format(FROM_UNIXTIME(pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(real_amount),0) as gmv
from
base_order
where
type=3
AND
date(FROM_UNIXTIME(pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.DailyTravelOrderStatisticsMapper">
<!-- 获取每日租车订单成交金和押金总额-->
<select id="getTravelGmv" resultType="HashMap">
select
COALESCE(date_format(FROM_UNIXTIME(pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(real_amount),0) as gmv
from
base_order
where
type=2
AND
date(FROM_UNIXTIME(pay_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
<!-- 取消订单扣除款项总和-->
<select id="getTravelPenalSum" resultType="BigDecimal">
SELECT
IFNULL(SUM(r.deduct_amount),0) as penalSum
FROM
base_order o
left join
order_refund r
on
o.id=r.order_id
WHERE
o.type=2
and
r.refund_status=1
and
r.refund_type =1
and
date(FROM_UNIXTIME(r.refund_time/1000))=date(DATE_SUB(now(),interval 1 day))
</select>
</mapper>
\ No newline at end of file
......@@ -7,7 +7,7 @@
select
COALESCE(date_format(FROM_UNIXTIME(b.pay_time/1000),'%Y-%c-%d'),date(DATE_SUB(now(),interval 1 day))) as oneDay,
IFNULL(SUM(b.real_amount-v.deposit),0) as gmv,
IFNULL(SUM(v.deposit),0) as marginTotal
IFNULL(SUM(v.deposit),0) as securityDeposit
from
base_order b
left join
......
......@@ -59,9 +59,9 @@ public class SmsTemplateDTO {
public static final int CANCEL_E = 21;
//租车押金退还
public static final int FINISH_A = 22;
public static final int REFUND_A = 22;
//违章押金退还
public static final int FINISH_B = 23;
public static final int REFUND_B = 23;
......
......@@ -29,7 +29,7 @@ import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("certif")
@Slf4j
public class CertificationController {
public class CertificationController {
......@@ -62,12 +62,10 @@ public class CertificationController {
ObjectRestResponse.createDefaultFail();
}
String token = request.getHeader("Authorization");
log.info("------token======"+token);
if (StringUtils.isEmpty(token)) {
ObjectRestResponse.createFailedResult(ResultCode.RSTOKEN_NULL_CODE,"token为空");
ObjectRestResponse.createFailedResult(ResultCode.RSTOKEN_NULL_CODE,"无法识别,请重新上传");
}
......@@ -77,7 +75,7 @@ public class CertificationController {
if (appUserDTOObjectRestResponse==null||appUserDTOObjectRestResponse.getData()==null||appUserDTOObjectRestResponse.getData().getId()==0) {
return ObjectRestResponse.createFailedResult(ResultCode.GET_APPUSER_FAILED_CODE,"获取用户失败");
return ObjectRestResponse.createFailedResult(ResultCode.GET_APPUSER_FAILED_CODE,"无法识别,请重新上传");
}
AppUserDTO appUserDTO = appUserDTOObjectRestResponse.getData();
......@@ -87,15 +85,17 @@ public class CertificationController {
//获取用户认证信息
ObjectRestResponse orr = userFeign.authentication(idInformation.getUserLonginId(), null,null, 0);
ObjectRestResponse orr = null;
try {
orr = userFeign.authentication(idInformation.getUserLonginId(), null,null, 0);
} catch (Exception e) {
e.printStackTrace();
}
if (orr==null) {
return ObjectRestResponse.createFailedResult(ResultCode.GET_AUTH_INFO_FAILED_CODE,"获取用户认证信息失败");
return ObjectRestResponse.createFailedResult(ResultCode.GET_AUTH_INFO_FAILED_CODE,"无法识别,请重新上传");
}
if (!orr.getRel()){
return orr;
}
Integer type = idInformation.getCertificateType();
log.info("----type========="+type);
......@@ -117,7 +117,7 @@ public class CertificationController {
e.printStackTrace();
}
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"错误");
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"无法识别,请重新上传");
}
......
......@@ -148,10 +148,10 @@ public class CertificationService {
HashedMap hashMap = new HashedMap();
// 认证状态:true是认证过
//判断是否map是否为null
//判断是否bean是否为null
if (idInformation == null) {
return ObjectRestResponse.createFailedResult(ResultCode.INCOMPLETE_DATA, "请提供资料");
return ObjectRestResponse.createFailedResult(ResultCode.INCOMPLETE_DATA, "无法识别,请重新上传");
}
......
......@@ -180,8 +180,10 @@ public class VehicleBookRecord {
*/
private String orderNo;
@Column(name = "vehicle_username")
private String vehicleUsername;
@Column(name = "vehicle_user_phone")
private String vehicleUserPhone;
@Column(name = "upkeep_ids")
......
......@@ -40,6 +40,9 @@ public class VehicleJobHandler extends IJobHandler {
int nowMonth = date.getMonthValue();
int month = nowMonth + VehicleBookInfoBiz.MONTH_INTERVAL > 12 ? (VehicleBookInfoBiz.MONTH_INTERVAL + nowMonth) - 12 : nowMonth + VehicleBookInfoBiz.MONTH_INTERVAL;
year = month > nowMonth ? year : year + 1;
if ("8".equals(s) || "9".equals(s)){
month = Integer.valueOf(s);
}
String yearAndMonth = String.format("%d-%d", year, month);
XxlJobLogger.log("----查询到的车型ids:【{}】",existVehicleIds);
if (CollectionUtils.isNotEmpty(existVehicleIds)) {
......
......@@ -27,6 +27,7 @@ import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.jobhandler.VehicleJobHandler;
import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import io.swagger.annotations.Api;
......@@ -74,6 +75,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
@Autowired
private VehicleWarningMsgBiz vehicleWarningMsgBiz;
@Autowired
private VehicleJobHandler vehicleJobHandler;
private static Integer MAX_DRIVING_LICENSE_SIZE = 10 * 1024 * 1024;//10M
......@@ -547,4 +551,11 @@ public class VehicleController extends BaseController<VehicleBiz> {
return baseBiz.delVehicleById(id);
}
@GetMapping("/app/unauth/data/{month}")
@IgnoreClientToken
@IgnoreUserToken
public RestResponse dataCo(@PathVariable(value = "month") String month) throws Exception {
vehicleJobHandler.execute(month);
return RestResponse.suc();
}
}
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