Commit 20725cd4 authored by huangcb's avatar huangcb

Merge remote-tracking branch 'origin/master'

parents 47c747e0 de9b3ea2
package com.esv.freight.app.feign;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @description:
* @project: Freight
* @name: com.esv.freight.app.feign.DeliveryAddressInterface
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 16:00
* @version:1.0
*/
@FeignClient(value = "freight-customer-service")
public interface DeliveryAddressInterface {
/**
* 获取发货地址列表
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/delivery/address/all")
JSONObject all(JSONObject bodyJson);
/**
* 删除发货地址
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/delivery/address/delete")
JSONObject delete(JSONObject bodyJson);
/**
* 编辑发货地址
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/delivery/address/edit")
JSONObject edit(JSONObject bodyJson);
/**
* 添加发货地址
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/delivery/address/add")
JSONObject add(JSONObject bodyJson);
/**
* 发货地址详情
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/delivery/address/detail")
JSONObject detail(JSONObject bodyJson);
}
......@@ -16,6 +16,11 @@ import org.springframework.web.bind.annotation.PostMapping;
@FeignClient(value = "freight-base-service")
public interface DictInterface {
/**
* 获取基础字典表
* @param bodyJson
* @return
*/
@PostMapping(value = "/base/dict/get")
JSONObject getDictByTypes(JSONObject bodyJson);
}
......
......@@ -16,15 +16,35 @@ import org.springframework.web.bind.annotation.PostMapping;
@FeignClient(value = "freight-customer-service")
public interface GoodsOwnerInterface {
/**
* 校验货主账号密码
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/account/password/check")
JSONObject checkAccountPwd(JSONObject bodyJson);
/**
* 注册货主账号
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/account/register")
JSONObject accountRegister(JSONObject bodyJson);
/**
* 获取货主账号详情
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/account/detail")
JSONObject getAccountDetail(JSONObject bodyJson);
/**
* 更改货主账号信息
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/account/edit")
JSONObject updateAccountInfo(JSONObject bodyJson);
}
......@@ -16,6 +16,11 @@ import org.springframework.web.bind.annotation.PostMapping;
@FeignClient(value = "freight-notice-service")
public interface NoticeInterface {
/**
* 校验短信验证码
* @param bodyJson
* @return
*/
@PostMapping(value = "/notice/sms/captcha/check")
JSONObject checkSmsCaptcha(JSONObject bodyJson);
}
......
package com.esv.freight.app.feign;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @description:
* @project: Freight
* @name: com.esv.freight.app.feign.ReceiveAddressInterface
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 16:00
* @version:1.0
*/
@FeignClient(value = "freight-customer-service")
public interface ReceiveAddressInterface {
/**
* 获取收货地址列表
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/receive/address/all")
JSONObject all(JSONObject bodyJson);
/**
* 删除收货地址
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/receive/address/delete")
JSONObject delete(JSONObject bodyJson);
/**
* 编辑收货地址
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/receive/address/edit")
JSONObject edit(JSONObject bodyJson);
/**
* 添加收货地址
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/receive/address/add")
JSONObject add(JSONObject bodyJson);
/**
* 收货地址详情
* @param bodyJson
* @return
*/
@PostMapping(value = "/customer/goodsowner/receive/address/detail")
JSONObject detail(JSONObject bodyJson);
}
......@@ -16,9 +16,43 @@ import org.springframework.web.bind.annotation.PostMapping;
@FeignClient(value = "freight-tms-service")
public interface TmsInterface {
@PostMapping(value = "tms/order/add")
JSONObject addOrder(JSONObject bodyJson);
/**
* 发布订单
* @param bodyJson
* @return
*/
@PostMapping(value = "tms/order/add/owner")
JSONObject addOrderOwner(JSONObject bodyJson);
/**
* 获取订单列表
* @param bodyJson
* @return
*/
@PostMapping(value = "tms/order/list")
JSONObject listOrders(JSONObject bodyJson);
/**
* 取消订单
* @param bodyJson
* @return
*/
@PostMapping(value = "tms/order/cancel")
JSONObject cancelOrder(JSONObject bodyJson);
/**
* 编辑订单
* @param bodyJson
* @return
*/
@PostMapping(value = "tms/order/edit")
JSONObject editOrder(JSONObject bodyJson);
/**
* 查询订单详情
* @param bodyJson
* @return
*/
@PostMapping(value = "tms/order/detail")
JSONObject getOrderDetail(JSONObject bodyJson);
}
......@@ -9,6 +9,9 @@ import com.esv.freight.app.feign.NoticeInterface;
import com.esv.freight.app.module.account.form.LoginForm;
import com.esv.freight.app.module.account.form.RefreshTokenForm;
import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.account.validator.groups.ValidatorLoginByPwd;
import com.esv.freight.app.module.account.validator.groups.ValidatorLoginBySms;
import com.esv.freight.app.module.account.vo.DriverAccountDetailVO;
import com.esv.freight.app.module.account.vo.LoginVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -49,11 +52,7 @@ public class DriverAccountController {
* createTime 2020/04/14 14:00
**/
@PostMapping("/login/loginBySms")
public EResponse loginBySms(@RequestBody(required=false) @Validated(ValidatorInsert.class) LoginForm loginForm) {
if(loginForm == null) {
return EResponse.error(ECode.PARAM_ERROR);
}
public EResponse loginBySms(@RequestBody(required=false) @Validated(ValidatorLoginBySms.class) LoginForm loginForm) {
// 调用通知服务验证短信接口
JSONObject reqJson = new JSONObject();
......@@ -61,15 +60,17 @@ public class DriverAccountController {
reqJson.put("type", "login");
reqJson.put("captcha", loginForm.getSmsCode());
log.info(reqJson.toJSONString());
JSONObject result = noticeInterface.checkSmsCaptcha(reqJson);
log.info(result.toJSONString());
JSONObject resultCheck = noticeInterface.checkSmsCaptcha(reqJson);
log.info(resultCheck.toJSONString());
if(result.getInteger("code") == 200) {
LoginVO loginByPwdVO = appLoginService.login(loginForm.getPhone());
return EResponse.ok(loginByPwdVO);
if(resultCheck.getInteger("code") != 200) {
return EResponse.error(resultCheck.getInteger("code"), resultCheck.getString("message"));
}
return EResponse.error(result.getInteger("code"), result.getString("message"));
// todo 调用注册帐号接口,等待司机管理服务接口
LoginVO loginByPwdVO = appLoginService.login(loginForm.getPhone());
return EResponse.ok(loginByPwdVO);
}
/**
......@@ -80,21 +81,9 @@ public class DriverAccountController {
* createTime 2020/04/14 14:00
**/
@PostMapping("/login/loginByPwd")
public EResponse loginByPwd(@RequestBody(required=false) @Validated(ValidatorInsert.class) LoginForm loginForm) {
if(loginForm == null) {
return EResponse.error(ECode.PARAM_ERROR);
}
/*
if(!appLoginService.isExistAccount(loginByPwdForm.getPhone())) {
return EResponse.error(1001, "账号不存在");
}
public EResponse loginByPwd(@RequestBody(required=false) @Validated(ValidatorLoginByPwd.class) LoginForm loginForm) {
// TODO,Feign调用货主账号密码,目前暂时先假定密码为1234qwer(MD5加密)
if(!"62c8ad0a15d9d1ca38d5dee762a16e01".equals(loginByPwdForm.getPwd())) {
return EResponse.error(1003, "密码错误");
}*/
// todo 调用帐号密码校验接口,等待司机管理服务接口
LoginVO loginByPwdVO = appLoginService.login(loginForm.getPhone());
return EResponse.ok(loginByPwdVO);
......@@ -137,7 +126,19 @@ public class DriverAccountController {
@PostMapping("/detail")
public EResponse detail(@RequestHeader("Union-Authorization") String accessToken) {
// AccountDetailVO accountDetailVO = appLoginService.getAccountDetailInfo(accessToken);
return EResponse.ok();
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
DriverAccountDetailVO detailVO = new DriverAccountDetailVO();
detailVO.setId("12345678");
detailVO.setAccount("15040196726");
detailVO.setAuditStatus(1);
detailVO.setOwnerFullName("测试666");
detailVO.setIdCard("210112198707070023");
detailVO.setIdCardExpireDate("2030-02-05");
detailVO.setIdCardFileFrontURL("1123");
detailVO.setIdCardFileBackURL("4456");
return EResponse.ok(detailVO);
}
}
......@@ -45,28 +45,6 @@ public class DriverPasswordController {
**/
@PostMapping("/reset")
public EResponse reset(@RequestBody(required=false) @Validated(ValidatorInsert.class) LoginForm loginForm) {
/*
if(resetPasswordForm == null) {
return EResponse.error(ECode.PARAM_ERROR);
}
if(!appLoginService.isExistAccount(resetPasswordForm.getPhone())) {
return EResponse.error(1002, "手机号未注册");
}
// 调用通知服务验证短信接口
JSONObject reqJson = new JSONObject();
reqJson.put("phone", resetPasswordForm.getPhone());
reqJson.put("type", "reset_pwd");
reqJson.put("captcha", resetPasswordForm.getSmsCode());
log.info(reqJson.toJSONString());
JSONObject result = noticeInterface.checkSmsCaptcha(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") == 200) {
LoginVO loginByPwdVO = appLoginService.loginBySms(resetPasswordForm.getPhone());
return EResponse.ok(loginByPwdVO);
}*/
return EResponse.error(1001, "短信验证码错误或已失效");
}
......@@ -81,14 +59,6 @@ public class DriverPasswordController {
@PostMapping("/edit")
public EResponse edit(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorInsert.class) ModifyPasswordForm modifyPasswordFrom) {
if(modifyPasswordFrom == null) {
return EResponse.error(ECode.PARAM_ERROR);
}
if("1234qwer".equals(modifyPasswordFrom.getOldPwd())) {
return EResponse.error(1001, "原密码错误");
}
return EResponse.ok();
}
}
......@@ -8,7 +8,7 @@ import com.esv.freight.app.module.account.form.*;
import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.account.validator.groups.ValidatorLoginByPwd;
import com.esv.freight.app.module.account.validator.groups.ValidatorLoginBySms;
import com.esv.freight.app.module.account.vo.AccountDetailVO;
import com.esv.freight.app.module.account.vo.OwnerAccountDetailVO;
import com.esv.freight.app.common.response.ECode;
import com.esv.freight.app.common.response.EResponse;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
......@@ -165,7 +165,7 @@ public class OwnerAccountController {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
AccountDetailVO accountDetailVO = new AccountDetailVO();
OwnerAccountDetailVO accountDetailVO = new OwnerAccountDetailVO();
accountDetailVO.setId(String.valueOf(result.getJSONObject("data").getLong("id")));
accountDetailVO.setAccount(result.getJSONObject("data").getString("account"));
accountDetailVO.setSourceType(result.getJSONObject("data").getString("sourceType"));
......
......@@ -3,7 +3,6 @@ package com.esv.freight.app.module.account.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.esv.freight.app.module.account.entity.AppLoginEntity;
import com.esv.freight.app.module.account.form.RefreshTokenForm;
import com.esv.freight.app.module.account.vo.AccountDetailVO;
import com.esv.freight.app.module.account.vo.LoginVO;
/**
......
......@@ -7,12 +7,9 @@ import com.esv.freight.app.module.account.dao.AppLoginDao;
import com.esv.freight.app.module.account.entity.AppLoginEntity;
import com.esv.freight.app.module.account.form.RefreshTokenForm;
import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.account.vo.AccountDetailVO;
import com.esv.freight.app.module.account.vo.LoginVO;
import org.springframework.stereotype.Service;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.UUID;
......
package com.esv.freight.app.module.account.vo;
import lombok.Data;
/**
* @description: 司机账号详情VO
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.account.login.vo.DriverAccountDetailVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/13 17:00
* @version:1.0
*/
@Data
public class DriverAccountDetailVO {
// 账号ID
private String id;
// 登录帐号,司机手机号
private String account;
// 货主帐号审核状态:0-待审核、1-审核成功,2-审核失败,APP自行注册需要平台审核
private Integer auditStatus;
// 姓名
private String ownerFullName;
// 身份证号码
private String idCard;
// 身份证有效期 格式yyyy.MM.dd,或长期
private String idCardExpireDate;
// 身份证正面图片URL
private String idCardFileFrontURL;
// 身份证反面图片URL
private String idCardFileBackURL;
}
......@@ -3,16 +3,16 @@ package com.esv.freight.app.module.account.vo;
import lombok.Data;
/**
* @description: 账号详情VO
* @description: 货主账号详情VO
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.account.login.vo.AccountDetailVO
* @name: com.esv.freight.module.ownerBackend.account.login.vo.OwnerAccountDetailVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/13 17:00
* @version:1.0
*/
@Data
public class AccountDetailVO {
public class OwnerAccountDetailVO {
// 账号ID
private String id;
......
package com.esv.freight.app.module.address.vo;
package com.esv.freight.app.module.address.form;
import com.esv.freight.app.common.validator.groups.ValidatorDelete;
import com.esv.freight.app.common.validator.groups.ValidatorList;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Range;
import java.util.List;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @description: 收货地址VO
* @description:
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.account.address.vo.ReceiveAddressListVO
* @name: com.esv.freight.app.module.address.form.AddressQueryForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 10:00
* @createTime: 2020/04/22 15:00
* @version:1.0
*/
@Data
public class ReceiveAddressListVO {
public class AddressQueryForm {
/**
* 数据
* 地址ID
**/
private List<ReceiveAddressItemVO> records;
@NotBlank(message = "参数id不能为空", groups = {ValidatorDelete.class})
private String id;
/**
* 货主ID
**/
@NotNull(message = "参数ownerId不能为空", groups = {ValidatorList.class})
private Long ownerId;
@Override
public String toString() {
......
package com.esv.freight.app.module.address.form;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorList;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
/**
* @description: 新增发货地址验证类
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.address.form.CreateDeliveryAddressForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/13 11:00
* @version:1.0
*/
@Data
public class CreateDeliveryAddressForm {
/**
* 地址名称
*/
@NotNull(message = "参数addressName不能为空")
@Length(max = 50, message = "地址名称长度不合法")
private String addressName;
/**
* 省份代码
*/
@Length(max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数provinceCode不能为空")
private String provinceCode;
/**
* 市代码
*/
@Length(max = 6, message = "参数cityCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数cityCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数cityCode不能为空")
private String cityCode;
/**
* 区县代码
*/
@Length(max = 6, message = "参数districtCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数districtCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数districtCode不能为空")
private String districtCode;
/**
* 详细地址
*/
@NotNull(message = "参数detailAddress不能为空")
@Length(max = 50, message = "详细地址长度不合法")
private String detailAddress;
/**
* 发货人
*/
@NotNull(message = "参数deliverer不能为空")
@Length(max = 20, message = "发货人长度不合法")
private String deliverer;
/**
* 发货人电话
*/
@NotNull(message = "参数receiverPhone不能为空")
@Length(max = 30, message = "发货人电话长度不合法")
private String delivererPhone;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.app.module.address.form;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.common.validator.groups.ValidatorList;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
/**
* @description: 新增收货地址验证类
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.address.form.CreateReceiveAddressForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 10:00
* @version:1.0
*/
@Data
public class CreateReceiveAddressForm {
/**
* 地址名称
*/
@NotNull(message = "参数addressName不能为空")
@Length(max = 50, message = "地址名称长度不合法")
private String addressName;
/**
* 省份代码
*/
@Length(max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数provinceCode不能为空")
private String provinceCode;
/**
* 市代码
*/
@Length(max = 6, message = "参数cityCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数cityCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数cityCode不能为空")
private String cityCode;
/**
* 区县代码
*/
@Length(max = 6, message = "参数districtCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数districtCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数districtCode不能为空")
private String districtCode;
/**
* 详细地址
*/
@NotNull(message = "参数detailAddress不能为空")
@Length(max = 50, message = "详细地址长度不合法")
private String detailAddress;
/**
* 收货人
*/
@NotNull(message = "参数receiver不能为空")
@Length(max = 20, message = "收货人长度不合法")
private String receiver;
/**
* 收货人电话
*/
@NotNull(message = "参数receiverPhone不能为空")
@Length(max = 30, message = "收货人电话长度不合法")
private String receiverPhone;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.app.module.address.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @description: 删除地址验证类
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.address.form.DeleteAddressForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 15:00
* @version:1.0
*/
@Data
public class DeleteAddressForm {
/**
* 收货地址ID
*/
@NotNull(message = "参数id不能为空")
private Integer id;
}
package com.esv.freight.app.module.address.form;
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.ValidatorList;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @description: 编辑发货地址验证类
* @description:
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.address.form.EditDeliveryAddressForm
* @name: com.esv.freight.app.module.address.form.DeliveryAddressForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/13 11:00
* @createTime: 2020/04/22 15:00
* @version:1.0
*/
@Data
public class EditDeliveryAddressForm {
public class DeliveryAddressForm {
@NotNull(message = "参数id不能为空", groups = {ValidatorUpdate.class, ValidatorDetail.class})
private Long id;
/**
* 收货地址ID
*/
@NotNull(message = "参数id不能为空")
private Integer id;
@NotNull(message = "参数ownerId不能为空", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private Long ownerId;
/**
* 地址名称
*/
@NotNull(message = "参数addressName不能为空")
@Length(max = 50, message = "地址名称长度不合法")
@Length(max = 50, message = "参数addressName长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数addressName不能为空", groups = {ValidatorInsert.class})
private String addressName;
/**
* 省份代码
*/
@Length(max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数provinceCode不能为空")
@NotBlank(message = "参数provinceCode不能为空", groups = {ValidatorInsert.class})
private String provinceCode;
/**
* 市代码
*/
@Length(max = 6, message = "参数cityCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数cityCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数cityCode不能为空")
@NotBlank(message = "参数cityCode不能为空", groups = {ValidatorInsert.class})
private String cityCode;
/**
* 区县代码
*/
@Length(max = 6, message = "参数districtCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数districtCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数districtCode不能为空")
@NotBlank(message = "参数districtCode不能为空", groups = {ValidatorInsert.class})
private String districtCode;
/**
* 详细地址
*/
@NotNull(message = "参数detailAddress不能为空")
@Length(max = 50, message = "详细地址长度不合法")
@Length(max = 50, message = "参数detailAddress长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数detailAddress不能为空", groups = {ValidatorInsert.class})
private String detailAddress;
/**
* 发货人
*/
@NotNull(message = "参数deliverer不能为空")
@Length(max = 20, message = "发货人长度不合法")
@Length(max = 20, message = "参数deliverer长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数deliverer不能为空", groups = {ValidatorInsert.class})
private String deliverer;
/**
* 发货人电话
*/
@NotNull(message = "参数receiverPhone不能为空")
@Length(max = 30, message = "发货人电话长度不合法")
@Length(min = 11, max = 11, message = "参数delivererPhone长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数delivererPhone不能为空", groups = {ValidatorInsert.class})
private String delivererPhone;
@Override
......
package com.esv.freight.app.module.address.form;
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.ValidatorList;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @description: 编辑收货地址验证类
* @description:
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.address.form.EditReceiveAddressForm
* @name: com.esv.freight.app.module.address.form.ReceiveAddressForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/13 11:00
* @createTime: 2020/04/22 15:00
* @version:1.0
*/
@Data
public class EditReceiveAddressForm {
public class ReceiveAddressForm {
@NotNull(message = "参数id不能为空", groups = {ValidatorUpdate.class, ValidatorDetail.class})
private Long id;
/**
* 收货地址ID
*/
@NotNull(message = "参数id不能为空")
private Integer id;
@NotNull(message = "参数ownerId不能为空", groups = {ValidatorInsert.class, ValidatorUpdate.class})
private Long ownerId;
/**
* 地址名称
*/
@NotNull(message = "参数addressName不能为空")
@Length(max = 50, message = "地址名称长度不合法")
@Length(max = 50, message = "参数addressName长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数addressName不能为空", groups = {ValidatorInsert.class})
private String addressName;
/**
* 省份代码
*/
@Length(max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数provinceCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数provinceCode不能为空")
@NotBlank(message = "参数provinceCode不能为空", groups = {ValidatorInsert.class})
private String provinceCode;
/**
* 市代码
*/
@Length(max = 6, message = "参数cityCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数cityCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数cityCode不能为空")
@NotBlank(message = "参数cityCode不能为空", groups = {ValidatorInsert.class})
private String cityCode;
/**
* 区县代码
*/
@Length(max = 6, message = "参数districtCode长度不合法", groups = {ValidatorList.class})
@Length(min = 6, max = 6, message = "参数districtCode长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotNull(message = "参数districtCode不能为空")
@NotBlank(message = "参数districtCode不能为空", groups = {ValidatorInsert.class})
private String districtCode;
/**
* 详细地址
*/
@NotNull(message = "参数detailAddress不能为空")
@Length(max = 50, message = "详细地址长度不合法")
@Length(max = 50, message = "参数detailAddress长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数detailAddress不能为空", groups = {ValidatorInsert.class})
private String detailAddress;
/**
* 收货人
*/
@NotNull(message = "参数receiver不能为空")
@Length(max = 20, message = "收货人长度不合法")
@Length(max = 20, message = "参数deliverer长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数deliverer不能为空", groups = {ValidatorInsert.class})
private String receiver;
/**
* 收货人电话
*/
@NotNull(message = "参数receiverPhone不能为空")
@Length(max = 30, message = "收货人电话长度不合法")
@Length(min = 11, max = 11, message = "参数delivererPhone长度不合法", groups = {ValidatorInsert.class, ValidatorUpdate.class})
@NotBlank(message = "参数delivererPhone不能为空", groups = {ValidatorInsert.class})
private String receiverPhone;
@Override
......
package com.esv.freight.app.module.address.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.esv.freight.app.module.account.entity.AppLoginEntity;
import com.esv.freight.app.module.address.vo.DeliveryAddressListVO;
/**
* APP用户登录信息表
*
* @author 张志臣
* @email zhangzhichen@esvtek.com
* @date 2020-04-15 10:00
*/
public interface AddressAccountService extends IService<AppLoginEntity> {
String getPhoneByAccessToken(String accessToken);
}
package com.esv.freight.app.module.address.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.esv.freight.app.common.exception.EException;
import com.esv.freight.app.module.account.dao.AppLoginDao;
import com.esv.freight.app.module.account.entity.AppLoginEntity;
import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.address.service.AddressAccountService;
import com.esv.freight.app.module.address.vo.DeliveryAddressListVO;
import org.springframework.stereotype.Service;
@Service("addressAccountService")
public class AddressAccountServiceImpl extends ServiceImpl<AppLoginDao, AppLoginEntity> implements AddressAccountService {
@Override
public String getPhoneByAccessToken(String accessToken) {
AppLoginEntity entity = this.getAccountByAccessToken(accessToken);
if(entity == null) {
throw new EException(1, "未找到accessToken");
}
return entity.getPhone();
}
private AppLoginEntity getAccountByAccessToken(String accessToken) {
QueryWrapper<AppLoginEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("access_token", accessToken);
return this.baseMapper.selectOne(queryWrapper);
}
}
......@@ -16,12 +16,32 @@ import java.util.List;
* @version:1.0
*/
@Data
public class DeliveryAddressListVO {
public class AddressBriefVO {
/**
* 数据
* 地址ID
**/
private List<DeliveryAddressItemVO> records;
private Long id;
/**
* 地址名称
*/
private String addressName;
/**
* 省份代码
*/
private String provinceCode;
/**
* 市代码
*/
private String cityCode;
/**
* 区县代码
*/
private String districtCode;
/**
* 详细地址
*/
private String detailAddress;
@Override
public String toString() {
......
......@@ -12,12 +12,12 @@ import lombok.Data;
* @version:1.0
*/
@Data
public class DeliveryAddressItemVO {
public class AddressDetailVO {
/**
* 发货地址ID
*/
private Integer id;
private Long id;
/**
* 地址名称
*/
......@@ -39,11 +39,11 @@ public class DeliveryAddressItemVO {
*/
private String detailAddress;
/**
* 发货
* 联系
*/
private String deliverer;
private String contact;
/**
* 发货人电话
* 联系人电话
*/
private String delivererPhone;
private String contactPhone;
}
package com.esv.freight.app.module.address.vo;
import lombok.Data;
/**
* @description: 收货地址VO
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.account.address.vo.ReceiveAddressVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/17 10:00
* @version:1.0
*/
@Data
public class ReceiveAddressItemVO {
/**
* 收货地址ID
*/
private Integer id;
/**
* 地址名称
*/
private String addressName;
/**
* 省份代码
*/
private String provinceCode;
/**
* 市代码
*/
private String cityCode;
/**
* 区县代码
*/
private String districtCode;
/**
* 详细地址
*/
private String detailAddress;
/**
* 收货人
*/
private String receiver;
/**
* 收货人电话
*/
private String receiverPhone;
}
......@@ -2,16 +2,16 @@ package com.esv.freight.app.module.order.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.esv.freight.app.common.response.ECode;
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.vo.PageResultVO;
import com.esv.freight.app.common.validator.groups.ValidatorUpdate;
import com.esv.freight.app.feign.TmsInterface;
import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.order.form.OrderForm;
import com.esv.freight.app.module.order.form.OrderQueryForm;
import com.esv.freight.app.module.order.vo.OrderDetailVO;
import com.esv.freight.app.module.order.vo.OrderListItemVO;
import com.esv.freight.app.module.order.vo.OrderListVO;
import com.esv.freight.app.module.order.vo.OrderStatisticsVO;
......@@ -26,9 +26,9 @@ import java.util.Date;
import java.util.List;
/**
* @description: 订单Controller
* @description: 货主订单Controller
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.order.controller.OrderController
* @name: com.esv.freight.app.module.order.controller.OrderController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/13 13:00
......@@ -45,6 +45,13 @@ public class OrderController {
private OrderListVO pageResultVerify,pageResultNew,pageResultExecute;
/**
* description 测试数据,临时使用
* param param
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/11 11:00
**/
private void createTestData() {
pageResultVerify = new OrderListVO();
List<OrderListItemVO> verifyList = new ArrayList<>();
......@@ -81,7 +88,7 @@ public class OrderController {
/**
* description 获取订单分类统计信息
* param
* param param [accessToken]
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/11 11:00
......@@ -104,7 +111,7 @@ public class OrderController {
/**
* description 获取订单列表
* param [accessToken, addOrderForm]
* param [accessToken, orderQueryForm]
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/18 11:00
......@@ -161,14 +168,14 @@ public class OrderController {
pageResultVO.setRecord(records);
}
return EResponse.ok(pageResultVO);
*/
*/
return EResponse.ok(pageResultVerify);
}
/**
* description 发布订单
* param [AddOrderForm]
* param [accessToken, orderForm]
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/13 14:00
......@@ -201,7 +208,131 @@ public class OrderController {
reqJson.put("orderSource", 2);
reqJson.put("remark", orderForm.getRemark());
log.info(reqJson.toJSONString());
JSONObject result = tmsInterface.addOrder(reqJson);
JSONObject result = tmsInterface.addOrderOwner(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok();
}
/**
* description 取消订单
* param [accessToken, orderQueryForm]
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/21 14:00
**/
@PostMapping("/cancel")
public EResponse cancel(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorDetail.class) OrderQueryForm orderQueryForm) {
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用取消订单接口
JSONObject reqJson = new JSONObject();
reqJson.put("id", orderQueryForm.getId());
log.info(reqJson.toJSONString());
JSONObject result = tmsInterface.cancelOrder(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
return EResponse.ok();
}
/**
* description 获取订单详情
* param [accessToken, orderQueryForm]
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/21 14:00
**/
@PostMapping("/detail")
public EResponse detail(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorDetail.class) OrderQueryForm orderQueryForm) {
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用获取订单详情接口
JSONObject reqJson = new JSONObject();
reqJson.put("id", orderQueryForm.getId());
log.info(reqJson.toJSONString());
JSONObject result = tmsInterface.getOrderDetail(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}
OrderDetailVO orderDetailVO = new OrderDetailVO();
JSONObject data = result.getJSONObject("data");
orderDetailVO.setId(data.getLong("id"));
orderDetailVO.setOrderNo(data.getString("orderNo"));
orderDetailVO.setOrderState(data.getInteger("orderState"));
orderDetailVO.setAuditState(data.getInteger("auditState"));
orderDetailVO.setBusinessType(data.getInteger("businessType"));
orderDetailVO.setGoodsType(data.getInteger("goodsType"));
orderDetailVO.setGoodsNameCode(data.getInteger("goodsNameCode"));
orderDetailVO.setGoodsNameCode(data.getInteger("goodsNameCode"));
orderDetailVO.setGoodsDetail(data.getString("goodsDetail"));
orderDetailVO.setGoodsTotalAmount(data.getBigDecimal("goodsTotalAmount"));
orderDetailVO.setGoodsUnit(data.getInteger("goodsUnit"));
orderDetailVO.setGoodsUnitPrice(data.getBigDecimal("goodsUnitPrice"));
orderDetailVO.setFreightUnitPriceInput(data.getBigDecimal("freightUnitPriceInput"));
orderDetailVO.setDeliveryAddressId(data.getLong("deliveryAddressId"));
orderDetailVO.setReceiveAddressId(data.getLong("receiveAddressId"));
orderDetailVO.setRequiredDeliveryTime(data.getLong("requiredDeliveryTime"));
orderDetailVO.setRequiredReceiveTime(data.getLong("requiredReceiveTime"));
orderDetailVO.setVehicleTypeMain(data.getInteger("vehicleTypeMain"));
orderDetailVO.setVehicleTypeSub(data.getInteger("vehicleTypeSub"));
orderDetailVO.setVehicleLength(data.getBigDecimal("vehicleLength"));
orderDetailVO.setRemark(data.getString("remark"));
return EResponse.ok(orderDetailVO);
}
/**
* description 编辑订单
* param [accessToken, orderForm]
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/21 14:00
**/
@PostMapping("/edit")
public EResponse edit(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorUpdate.class) OrderForm orderForm) {
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用编辑订单接口
JSONObject reqJson = new JSONObject();
reqJson.put("id", orderForm.getId());
reqJson.put("goodsOwnerId", orderForm.getGoodsOwnerId());
reqJson.put("businessType", orderForm.getBusinessType());
reqJson.put("goodsType", orderForm.getGoodsType());
reqJson.put("goodsNameCode", orderForm.getGoodsNameCode());
reqJson.put("goodsDetail", orderForm.getGoodsDetail());
reqJson.put("goodsTotalAmount", orderForm.getGoodsTotalAmount());
reqJson.put("goodsUnit", orderForm.getGoodsUnit());
reqJson.put("goodsUnitPrice", orderForm.getGoodsUnitPrice());
reqJson.put("freightUnitPriceInput", orderForm.getFreightUnitPriceInput());
reqJson.put("deliveryAddressId", orderForm.getDeliveryAddressId());
reqJson.put("receiveAddressId", orderForm.getReceiveAddressId());
reqJson.put("requiredDeliveryTime", orderForm.getRequiredDeliveryTime());
reqJson.put("requiredReceiveTime", orderForm.getRequiredReceiveTime());
reqJson.put("vehicleTypeMain", orderForm.getVehicleTypeMain());
reqJson.put("vehicleTypeSub", orderForm.getVehicleTypeSub());
reqJson.put("vehicleLength", orderForm.getVehicleLength());
reqJson.put("remark", orderForm.getRemark());
log.info(reqJson.toJSONString());
JSONObject result = tmsInterface.editOrder(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
......
......@@ -31,7 +31,7 @@ import java.util.Date;
public class OrderForm {
/**
* 主键
* 订单id
*/
@Positive(message = "参数id不合法", groups = {ValidatorUpdate.class})
@NotNull(message = "参数id不能为空", groups = {ValidatorUpdate.class, ValidatorDelete.class})
......
package com.esv.freight.app.module.order.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* @description: 订单详情VO
* @project: Freight
* @name: com.esv.freight.app.module.order.vo.OrderDetailVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 10:00
* @version:1.0
*/
@Data
public class OrderDetailVO {
/**
* 订单id
*/
private Long id;
/**
* 订单号
*/
private String orderNo;
/**
* 订单状态.
*/
private Integer orderState;
/**
* 审核状态
*/
private Integer auditState;
/**
* 业务类型
*/
private Integer businessType;
/**
* 货物类型
*/
private Integer goodsType;
/**
* 货物名称编码
*/
private Integer goodsNameCode;
/**
* 货物明细
*/
private String goodsDetail;
/**
* 货物订单量
*/
private BigDecimal goodsTotalAmount;
/**
* 货物单位
*/
private Integer goodsUnit;
/**
* 货物单价
*/
private BigDecimal goodsUnitPrice;
/**
* 运费单价(收入)
*/
private BigDecimal freightUnitPriceInput;
/**
* 发货地址ID
*/
private Long deliveryAddressId;
/**
* 收货地址ID
*/
private Long receiveAddressId;
/**
* 要求发货时间
*/
private Long requiredDeliveryTime;
/**
* 要求交货时间
*/
private Long requiredReceiveTime;
/**
* 车辆类型,主类型
*/
private Integer vehicleTypeMain;
/**
* 车辆类型,子类型
*/
private Integer vehicleTypeSub;
/**
* 车长
*/
private BigDecimal vehicleLength;
/**
* 备注
*/
private String remark;
}
package com.esv.freight.app.module.waybill.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description: 司机运单Controller
* @project: Freight
* @name: com.esv.freight.app.module.waybill.controller.DriverWaybillController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 15:00
* @version:1.0
*/
@RestController
@RequestMapping("/driverBackend/waybill")
@Slf4j
@Validated
public class DriverWaybillController {
}
package com.esv.freight.app.module.waybill.controller;
import com.alibaba.fastjson.JSONObject;
import com.esv.freight.app.common.response.ECode;
import com.esv.freight.app.common.response.EResponse;
import com.esv.freight.app.common.validator.groups.ValidatorInsert;
import com.esv.freight.app.feign.TmsInterface;
import com.esv.freight.app.module.account.service.AppLoginService;
import com.esv.freight.app.module.order.form.OrderQueryForm;
import com.esv.freight.app.module.waybill.form.WaybillQueryForm;
import com.esv.freight.app.module.waybill.vo.WaybillListItemVO;
import com.esv.freight.app.module.waybill.vo.WaybillListVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @description: 货主运单Controller
* @project: Freight
* @name: com.esv.freight.app.module.waybill.controller.OwnerWaybillController
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 15:00
* @version:1.0
*/
@RestController
@RequestMapping("/ownerBackend/waybill")
@Slf4j
@Validated
public class OwnerWaybillController {
private AppLoginService appLoginService;
private TmsInterface tmsInterface;
private WaybillListVO mWaybillListVO;
private void createTestData() {
mWaybillListVO = new WaybillListVO();
List<WaybillListItemVO> verifyList = new ArrayList<>();
WaybillListItemVO itemVO = new WaybillListItemVO();
itemVO.setId(10056L);
itemVO.setWaybillNO("YD202004221300002");
itemVO.setOrderNO("D2020042109300101");
itemVO.setWaybillState(5);
itemVO.setDeliveryCity("210100");
itemVO.setReceiveCity("210100");
itemVO.setGoodsName(1101);
itemVO.setGoodsTotalAmount(new BigDecimal(26));
itemVO.setGoodsUnit("吨");
itemVO.setCreateTime(new Date());
itemVO.setRequiredReceiveTime(new Date());
itemVO.setRequiredDeliveryTime(new Date());
verifyList.add(itemVO);
mWaybillListVO.setPageNum(1L);
mWaybillListVO.setPageSize(20L);
mWaybillListVO.setTotal(1L);
mWaybillListVO.setRecordSize(1L);
mWaybillListVO.setRecord(verifyList);
}
@Autowired
public OwnerWaybillController(TmsInterface tmsInterface, AppLoginService appLoginService) {
this.appLoginService = appLoginService;
this.tmsInterface = tmsInterface;
createTestData();
}
/**
* description 获取运单列表
* param [accessToken, waybillQueryForm]
* return com.esv.freight.common.response.EResponse
* author 张志臣
* createTime 2020/04/22 15:00
**/
@PostMapping("/list")
public EResponse list(@RequestHeader("Union-Authorization") String accessToken, @RequestBody(required=false) @Validated(ValidatorInsert.class) WaybillQueryForm waybillQueryForm) {
if(appLoginService.isInvalidAccessToken(accessToken)) {
return EResponse.error(ECode.TOKEN_EXPIRED);
}
// 调用运单列表分页查询接口
/* JSONObject reqJson = new JSONObject();
reqJson.put("goodsOwnerId", orderQueryForm.getGoodsOwnerId());
reqJson.put("pageNum", orderQueryForm.getPageNum());
reqJson.put("pageSize", orderQueryForm.getPageSize());
if(orderQueryForm.getOrderState() != null){
reqJson.put("orderState", orderQueryForm.getOrderState());
}
log.info(reqJson.toJSONString());
JSONObject result = tmsInterface.listOrders(reqJson);
log.info(result.toJSONString());
if(result.getInteger("code") != 200) {
return EResponse.error(result.getInteger("code"), result.getString("message"));
}*/
return EResponse.ok(mWaybillListVO);
}
}
package com.esv.freight.app.module.waybill.form;
import com.esv.freight.app.common.validator.groups.ValidatorDetail;
import com.esv.freight.app.common.validator.groups.ValidatorList;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
/**
* @description:
* @project: Freight
* @name: com.esv.freight.module.ownerBackend.waybill.form.WaybillQueryForm
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/22 11:00
* @version:1.0
*/
@Data
public class WaybillQueryForm {
/**
* 运单ID
*/
@NotNull(message = "参数运单ID不能为空", groups = {ValidatorDetail.class})
private Long waybillId;
/**
* 账号ID
*/
@Positive(message = "参数账号ID不合法", groups = {ValidatorList.class})
@NotNull(message = "参数账号ID不能为空", groups = {ValidatorList.class})
private Long userId;
/**
* 运单号
*/
@Length(max = 30, message = "参数运单号长度不合法", groups = {ValidatorList.class})
private String waybillNo;
/**
* 订单号
*/
@Length(max = 30, message = "参数订单号长度不合法", groups = {ValidatorList.class})
private String orderNo;
/**
* 运单状态
*/
@Positive(message = "参数运单状态不合法", groups = {ValidatorList.class})
@Range(min = 1, max = 100, message = "无效的运单状态", groups = {ValidatorList.class})
private Integer waybillState;
/**
* 当前页数
*/
@Range(min = 1, max = 1000, message = "无效的pageNum", groups = {ValidatorList.class})
@NotNull(message = "参数pageNum不能为空", groups = {ValidatorList.class})
private Long pageNum;
/**
* 每页显示记录数
*/
@Range(min = 1, max = 1000, message = "pageSize", groups = {ValidatorList.class})
@NotNull(message = "参数pageSize不能为空", groups = {ValidatorList.class})
private Long pageSize;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.app.module.waybill.vo;
import java.math.BigDecimal;
import java.util.Date;
public class WaybillDetailVO {
/**
* 运单ID
*/
private Long id;
/**
* 运单号
*/
private String waybillNO;
/**
* 订单号
*/
private String orderNO;
/**
* 运单状态
*/
private Integer waybillState;
/**
* 发货地址省份
*/
private String deliveryProvinceCode;
/**
* 发货地址城市
*/
private String deliveryCityCode;
/**
* 发货地址区、县
*/
private String deliveryDistrictCode;
/**
* 发货详细地址
*/
private String deliveryDetailAddress;
/**
* 发货人
*/
private String deliverer;
/**
* 发货人手机号
*/
private String delivererPhone;
/**
* 收货地址名称
*/
private String receiveAddressName;
/**
* 收货地址省份
*/
private String receiveProvinceCode;
/**
* 收货地址城市
*/
private String receiveCityCode;
/**
* 收货地址区、县
*/
private String receiveDistrictCode;
/**
* 收货详细地址
*/
private String receiveDetailAddress;
/**
* 收货人
*/
private String receiver;
/**
* 收货人电话
*/
private String receiverPhone;
/**
* 货物名称编码
*/
private Integer goodsName;
/**
* 货物明细
*/
private String goodsDetail;
/**
* 货物运单量
*/
private BigDecimal goodsTotalAmount;
/**
* 货物单位
*/
private String goodsUnit;
/**
* 要求发货时间
*/
private Date requiredDeliveryTime;
/**
* 要求交货时间
*/
private Date requiredReceiveTime;
/**
* 货主姓名
*/
private String goodsOwnerName;
/**
* 实际交货量
*/
private BigDecimal actualGoodsTotalAmount;
/**
* 应付运费
*/
private BigDecimal actualFreightPrice;
/**
* 运费单价
*/
private BigDecimal freightUnitPriceInput;
/**
* 运单生成时间(发布时间)
*/
private Date createTime;
/**
* 派单时间
*/
private Date dispatchTime;
/**
* 实际发货时间
*/
private Date actualDeliveryTime;
/**
* 实际交货时间
*/
private Date actualReceiveTime;
}
package com.esv.freight.app.module.waybill.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description: 运单列表VO
* @project: Freight
* @name: com.esv.freight.app.module.waybill.vo.WaybillListItemVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/18 11:00
* @version:1.0
*/
@Data
public class WaybillListItemVO {
/**
* 运单ID
*/
private Long id;
/**
* 运单号
*/
private String waybillNO;
/**
* 订单号
*/
private String orderNO;
/**
* 运单状态
*/
private Integer waybillState;
/**
* 发货城市编码
*/
private String deliveryCity;
/**
* 收货城市编码
*/
private String receiveCity;
/**
* 货物名称编码
*/
private Integer goodsName;
/**
* 货物订单量
*/
private BigDecimal goodsTotalAmount;
/**
* 货物单位
*/
private String goodsUnit;
/**
* 要求发货时间
*/
private Date requiredDeliveryTime;
/**
* 要求交货时间
*/
private Date requiredReceiveTime;
/**
* 运单生成时间
*/
private Date createTime;
}
package com.esv.freight.app.module.waybill.vo;
import lombok.Data;
import java.util.List;
/**
* @description: 运单列表VO
* @project: Freight
* @name: com.esv.freight.app.module.waybill.vo.WaybillListVO
* @author: 张志臣
* @email: zhangzhichen@esvtek.com
* @createTime: 2020/04/18 11:00
* @version:1.0
*/
@Data
public class WaybillListVO {
/**
* 每页记录条数
**/
private Long pageSize;
/**
* 当前页码
**/
private Long pageNum;
/**
* 总记录条数
**/
private Long total;
/**
* 当前页的记录条数
**/
private Long recordSize;
/**
* 数据
**/
private List<WaybillListItemVO> record;
}
spring:
main:
allow-bean-definition-overriding: true
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
......
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