Commit a9f9c802 authored by zhangzc's avatar zhangzc

修复bug

parent 7016bed3
......@@ -53,5 +53,5 @@ public class AccountConstants {
**/
public static final Integer MESSAGE_TYPE_SYSTEM = 11; // 系统消息
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;
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 org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
......@@ -22,6 +24,8 @@ public class EsvMetaObjectHandler implements MetaObjectHandler {
private static final String CREATE_TIME_NAME = "createTime";
private static final String UPDATE_TIME_NAME = "updateTime";
private static final String TENANT_ID = "tenantId";
private static final String DEPARTMENT_ID = "departmentId";
@Override
public void insertFill(MetaObject metaObject) {
......@@ -31,6 +35,14 @@ public class EsvMetaObjectHandler implements MetaObjectHandler {
if (metaObject.hasSetter(UPDATE_TIME_NAME)) {
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
......
......@@ -23,4 +23,12 @@ public interface DriverVehicleInterface {
*/
@PostMapping(value = "customer/carrier/driver/vehicle/listByDriver")
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 {
vo.setContractSigned(object.getBoolean("contractSigned"));
vo.setDeliveryProvinceCode(object.getString("deliveryProvinceCode"));
vo.setDeliveryCityCode(object.getString("deliveryCityCode"));
vo.setDeliveryDistrictCode(object.getString("deliveryDistrictCode"));
vo.setDeliveryDetailAddress(object.getString("deliveryDetailAddress"));
vo.setReceiveProvinceCode(object.getString("receiveProvinceCode"));
vo.setReceiveCityCode(object.getString("receiveCityCode"));
vo.setReceiveDistrictCode(object.getString("receiveDistrictCode"));
vo.setReceiveDetailAddress(object.getString("receiveDetailAddress"));
vo.setGoodsNameCode(object.getInteger("goodsNameCode"));
vo.setGoodsName(object.getString("goodsName"));
vo.setGoodsUnit(object.getInteger("goodsUnit"));
......
......@@ -40,14 +40,17 @@ public class GrabListItemVO {
* 车辆类型(子)
*/
private Integer vehicleTypeSub;
/**
* 发布订单量
*/
private BigDecimal publishGoodsAmount;
/**
* 需求车辆数
*/
private Integer requiredVehicleCount;
/**
* 当前抢单车辆数
*/
......@@ -57,34 +60,62 @@ public class GrabListItemVO {
* 当前抢单订单量
*/
private BigDecimal currentGoodsAmount;
/**
* 运费单价(支出)
*/
private BigDecimal freightUnitPriceOutput;
/**
* 是否允许议价,0-否,1-是
*/
private Boolean bargainAllowed;
/**
* 是否签署电子合同,0-否,1-是
*/
private Boolean contractSigned;
/**
* 发货地址 省份
*/
private String deliveryProvinceCode;
/**
* 发货地址 城市
*/
private String deliveryCityCode;
/**
* 发货地址 区县
*/
private String deliveryDistrictCode;
/**
* 发货地址 详细地址
*/
private String deliveryDetailAddress;
/**
* 交货地址 省份
*/
private String receiveProvinceCode;
/**
* 交货地址 城市
*/
private String receiveCityCode;
/**
* 交货地址 区县
*/
private String receiveDistrictCode;
/**
* 交货地址 详细地址
*/
private String receiveDetailAddress;
/**
* 货物名称编码
*/
......
......@@ -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.MessageTypeVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -56,6 +57,9 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao,
if(pushMessageForm.getMessageType() == AccountConstants.MESSAGE_TYPE_BILL_CONFIRM) {
jo = get101Message(pushMessageForm);
}
else if(pushMessageForm.getMessageType() == AccountConstants.MESSAGE_TYPE_ACCOUNT_NOTICE) {
jo = get102Message(pushMessageForm);
}
else {
throw new EException(1001, "无效的消息类型");
}
......@@ -117,6 +121,62 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao,
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
public List<MessageTypeVO> getMessageType(MessageForm messageForm) {
// 1.分类查询消息,每个type类型消息只取最后生成的一个消息
......@@ -130,26 +190,14 @@ public class BusinessMessageServiceImpl extends ServiceImpl<BusinessMessageDao,
systemMessage.setCreateTime(null);
messageTypeVOList.add(systemMessage);
List<BusinessMessageEntity> lst102 = lambdaQuery()
.eq(BusinessMessageEntity::getAccountId, messageForm.getAccountId())
.eq(BusinessMessageEntity::getMessageType, AccountConstants.MESSAGE_TYPE_BILL_CONFIRM)
.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;
}
MessageTypeVO msg101 = getLastestMessageType(AccountConstants.MESSAGE_TYPE_BILL_CONFIRM, messageForm.getAccountId());
if(msg101 != null) {
messageTypeVOList.add(msg101);
}
vo102.setIsRead(!hasNoRead);
messageTypeVOList.add(vo102);
MessageTypeVO msg102 = getLastestMessageType(AccountConstants.MESSAGE_TYPE_ACCOUNT_NOTICE, messageForm.getAccountId());
if(msg102 != null) {
messageTypeVOList.add(msg102);
}
return messageTypeVOList;
......
......@@ -2,12 +2,14 @@ package com.esv.freight.app.module.vehicle.controller;
import com.alibaba.fastjson.JSONArray;
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.validator.groups.ValidatorDetail;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import com.esv.freight.app.feign.DriverVehicleInterface;
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.vehicle.form.VehicleForm;
import com.esv.freight.app.module.vehicle.form.VehicleQueryForm;
......@@ -41,10 +43,12 @@ public class VehicleController {
private VehicleInterface vehicleInterface;
private DriverVehicleInterface driverVehicleInterface;
private TokenComponent tokenComponent;
@Autowired
public VehicleController(DriverVehicleInterface driverVehicleInterface, VehicleInterface vehicleInterface) {
public VehicleController(TokenComponent tokenComponent, DriverVehicleInterface driverVehicleInterface, VehicleInterface vehicleInterface) {
this.vehicleInterface = vehicleInterface;
this.tokenComponent = tokenComponent;
this.driverVehicleInterface = driverVehicleInterface;
}
......@@ -281,4 +285,30 @@ public class VehicleController {
}
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