Commit a9f9c802 authored by zhangzc's avatar zhangzc

修复bug

parent 7016bed3
...@@ -53,5 +53,5 @@ public class AccountConstants { ...@@ -53,5 +53,5 @@ public class AccountConstants {
**/ **/
public static final Integer MESSAGE_TYPE_SYSTEM = 11; // 系统消息 public static final Integer MESSAGE_TYPE_SYSTEM = 11; // 系统消息
public static final Integer MESSAGE_TYPE_BILL_CONFIRM = 101; // 账单生成后用户确认消息 public static final Integer MESSAGE_TYPE_BILL_CONFIRM = 101; // 账单生成后用户确认消息
public static final Integer MESSAGE_TYPE_WAYBILL_GRAB = 102; // 司机抢单结果提醒消息 public static final Integer MESSAGE_TYPE_ACCOUNT_NOTICE = 102; // 账号提醒消息
} }
package com.esv.freight.app.config.mybatis; package com.esv.freight.app.config.mybatis;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.esv.freight.app.common.util.ReqUtils;
import com.esv.gateway.common.GatewayHeaders;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -22,6 +24,8 @@ public class EsvMetaObjectHandler implements MetaObjectHandler { ...@@ -22,6 +24,8 @@ public class EsvMetaObjectHandler implements MetaObjectHandler {
private static final String CREATE_TIME_NAME = "createTime"; private static final String CREATE_TIME_NAME = "createTime";
private static final String UPDATE_TIME_NAME = "updateTime"; private static final String UPDATE_TIME_NAME = "updateTime";
private static final String TENANT_ID = "tenantId";
private static final String DEPARTMENT_ID = "departmentId";
@Override @Override
public void insertFill(MetaObject metaObject) { public void insertFill(MetaObject metaObject) {
...@@ -31,6 +35,14 @@ public class EsvMetaObjectHandler implements MetaObjectHandler { ...@@ -31,6 +35,14 @@ public class EsvMetaObjectHandler implements MetaObjectHandler {
if (metaObject.hasSetter(UPDATE_TIME_NAME)) { if (metaObject.hasSetter(UPDATE_TIME_NAME)) {
this.setFieldValByName(UPDATE_TIME_NAME, new Date(), metaObject); this.setFieldValByName(UPDATE_TIME_NAME, new Date(), metaObject);
} }
if (metaObject.hasSetter(TENANT_ID) && metaObject.getValue(TENANT_ID) == null) {
String tenantId = ReqUtils.getRequestHeader(GatewayHeaders.TENANT_ID);
this.setFieldValByName(TENANT_ID, Long.parseLong(tenantId), metaObject);
}
if (metaObject.hasSetter(DEPARTMENT_ID) && metaObject.getValue(DEPARTMENT_ID) == null) {
String departmentId = ReqUtils.getRequestHeader(GatewayHeaders.DEPARTMENT_ID);
this.setFieldValByName(DEPARTMENT_ID, Long.parseLong(departmentId), metaObject);
}
} }
@Override @Override
......
...@@ -23,4 +23,12 @@ public interface DriverVehicleInterface { ...@@ -23,4 +23,12 @@ public interface DriverVehicleInterface {
*/ */
@PostMapping(value = "customer/carrier/driver/vehicle/listByDriver") @PostMapping(value = "customer/carrier/driver/vehicle/listByDriver")
JSONObject listByDriver(JSONObject bodyJson); JSONObject listByDriver(JSONObject bodyJson);
/**
* 设置默认车辆
* @param bodyJson
* @return
*/
@PostMapping(value = "customer/carrier/driver/vehicle/setDefault")
JSONObject setDefault(JSONObject bodyJson);
} }
...@@ -143,8 +143,12 @@ public class GrabController { ...@@ -143,8 +143,12 @@ public class GrabController {
vo.setContractSigned(object.getBoolean("contractSigned")); vo.setContractSigned(object.getBoolean("contractSigned"));
vo.setDeliveryProvinceCode(object.getString("deliveryProvinceCode")); vo.setDeliveryProvinceCode(object.getString("deliveryProvinceCode"));
vo.setDeliveryCityCode(object.getString("deliveryCityCode")); vo.setDeliveryCityCode(object.getString("deliveryCityCode"));
vo.setDeliveryDistrictCode(object.getString("deliveryDistrictCode"));
vo.setDeliveryDetailAddress(object.getString("deliveryDetailAddress"));
vo.setReceiveProvinceCode(object.getString("receiveProvinceCode")); vo.setReceiveProvinceCode(object.getString("receiveProvinceCode"));
vo.setReceiveCityCode(object.getString("receiveCityCode")); vo.setReceiveCityCode(object.getString("receiveCityCode"));
vo.setReceiveDistrictCode(object.getString("receiveDistrictCode"));
vo.setReceiveDetailAddress(object.getString("receiveDetailAddress"));
vo.setGoodsNameCode(object.getInteger("goodsNameCode")); vo.setGoodsNameCode(object.getInteger("goodsNameCode"));
vo.setGoodsName(object.getString("goodsName")); vo.setGoodsName(object.getString("goodsName"));
vo.setGoodsUnit(object.getInteger("goodsUnit")); vo.setGoodsUnit(object.getInteger("goodsUnit"));
......
...@@ -40,14 +40,17 @@ public class GrabListItemVO { ...@@ -40,14 +40,17 @@ public class GrabListItemVO {
* 车辆类型(子) * 车辆类型(子)
*/ */
private Integer vehicleTypeSub; private Integer vehicleTypeSub;
/** /**
* 发布订单量 * 发布订单量
*/ */
private BigDecimal publishGoodsAmount; private BigDecimal publishGoodsAmount;
/** /**
* 需求车辆数 * 需求车辆数
*/ */
private Integer requiredVehicleCount; private Integer requiredVehicleCount;
/** /**
* 当前抢单车辆数 * 当前抢单车辆数
*/ */
...@@ -57,34 +60,62 @@ public class GrabListItemVO { ...@@ -57,34 +60,62 @@ public class GrabListItemVO {
* 当前抢单订单量 * 当前抢单订单量
*/ */
private BigDecimal currentGoodsAmount; private BigDecimal currentGoodsAmount;
/** /**
* 运费单价(支出) * 运费单价(支出)
*/ */
private BigDecimal freightUnitPriceOutput; private BigDecimal freightUnitPriceOutput;
/** /**
* 是否允许议价,0-否,1-是 * 是否允许议价,0-否,1-是
*/ */
private Boolean bargainAllowed; private Boolean bargainAllowed;
/** /**
* 是否签署电子合同,0-否,1-是 * 是否签署电子合同,0-否,1-是
*/ */
private Boolean contractSigned; private Boolean contractSigned;
/** /**
* 发货地址 省份 * 发货地址 省份
*/ */
private String deliveryProvinceCode; private String deliveryProvinceCode;
/** /**
* 发货地址 城市 * 发货地址 城市
*/ */
private String deliveryCityCode; private String deliveryCityCode;
/**
* 发货地址 区县
*/
private String deliveryDistrictCode;
/**
* 发货地址 详细地址
*/
private String deliveryDetailAddress;
/** /**
* 交货地址 省份 * 交货地址 省份
*/ */
private String receiveProvinceCode; private String receiveProvinceCode;
/** /**
* 交货地址 城市 * 交货地址 城市
*/ */
private String receiveCityCode; private String receiveCityCode;
/**
* 交货地址 区县
*/
private String receiveDistrictCode;
/**
* 交货地址 详细地址
*/
private String receiveDetailAddress;
/** /**
* 货物名称编码 * 货物名称编码
*/ */
......
...@@ -21,6 +21,7 @@ import com.esv.freight.app.module.message.vo.MessageDetailVO; ...@@ -21,6 +21,7 @@ import com.esv.freight.app.module.message.vo.MessageDetailVO;
import com.esv.freight.app.module.message.vo.MessageListItemVO; import com.esv.freight.app.module.message.vo.MessageListItemVO;
import com.esv.freight.app.module.message.vo.MessageTypeVO; import com.esv.freight.app.module.message.vo.MessageTypeVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
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.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -56,6 +57,9 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao, ...@@ -56,6 +57,9 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao,
if(pushMessageForm.getMessageType() == AccountConstants.MESSAGE_TYPE_BILL_CONFIRM) { if(pushMessageForm.getMessageType() == AccountConstants.MESSAGE_TYPE_BILL_CONFIRM) {
jo = get101Message(pushMessageForm); jo = get101Message(pushMessageForm);
} }
else if(pushMessageForm.getMessageType() == AccountConstants.MESSAGE_TYPE_ACCOUNT_NOTICE) {
jo = get102Message(pushMessageForm);
}
else { else {
throw new EException(1001, "无效的消息类型"); throw new EException(1001, "无效的消息类型");
} }
...@@ -117,6 +121,62 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao, ...@@ -117,6 +121,62 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao,
return reqMessage; return reqMessage;
} }
private JSONObject get102Message(PushMessageForm pushMessageForm) {
JSONObject jo = JSONObject.parseObject(pushMessageForm.getMessageData());
Integer resultCode = jo.getInteger("resultCode");
JSONObject reqMessage = new JSONObject();
reqMessage.put("title", "账号提醒");
if(resultCode == 1) {
if(pushMessageForm.getAppType() == AccountConstants.ACCOUNT_TYPE_DRIVER) {
reqMessage.put("msg_content", "您的账号已审核通过了,赶快去添加车辆吧");
}
else if(pushMessageForm.getAppType() == AccountConstants.ACCOUNT_TYPE_GOODS_OWNER) {
reqMessage.put("msg_content", "您的账号已审核通过了,赶快去发布货源吧");
}
}
else {
String resultMessage = jo.getString("resultMessage");
String content = "您的账号已审核失败了";
if(!StringUtils.isEmpty(resultMessage)) {
content = content + "," + resultMessage;
}
reqMessage.put("msg_content", content);
}
JSONObject extras = new JSONObject();
extras.put("messageType", AccountConstants.MESSAGE_TYPE_ACCOUNT_NOTICE);
extras.put("data", jo);
reqMessage.put("extras", extras);
return reqMessage;
}
private MessageTypeVO getLastestMessageType(Integer messageType, Long accountId) {
List<BusinessMessageEntity> lstMessage = lambdaQuery()
.eq(BusinessMessageEntity::getAccountId, accountId)
.eq(BusinessMessageEntity::getMessageType, messageType)
.orderByDesc(BusinessMessageEntity::getCreateTime).list();
if(lstMessage != null && lstMessage.size() > 0) {
BusinessMessageEntity businessMessageEntity = lstMessage.get(0);
MessageTypeVO vo = new MessageTypeVO();
BeanUtils.copyProperties(businessMessageEntity, vo);
boolean hasNoRead = false;
for(BusinessMessageEntity entity : lstMessage) {
if(entity.getIsRead() == false) {
hasNoRead = true;
break;
}
}
vo.setIsRead(!hasNoRead);
return vo;
}
return null;
}
@Override @Override
public List<MessageTypeVO> getMessageType(MessageForm messageForm) { public List<MessageTypeVO> getMessageType(MessageForm messageForm) {
// 1.分类查询消息,每个type类型消息只取最后生成的一个消息 // 1.分类查询消息,每个type类型消息只取最后生成的一个消息
...@@ -130,26 +190,14 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao, ...@@ -130,26 +190,14 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao,
systemMessage.setCreateTime(null); systemMessage.setCreateTime(null);
messageTypeVOList.add(systemMessage); messageTypeVOList.add(systemMessage);
List<BusinessMessageEntity> lst102 = lambdaQuery() MessageTypeVO msg101 = getLastestMessageType(AccountConstants.MESSAGE_TYPE_BILL_CONFIRM, messageForm.getAccountId());
.eq(BusinessMessageEntity::getAccountId, messageForm.getAccountId()) if(msg101 != null) {
.eq(BusinessMessageEntity::getMessageType, AccountConstants.MESSAGE_TYPE_BILL_CONFIRM) messageTypeVOList.add(msg101);
.orderByDesc(BusinessMessageEntity::getCreateTime).list(); }
if(lst102 != null && lst102.size() > 0) {
BusinessMessageEntity entity102 = lst102.get(0);
MessageTypeVO vo102 = new MessageTypeVO();
BeanUtils.copyProperties(entity102, vo102);
boolean hasNoRead = false;
for(BusinessMessageEntity entity : lst102) {
if(entity.getIsRead() == false) {
hasNoRead = true;
break;
}
}
vo102.setIsRead(!hasNoRead); MessageTypeVO msg102 = getLastestMessageType(AccountConstants.MESSAGE_TYPE_ACCOUNT_NOTICE, messageForm.getAccountId());
messageTypeVOList.add(vo102); if(msg102 != null) {
messageTypeVOList.add(msg102);
} }
return messageTypeVOList; return messageTypeVOList;
......
...@@ -2,12 +2,14 @@ package com.esv.freight.app.module.vehicle.controller; ...@@ -2,12 +2,14 @@ package com.esv.freight.app.module.vehicle.controller;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.esv.freight.app.common.component.TokenComponent;
import com.esv.freight.app.common.response.EResponse; import com.esv.freight.app.common.response.EResponse;
import com.esv.freight.app.common.validator.groups.ValidatorDetail; import com.esv.freight.app.common.validator.groups.ValidatorDetail;
import com.esv.freight.app.common.validator.groups.ValidatorInsert; import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate; import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import com.esv.freight.app.feign.DriverVehicleInterface; import com.esv.freight.app.feign.DriverVehicleInterface;
import com.esv.freight.app.feign.VehicleInterface; import com.esv.freight.app.feign.VehicleInterface;
import com.esv.freight.app.module.account.pojo.TokenInfoPojo;
import com.esv.freight.app.module.account.service.AppLoginService; import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.vehicle.form.VehicleForm; import com.esv.freight.app.module.vehicle.form.VehicleForm;
import com.esv.freight.app.module.vehicle.form.VehicleQueryForm; import com.esv.freight.app.module.vehicle.form.VehicleQueryForm;
...@@ -41,10 +43,12 @@ public class VehicleController { ...@@ -41,10 +43,12 @@ public class VehicleController {
private VehicleInterface vehicleInterface; private VehicleInterface vehicleInterface;
private DriverVehicleInterface driverVehicleInterface; private DriverVehicleInterface driverVehicleInterface;
private TokenComponent tokenComponent;
@Autowired @Autowired
public VehicleController(DriverVehicleInterface driverVehicleInterface, VehicleInterface vehicleInterface) { public VehicleController(TokenComponent tokenComponent, DriverVehicleInterface driverVehicleInterface, VehicleInterface vehicleInterface) {
this.vehicleInterface = vehicleInterface; this.vehicleInterface = vehicleInterface;
this.tokenComponent = tokenComponent;
this.driverVehicleInterface = driverVehicleInterface; this.driverVehicleInterface = driverVehicleInterface;
} }
...@@ -281,4 +285,30 @@ public class VehicleController { ...@@ -281,4 +285,30 @@ public class VehicleController {
} }
return EResponse.ok(vehicleVOList); return EResponse.ok(vehicleVOList);
} }
/**
* description 设置默认车辆
* param vehicleQueryForm
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/06/18 17:06
**/
@PostMapping("/setDefaultVehicle")
public EResponse setDefaultVehicle(@RequestBody(required=false) @Validated(ValidatorDetail.class) VehicleQueryForm vehicleQueryForm) {
TokenInfoPojo tokenInfoPojo = tokenComponent.getTokenInfo();
// 调用设置默认车辆接口
JSONObject reqJson = new JSONObject();
reqJson.put("vehicleId", vehicleQueryForm.getId());
reqJson.put("driverId", tokenInfoPojo.getAccountId());
log.info(reqJson.toJSONString());
JSONObject result = driverVehicleInterface.setDefault(reqJson);
log.info(result.toJSONString());
if (result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok();
}
} }
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