Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
customer-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SuperHive
back-end
customer-service
Commits
80e5931c
Commit
80e5931c
authored
Apr 22, 2020
by
huangcb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增货主接口:收货地址
parent
d6f4008e
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1198 additions
and
15 deletions
+1198
-15
ErrorMessageComponent.java
...ight/customer/common/component/ErrorMessageComponent.java
+11
-0
ReceiveAddressController.java
...odule/goodsowner/controller/ReceiveAddressController.java
+129
-0
ReceiveAddressDao.java
...ght/customer/module/goodsowner/dao/ReceiveAddressDao.java
+4
-1
ReceiveAddressDto.java
...ght/customer/module/goodsowner/dto/ReceiveAddressDto.java
+102
-0
ReceiveAddressForm.java
...t/customer/module/goodsowner/form/ReceiveAddressForm.java
+96
-0
DeliveryAddressService.java
...mer/module/goodsowner/service/DeliveryAddressService.java
+2
-4
ReceiveAddressService.java
...omer/module/goodsowner/service/ReceiveAddressService.java
+70
-0
DeliveryAddressServiceImpl.java
...e/goodsowner/service/impl/DeliveryAddressServiceImpl.java
+4
-5
ReceiveAddressServiceImpl.java
...le/goodsowner/service/impl/ReceiveAddressServiceImpl.java
+182
-0
AddressBriefVO.java
...freight/customer/module/goodsowner/vo/AddressBriefVO.java
+2
-2
ReceiveAddressListVO.java
...t/customer/module/goodsowner/vo/ReceiveAddressListVO.java
+76
-0
ReceiveAddressVO.java
...eight/customer/module/goodsowner/vo/ReceiveAddressVO.java
+74
-0
application-dev.yml
src/main/resources/application-dev.yml
+8
-0
DeliveryAddressDao.xml
src/main/resources/mapper/goodsowner/DeliveryAddressDao.xml
+1
-1
ReceiveAddressDao.xml
src/main/resources/mapper/goodsowner/ReceiveAddressDao.xml
+20
-1
DeliveryAddressControllerTest.java
.../goodsowner/controller/DeliveryAddressControllerTest.java
+1
-1
ReceiveAddressControllerTest.java
...e/goodsowner/controller/ReceiveAddressControllerTest.java
+416
-0
No files found.
src/main/java/com/esv/freight/customer/common/component/ErrorMessageComponent.java
View file @
80e5931c
...
...
@@ -67,4 +67,15 @@ public class ErrorMessageComponent {
@Value
(
"${error-message.goodsowner.delivery-address.detail.1001}"
)
private
String
goodsOwnerDeliveryAddressDetail1001
;
@Value
(
"${error-message.goodsowner.receive-address.add.1001}"
)
private
String
goodsOwnerReceiveAddressAdd1001
;
@Value
(
"${error-message.goodsowner.receive-address.edit.1001}"
)
private
String
goodsOwnerReceiveAddressEdit1001
;
@Value
(
"${error-message.goodsowner.receive-address.edit.1002}"
)
private
String
goodsOwnerReceiveAddressEdit1002
;
@Value
(
"${error-message.goodsowner.receive-address.detail.1001}"
)
private
String
goodsOwnerReceiveAddressDetail1001
;
}
src/main/java/com/esv/freight/customer/module/goodsowner/controller/ReceiveAddressController.java
0 → 100644
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.esv.freight.customer.common.exception.EException
;
import
com.esv.freight.customer.common.response.EResponse
;
import
com.esv.freight.customer.common.validator.groups.*
;
import
com.esv.freight.customer.module.goodsowner.GoodsOwnerConstants
;
import
com.esv.freight.customer.module.goodsowner.form.DeleteAddressForm
;
import
com.esv.freight.customer.module.goodsowner.form.ReceiveAddressForm
;
import
com.esv.freight.customer.module.goodsowner.service.DeliveryAddressService
;
import
com.esv.freight.customer.module.goodsowner.service.ReceiveAddressService
;
import
com.esv.freight.customer.module.goodsowner.validator.groups.AddressBrief
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @description: 承运商收货地址Controller
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.goodsowner.controller.ReceiveAddressController
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/21 15:40
* @version:1.0
*/
@Slf4j
@RestController
@RequestMapping
(
"/goodsowner/receive/address"
)
@Validated
public
class
ReceiveAddressController
{
private
DeliveryAddressService
deliveryAddressService
;
private
ReceiveAddressService
receiveAddressService
;
@Autowired
public
ReceiveAddressController
(
DeliveryAddressService
deliveryAddressService
,
ReceiveAddressService
receiveAddressService
)
{
this
.
deliveryAddressService
=
deliveryAddressService
;
this
.
receiveAddressService
=
receiveAddressService
;
}
/**
* description 新增收货地址
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/04/21 16:56
**/
@PostMapping
(
"/add"
)
public
EResponse
add
(
@RequestBody
@Validated
(
ValidatorInsert
.
class
)
ReceiveAddressForm
form
)
throws
EException
{
// 判断是否复制地址
if
(
GoodsOwnerConstants
.
ADDRESS_COPY_YES
.
equals
(
form
.
getAddressCopy
()))
{
}
Long
id
=
receiveAddressService
.
addAddress
(
form
);
JSONObject
data
=
new
JSONObject
();
data
.
put
(
"id"
,
id
);
return
EResponse
.
ok
(
data
);
}
/**
* description 编辑收货地址
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/04/21 18:56
**/
@PostMapping
(
"/edit"
)
public
EResponse
edit
(
@RequestBody
@Validated
(
ValidatorUpdate
.
class
)
ReceiveAddressForm
form
)
throws
EException
{
receiveAddressService
.
editAddress
(
form
);
return
EResponse
.
ok
();
}
/**
* description 查看收货地址详情
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/04/21 19:55
**/
@PostMapping
(
"/detail"
)
public
EResponse
detail
(
@RequestBody
@Validated
(
ValidatorDetail
.
class
)
ReceiveAddressForm
form
)
throws
EException
{
return
EResponse
.
ok
(
receiveAddressService
.
getAddressDetail
(
form
));
}
/**
* description 获取所有收货地址列表
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/04/21 20:08
**/
@PostMapping
(
"/all"
)
public
EResponse
all
(
@RequestBody
@Validated
(
AddressBrief
.
class
)
ReceiveAddressForm
form
)
throws
EException
{
return
EResponse
.
ok
(
receiveAddressService
.
getAllAddress
(
form
));
}
/**
* description 删除收货地址
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/04/21 19:27
**/
@PostMapping
(
"/delete"
)
public
EResponse
delete
(
@RequestBody
@Validated
(
ValidatorDelete
.
class
)
DeleteAddressForm
form
)
throws
EException
{
int
count
=
receiveAddressService
.
deleteAddress
(
form
);
JSONObject
data
=
new
JSONObject
();
data
.
put
(
"count"
,
count
);
return
EResponse
.
ok
(
data
);
}
/**
* description 分页查询收货地址列表
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/04/22 9:28
**/
@PostMapping
(
"/list"
)
public
EResponse
list
(
@RequestBody
@Validated
(
ValidatorList
.
class
)
ReceiveAddressForm
form
)
throws
EException
{
return
EResponse
.
ok
(
receiveAddressService
.
selectAddressList
(
form
));
}
}
src/main/java/com/esv/freight/customer/module/goodsowner/dao/ReceiveAddressDao.java
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.esv.freight.customer.module.goodsowner.entity.ReceiveAddressEntity
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.Map
;
/**
* 货主收货地址表
*
...
...
@@ -14,6 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public
interface
ReceiveAddressDao
extends
BaseMapper
<
ReceiveAddressEntity
>
{
IPage
selectAddressList
(
IPage
page
,
Map
<
String
,
Object
>
queryObj
);
}
src/main/java/com/esv/freight/customer/module/goodsowner/dto/ReceiveAddressDto.java
0 → 100644
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
dto
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 货主发货地址表
*
* @author 黄朝斌
* @email huangchaobin@esvtek.com
* @date 2020-04-21 15:27:27
*/
@Data
public
class
ReceiveAddressDto
{
/**
*
*/
private
Long
id
;
/**
* 货主类型:1-个人、2-企业
*/
private
String
ownerType
;
/**
* 客户名称
*/
private
String
ownerFullName
;
/**
* (个人或企业)联系人
*/
private
String
contactor
;
/**
* 地址编码
*/
private
String
addressNumber
;
/**
* 地址名称
*/
private
String
addressName
;
/**
* 省份代码
*/
private
String
provinceCode
;
/**
* 市代码
*/
private
String
cityCode
;
/**
* 区县代码
*/
private
String
districtCode
;
/**
* 详细地址
*/
private
String
detailAddress
;
/**
* 收货人
*/
private
String
receiver
;
/**
* 收货人电话
*/
private
String
receiverPhone
;
/**
* 收货人座机
*/
private
String
receiverTelephone
;
/**
* 经度
*/
private
BigDecimal
lon
;
/**
* 纬度
*/
private
BigDecimal
lat
;
/**
* 是否默认收货地址:0-非默认,1-默认
*/
private
Boolean
defaultAddress
;
/**
* 0-未删除,1-已删除
*/
private
Boolean
deleted
;
/**
* 创建者
*/
private
String
createUser
;
/**
* 修改者
*/
private
String
updateUser
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
updateTime
;
}
src/main/java/com/esv/freight/customer/module/goodsowner/form/ReceiveAddressForm.java
0 → 100644
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
form
;
import
com.esv.freight.customer.common.validator.groups.ValidatorDetail
;
import
com.esv.freight.customer.common.validator.groups.ValidatorInsert
;
import
com.esv.freight.customer.common.validator.groups.ValidatorList
;
import
com.esv.freight.customer.common.validator.groups.ValidatorUpdate
;
import
com.esv.freight.customer.module.goodsowner.validator.groups.AddressBrief
;
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.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Pattern
;
/**
* @description:
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.goodsowner.form.ReceiveAddressForm
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/17 16:11
* @version:1.0
*/
@Data
public
class
ReceiveAddressForm
{
@NotNull
(
message
=
"参数id不能为空"
,
groups
=
{
ValidatorUpdate
.
class
,
ValidatorDetail
.
class
})
private
Long
id
;
@NotNull
(
message
=
"参数ownerId不能为空"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
,
AddressBrief
.
class
})
private
Long
ownerId
;
@Length
(
max
=
50
,
message
=
"参数addressName长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
@NotBlank
(
message
=
"参数addressName不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
addressName
;
@Length
(
min
=
6
,
max
=
6
,
message
=
"参数provinceCode长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
,
ValidatorList
.
class
})
@NotBlank
(
message
=
"参数provinceCode不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
provinceCode
;
@Length
(
min
=
6
,
max
=
6
,
message
=
"参数cityCode长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
,
ValidatorList
.
class
})
@NotBlank
(
message
=
"参数cityCode不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
cityCode
;
@Length
(
min
=
6
,
max
=
6
,
message
=
"参数districtCode长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
@NotBlank
(
message
=
"参数districtCode不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
districtCode
;
@Length
(
max
=
50
,
message
=
"参数detailAddress长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
@NotBlank
(
message
=
"参数detailAddress不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
detailAddress
;
@Length
(
max
=
20
,
message
=
"参数receiver长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
@NotBlank
(
message
=
"参数receiver不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
receiver
;
@Length
(
min
=
11
,
max
=
11
,
message
=
"参数receiverPhone长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
@NotBlank
(
message
=
"参数receiverPhone不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
receiverPhone
;
@Length
(
max
=
20
,
message
=
"参数receiverTelephone长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
private
String
receiverTelephone
;
@Length
(
max
=
10
,
message
=
"参数lon长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
private
String
lon
;
@Length
(
max
=
10
,
message
=
"参数lat长度不合法"
,
groups
=
{
ValidatorInsert
.
class
,
ValidatorUpdate
.
class
})
private
String
lat
;
@Pattern
(
regexp
=
"[01]"
,
message
=
"参数addressCopy不合法"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
addressCopy
;
@Length
(
max
=
50
,
message
=
"参数keywords长度不合法"
,
groups
=
{
ValidatorList
.
class
})
private
String
keywords
;
/**
* 页码
**/
@Range
(
min
=
1
,
max
=
65535
,
message
=
"无效的pageNum"
,
groups
=
{
ValidatorList
.
class
})
@NotNull
(
message
=
"参数pageNum不能为空"
,
groups
=
{
ValidatorList
.
class
})
private
Integer
pageNum
;
/**
* 每页记录条数
**/
@Range
(
min
=
1
,
max
=
100
,
message
=
"pageSize"
,
groups
=
{
ValidatorList
.
class
})
@NotNull
(
message
=
"参数pageSize不能为空"
,
groups
=
{
ValidatorList
.
class
})
private
Integer
pageSize
;
@Override
public
String
toString
()
{
return
ToStringBuilder
.
reflectionToString
(
this
,
ToStringStyle
.
JSON_STYLE
);
}
}
src/main/java/com/esv/freight/customer/module/goodsowner/service/DeliveryAddressService.java
View file @
80e5931c
...
...
@@ -5,12 +5,10 @@ import com.esv.freight.customer.common.vo.PageResultVO;
import
com.esv.freight.customer.module.goodsowner.entity.DeliveryAddressEntity
;
import
com.esv.freight.customer.module.goodsowner.form.DeleteAddressForm
;
import
com.esv.freight.customer.module.goodsowner.form.DeliveryAddressForm
;
import
com.esv.freight.customer.module.goodsowner.vo.DeliveryAddressBriefVO
;
import
com.esv.freight.customer.module.goodsowner.vo.DeliveryAddressListVO
;
import
com.esv.freight.customer.module.goodsowner.vo.AddressBriefVO
;
import
com.esv.freight.customer.module.goodsowner.vo.DeliveryAddressVO
;
import
java.util.List
;
import
java.util.Map
;
/**
* 货主发货地址表
...
...
@@ -64,7 +62,7 @@ public interface DeliveryAddressService extends IService<DeliveryAddressEntity>
* author Administrator
* createTime 2020/04/21 20:04
**/
List
<
Delivery
AddressBriefVO
>
getAllAddress
(
DeliveryAddressForm
form
);
List
<
AddressBriefVO
>
getAllAddress
(
DeliveryAddressForm
form
);
/**
* description 通过地址名称查询地址记录
...
...
src/main/java/com/esv/freight/customer/module/goodsowner/service/ReceiveAddressService.java
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.esv.freight.customer.common.vo.PageResultVO
;
import
com.esv.freight.customer.module.goodsowner.entity.ReceiveAddressEntity
;
import
com.esv.freight.customer.module.goodsowner.form.DeleteAddressForm
;
import
com.esv.freight.customer.module.goodsowner.form.ReceiveAddressForm
;
import
com.esv.freight.customer.module.goodsowner.vo.AddressBriefVO
;
import
com.esv.freight.customer.module.goodsowner.vo.ReceiveAddressVO
;
import
java.util.List
;
/**
* 货主收货地址表
...
...
@@ -12,5 +19,68 @@ import com.esv.freight.customer.module.goodsowner.entity.ReceiveAddressEntity;
*/
public
interface
ReceiveAddressService
extends
IService
<
ReceiveAddressEntity
>
{
/**
* description 新增收货地址
* param [form]
* return java.lang.Long
* author Administrator
* createTime 2020/04/21 15:59
**/
Long
addAddress
(
ReceiveAddressForm
form
);
/**
* description 编辑收货地址
* param [form]
* return int
* author Administrator
* createTime 2020/04/21 17:56
**/
int
editAddress
(
ReceiveAddressForm
form
);
/**
* description 删除收货地址
* param [form]
* return int
* author Administrator
* createTime 2020/04/21 19:23
**/
int
deleteAddress
(
DeleteAddressForm
form
);
/**
* description 查看收货地址详情
* param [form]
* return com.esv.freight.customer.module.goodsowner.vo.Receive
* author Administrator
* createTime 2020/04/21 19:50
**/
ReceiveAddressVO
getAddressDetail
(
ReceiveAddressForm
form
);
/**
* description 获取所有收货地址列表
* param [form]
* return java.util.List<com.esv.freight.customer.module.goodsowner.vo.AddressBriefVO>
* author Administrator
* createTime 2020/04/21 20:04
**/
List
<
AddressBriefVO
>
getAllAddress
(
ReceiveAddressForm
form
);
/**
* description 通过地址名称查询地址记录
* param [ownerId, addressName]
* return java.util.List<com.esv.freight.customer.module.goodsowner.entity.ReceiveAddressEntity>
* author Administrator
* createTime 2020/04/21 16:33
**/
List
<
ReceiveAddressEntity
>
getAddressByName
(
Long
ownerId
,
String
addressName
);
/**
* description 分页查询地址列表
* param [form]
* return com.esv.freight.customer.common.vo.PageResultVO
* author Administrator
* createTime 2020/04/22 9:21
**/
PageResultVO
selectAddressList
(
ReceiveAddressForm
form
);
}
src/main/java/com/esv/freight/customer/module/goodsowner/service/impl/DeliveryAddressServiceImpl.java
View file @
80e5931c
...
...
@@ -12,13 +12,12 @@ import com.esv.freight.customer.common.vo.PageResultVO;
import
com.esv.freight.customer.feign.FeignBaseService
;
import
com.esv.freight.customer.module.goodsowner.GoodsOwnerConstants
;
import
com.esv.freight.customer.module.goodsowner.dao.DeliveryAddressDao
;
import
com.esv.freight.customer.module.goodsowner.dto.AccountInfoDto
;
import
com.esv.freight.customer.module.goodsowner.dto.DeliveryAddressDto
;
import
com.esv.freight.customer.module.goodsowner.entity.DeliveryAddressEntity
;
import
com.esv.freight.customer.module.goodsowner.form.DeleteAddressForm
;
import
com.esv.freight.customer.module.goodsowner.form.DeliveryAddressForm
;
import
com.esv.freight.customer.module.goodsowner.service.DeliveryAddressService
;
import
com.esv.freight.customer.module.goodsowner.vo.
Delivery
AddressBriefVO
;
import
com.esv.freight.customer.module.goodsowner.vo.AddressBriefVO
;
import
com.esv.freight.customer.module.goodsowner.vo.DeliveryAddressListVO
;
import
com.esv.freight.customer.module.goodsowner.vo.DeliveryAddressVO
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -135,16 +134,16 @@ public class DeliveryAddressServiceImpl extends ServiceImpl<DeliveryAddressDao,
}
@Override
public
List
<
Delivery
AddressBriefVO
>
getAllAddress
(
DeliveryAddressForm
form
)
{
public
List
<
AddressBriefVO
>
getAllAddress
(
DeliveryAddressForm
form
)
{
// 查询
QueryWrapper
<
DeliveryAddressEntity
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"owner_id"
,
form
.
getOwnerId
());
List
<
DeliveryAddressEntity
>
deliveryAddressEntityList
=
this
.
baseMapper
.
selectList
(
queryWrapper
);
// 数据转换
List
<
Delivery
AddressBriefVO
>
addressBriefVOList
=
new
ArrayList
<>();
List
<
AddressBriefVO
>
addressBriefVOList
=
new
ArrayList
<>();
deliveryAddressEntityList
.
forEach
(
entity
->
{
DeliveryAddressBriefVO
vo
=
new
Delivery
AddressBriefVO
();
AddressBriefVO
vo
=
new
AddressBriefVO
();
BeanUtils
.
copyProperties
(
entity
,
vo
);
addressBriefVOList
.
add
(
vo
);
});
...
...
src/main/java/com/esv/freight/customer/module/goodsowner/service/impl/ReceiveAddressServiceImpl.java
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.esv.freight.customer.common.component.ErrorMessageComponent
;
import
com.esv.freight.customer.common.exception.EException
;
import
com.esv.freight.customer.common.util.FeignUtils
;
import
com.esv.freight.customer.common.vo.PageResultVO
;
import
com.esv.freight.customer.feign.FeignBaseService
;
import
com.esv.freight.customer.module.goodsowner.GoodsOwnerConstants
;
import
com.esv.freight.customer.module.goodsowner.dao.ReceiveAddressDao
;
import
com.esv.freight.customer.module.goodsowner.dto.ReceiveAddressDto
;
import
com.esv.freight.customer.module.goodsowner.entity.ReceiveAddressEntity
;
import
com.esv.freight.customer.module.goodsowner.form.DeleteAddressForm
;
import
com.esv.freight.customer.module.goodsowner.form.ReceiveAddressForm
;
import
com.esv.freight.customer.module.goodsowner.service.ReceiveAddressService
;
import
com.esv.freight.customer.module.goodsowner.vo.AddressBriefVO
;
import
com.esv.freight.customer.module.goodsowner.vo.ReceiveAddressListVO
;
import
com.esv.freight.customer.module.goodsowner.vo.ReceiveAddressVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.*
;
@Service
(
"receiveAddressService"
)
public
class
ReceiveAddressServiceImpl
extends
ServiceImpl
<
ReceiveAddressDao
,
ReceiveAddressEntity
>
implements
ReceiveAddressService
{
private
FeignBaseService
feignBaseService
;
private
ErrorMessageComponent
errorMessageComponent
;
@Autowired
public
ReceiveAddressServiceImpl
(
FeignBaseService
feignBaseService
,
ErrorMessageComponent
errorMessageComponent
)
{
this
.
feignBaseService
=
feignBaseService
;
this
.
errorMessageComponent
=
errorMessageComponent
;
}
@Override
public
Long
addAddress
(
ReceiveAddressForm
form
)
{
// 1.判断地址是否重复
List
<
ReceiveAddressEntity
>
receiveAddressEntityList
=
this
.
getAddressByName
(
form
.
getOwnerId
(),
form
.
getAddressName
());
if
(
0
<
receiveAddressEntityList
.
size
())
{
throw
new
EException
(
1001
,
errorMessageComponent
.
getGoodsOwnerReceiveAddressAdd1001
());
}
// 2.获取地址编码
JSONObject
batchIdReqJson
=
new
JSONObject
();
batchIdReqJson
.
put
(
"prefix"
,
"SH"
);
batchIdReqJson
.
put
(
"formatter"
,
"yyyyMMdd"
);
batchIdReqJson
.
put
(
"length"
,
13
);
JSONObject
batchIdResJson
;
try
{
batchIdResJson
=
FeignUtils
.
getFeignResultData
(
feignBaseService
.
getBatchId
(
batchIdReqJson
));
}
catch
(
Exception
e
)
{
log
.
error
(
"调用[基础服务]生成收货地址编号失败"
);
throw
new
EException
(
"生成收货地址编号时发生错误"
);
}
String
addressNumber
=
batchIdResJson
.
getString
(
"batchId"
);
// 3.新增地址
ReceiveAddressEntity
addressEntity
=
new
ReceiveAddressEntity
();
BeanUtils
.
copyProperties
(
form
,
addressEntity
);
addressEntity
.
setAddressNumber
(
addressNumber
);
if
(
StringUtils
.
isNotBlank
(
form
.
getLon
()))
{
addressEntity
.
setLon
(
new
BigDecimal
(
form
.
getLon
()));
}
if
(
StringUtils
.
isNotBlank
(
form
.
getLat
()))
{
addressEntity
.
setLat
(
new
BigDecimal
(
form
.
getLat
()));
}
this
.
baseMapper
.
insert
(
addressEntity
);
return
addressEntity
.
getId
();
}
@Override
public
int
editAddress
(
ReceiveAddressForm
form
)
{
// 1.判断ID是否有效
ReceiveAddressEntity
entity
=
this
.
baseMapper
.
selectById
(
form
.
getId
());
if
(
null
==
entity
)
{
throw
new
EException
(
1001
,
errorMessageComponent
.
getGoodsOwnerReceiveAddressEdit1001
());
}
// 2.判断地址是否重复
QueryWrapper
<
ReceiveAddressEntity
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
ne
(
"id"
,
form
.
getId
());
queryWrapper
.
eq
(
"owner_id"
,
form
.
getOwnerId
());
queryWrapper
.
eq
(
"address_name"
,
form
.
getAddressName
());
List
<
ReceiveAddressEntity
>
receiveAddressEntityList
=
this
.
baseMapper
.
selectList
(
queryWrapper
);
if
(
0
<
receiveAddressEntityList
.
size
())
{
throw
new
EException
(
1002
,
errorMessageComponent
.
getGoodsOwnerReceiveAddressEdit1002
());
}
// 3.更新地址
ReceiveAddressEntity
updateEntity
=
new
ReceiveAddressEntity
();
BeanUtils
.
copyProperties
(
form
,
updateEntity
);
if
(
StringUtils
.
isNotBlank
(
form
.
getLon
()))
{
updateEntity
.
setLon
(
new
BigDecimal
(
form
.
getLon
()));
}
if
(
StringUtils
.
isNotBlank
(
form
.
getLat
()))
{
updateEntity
.
setLat
(
new
BigDecimal
(
form
.
getLat
()));
}
int
flag
=
this
.
baseMapper
.
updateById
(
updateEntity
);
return
flag
;
}
@Override
public
int
deleteAddress
(
DeleteAddressForm
form
)
{
String
[]
ids
=
form
.
getId
().
split
(
","
);
int
count
=
this
.
baseMapper
.
deleteBatchIds
(
Arrays
.
asList
(
ids
));
return
count
;
}
@Override
public
ReceiveAddressVO
getAddressDetail
(
ReceiveAddressForm
form
)
{
// 1.判断ID是否有效
ReceiveAddressEntity
entity
=
this
.
baseMapper
.
selectById
(
form
.
getId
());
if
(
null
==
entity
)
{
throw
new
EException
(
1001
,
errorMessageComponent
.
getGoodsOwnerReceiveAddressDetail1001
());
}
// 数据转换
ReceiveAddressVO
addressVO
=
new
ReceiveAddressVO
();
BeanUtils
.
copyProperties
(
entity
,
addressVO
);
return
addressVO
;
}
@Override
public
List
<
AddressBriefVO
>
getAllAddress
(
ReceiveAddressForm
form
)
{
// 查询
QueryWrapper
<
ReceiveAddressEntity
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"owner_id"
,
form
.
getOwnerId
());
List
<
ReceiveAddressEntity
>
receiveAddressEntityList
=
this
.
baseMapper
.
selectList
(
queryWrapper
);
// 数据转换
List
<
AddressBriefVO
>
addressBriefVOList
=
new
ArrayList
<>();
receiveAddressEntityList
.
forEach
(
entity
->
{
AddressBriefVO
vo
=
new
AddressBriefVO
();
BeanUtils
.
copyProperties
(
entity
,
vo
);
addressBriefVOList
.
add
(
vo
);
});
return
addressBriefVOList
;
}
@Override
public
List
<
ReceiveAddressEntity
>
getAddressByName
(
Long
ownerId
,
String
addressName
)
{
QueryWrapper
<
ReceiveAddressEntity
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"owner_id"
,
ownerId
);
queryWrapper
.
eq
(
"address_name"
,
addressName
);
return
this
.
getBaseMapper
().
selectList
(
queryWrapper
);
}
@Override
public
PageResultVO
selectAddressList
(
ReceiveAddressForm
form
)
{
// 分页查询
Map
<
String
,
Object
>
queryObj
=
new
HashMap
<>(
3
);
if
(
StringUtils
.
isNotBlank
(
form
.
getKeywords
()))
{
queryObj
.
put
(
"keywords"
,
form
.
getKeywords
());
}
if
(
StringUtils
.
isNotBlank
(
form
.
getProvinceCode
()))
{
queryObj
.
put
(
"provinceCode"
,
form
.
getProvinceCode
());
}
if
(
StringUtils
.
isNotBlank
(
form
.
getCityCode
()))
{
queryObj
.
put
(
"cityCode"
,
form
.
getCityCode
());
}
IPage
<
ReceiveAddressDto
>
page
=
new
Page
<>(
form
.
getPageNum
(),
form
.
getPageSize
());
this
.
baseMapper
.
selectAddressList
(
page
,
queryObj
);
// 数据转换
List
<
ReceiveAddressDto
>
addressDtoList
=
page
.
getRecords
();
List
<
ReceiveAddressListVO
>
addressListVOList
=
new
ArrayList
<>();
addressDtoList
.
forEach
(
entity
->
{
ReceiveAddressListVO
vo
=
new
ReceiveAddressListVO
();
BeanUtils
.
copyProperties
(
entity
,
vo
);
vo
.
setCreateTime
(
entity
.
getCreateTime
().
getTime
());
if
(
GoodsOwnerConstants
.
OWNER_TYPE_PERSONAL
.
equals
(
entity
.
getOwnerType
()))
{
vo
.
setGoodsOwnerName
(
entity
.
getContactor
());
}
else
{
vo
.
setGoodsOwnerName
(
entity
.
getOwnerFullName
());
}
addressListVOList
.
add
(
vo
);
});
return
new
PageResultVO
(
page
,
addressListVOList
);
}
}
\ No newline at end of file
src/main/java/com/esv/freight/customer/module/goodsowner/vo/
Delivery
AddressBriefVO.java
→
src/main/java/com/esv/freight/customer/module/goodsowner/vo/AddressBriefVO.java
View file @
80e5931c
...
...
@@ -7,14 +7,14 @@ import org.apache.commons.lang3.builder.ToStringStyle;
/**
* @description:
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.goodsowner.vo.
Delivery
AddressBriefVO
* @name: com.esv.freight.customer.module.goodsowner.vo.AddressBriefVO
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/21 19:39
* @version:1.0
*/
@Data
public
class
Delivery
AddressBriefVO
{
public
class
AddressBriefVO
{
/**
*
...
...
src/main/java/com/esv/freight/customer/module/goodsowner/vo/ReceiveAddressListVO.java
0 → 100644
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
vo
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
/**
* @description:
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.goodsowner.vo.ReceiveAddressListVO
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/21 19:39
* @version:1.0
*/
@Data
public
class
ReceiveAddressListVO
{
/**
*
*/
private
Long
id
;
/**
* 地址编码
*/
private
String
goodsOwnerName
;
/**
* 地址编码
*/
private
String
addressNumber
;
/**
* 地址名称
*/
private
String
addressName
;
/**
* 省份代码
*/
private
String
provinceCode
;
/**
* 市代码
*/
private
String
cityCode
;
/**
* 区县代码
*/
private
String
districtCode
;
/**
* 详细地址
*/
private
String
detailAddress
;
/**
* 收货人
*/
private
String
receiver
;
/**
* 收货人电话
*/
private
String
receiverPhone
;
/**
* 收货人座机
*/
private
String
receiverTelephone
;
/**
*
*/
private
String
createUser
;
/**
*
*/
private
Long
createTime
;
@Override
public
String
toString
()
{
return
ToStringBuilder
.
reflectionToString
(
this
,
ToStringStyle
.
JSON_STYLE
);
}
}
src/main/java/com/esv/freight/customer/module/goodsowner/vo/ReceiveAddressVO.java
0 → 100644
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
vo
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
java.math.BigDecimal
;
/**
* @description:
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.goodsowner.vo.ReceiveAddressVO
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/21 19:39
* @version:1.0
*/
@Data
public
class
ReceiveAddressVO
{
/**
*
*/
private
Long
id
;
/**
* 地址编码
*/
private
String
addressNumber
;
/**
* 地址名称
*/
private
String
addressName
;
/**
* 省份代码
*/
private
String
provinceCode
;
/**
* 市代码
*/
private
String
cityCode
;
/**
* 区县代码
*/
private
String
districtCode
;
/**
* 详细地址
*/
private
String
detailAddress
;
/**
* 收货人
*/
private
String
receiver
;
/**
* 收货人电话
*/
private
String
receiverPhone
;
/**
* 收货人座机
*/
private
String
receiverTelephone
;
/**
* 经度
*/
private
BigDecimal
lon
;
/**
* 纬度
*/
private
BigDecimal
lat
;
@Override
public
String
toString
()
{
return
ToStringBuilder
.
reflectionToString
(
this
,
ToStringStyle
.
JSON_STYLE
);
}
}
src/main/resources/application-dev.yml
View file @
80e5931c
...
...
@@ -79,3 +79,11 @@ error-message:
1002
:
重复的地址名称
detail
:
1001
:
无效的地址ID
receive-address
:
add
:
1001
:
重复的地址名称
edit
:
1001
:
无效的地址ID
1002
:
重复的地址名称
detail
:
1001
:
无效的地址ID
\ No newline at end of file
src/main/resources/mapper/goodsowner/DeliveryAddressDao.xml
View file @
80e5931c
...
...
@@ -46,7 +46,7 @@
or b.owner_brief_name like CONCAT('%',#{queryObj.keywords},'%')
or b.contactor like CONCAT('%',#{queryObj.keywords},'%'))
</if>
ORDER BY a.update_time DESC
ORDER BY a.update_time DESC
, address_name ASC
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/goodsowner/ReceiveAddressDao.xml
View file @
80e5931c
...
...
@@ -28,6 +28,25 @@
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<!-- 分页查询地址列表 -->
<select
id=
"selectAddressList"
parameterType=
"java.util.Map"
resultType=
"com.esv.freight.customer.module.goodsowner.dto.ReceiveAddressDto"
>
select a.*, b.owner_type, b.owner_full_name, b.contactor
from goods_owner_receive_address a, goods_owner_info b
where a.owner_id = b.account_id
<if
test=
"queryObj.provinceCode != null"
>
and b.province_code = #{queryObj.provinceCode}
</if>
<if
test=
"queryObj.cityCode != null"
>
and b.city_code = #{queryObj.cityCode}
</if>
<if
test=
"queryObj.keywords != null"
>
and (a.address_name like CONCAT('%',#{queryObj.keywords},'%')
or b.owner_full_name like CONCAT('%',#{queryObj.keywords},'%')
or b.owner_brief_name like CONCAT('%',#{queryObj.keywords},'%')
or b.contactor like CONCAT('%',#{queryObj.keywords},'%'))
</if>
ORDER BY a.update_time DESC, address_name ASC
</select>
</mapper>
\ No newline at end of file
src/test/java/com/esv/freight/customer/module/goodsowner/controller/DeliveryAddressControllerTest.java
View file @
80e5931c
...
...
@@ -115,7 +115,7 @@ public class DeliveryAddressControllerTest extends BaseTestController {
}
/**
* 新增发货地址:
地址名称重复
* 新增发货地址:
参数错误
**/
@Test
@Rollback
...
...
src/test/java/com/esv/freight/customer/module/goodsowner/controller/ReceiveAddressControllerTest.java
0 → 100644
View file @
80e5931c
package
com
.
esv
.
freight
.
customer
.
module
.
goodsowner
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.esv.freight.customer.BaseTestController
;
import
com.esv.freight.customer.common.response.ECode
;
import
com.esv.freight.customer.module.goodsowner.form.DeleteAddressForm
;
import
com.esv.freight.customer.module.goodsowner.form.DeliveryAddressForm
;
import
com.esv.freight.customer.module.goodsowner.form.ReceiveAddressForm
;
import
lombok.extern.slf4j.Slf4j
;
import
org.junit.Assert
;
import
org.junit.FixMethodOrder
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.MethodSorters
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.http.MediaType
;
import
org.springframework.test.annotation.Rollback
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.test.web.servlet.MvcResult
;
import
org.springframework.test.web.servlet.request.MockMvcRequestBuilders
;
import
org.springframework.test.web.servlet.result.MockMvcResultHandlers
;
import
org.springframework.test.web.servlet.result.MockMvcResultMatchers
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* @description:
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.goodsowner.controller.ReceiveAddressControllerTest
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/21 16:57
* @version:1.0
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
@Slf4j
@FixMethodOrder
(
MethodSorters
.
NAME_ASCENDING
)
@Transactional
@Rollback
(
false
)
public
class
ReceiveAddressControllerTest
extends
BaseTestController
{
/**
* 新增收货地址
**/
@Test
public
void
a1_add_success_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/add"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setOwnerId
(
1L
);
form
.
setAddressName
(
"黄朝斌-收货地址-测试"
);
form
.
setProvinceCode
(
"210000"
);
form
.
setCityCode
(
"210100"
);
form
.
setDistrictCode
(
"210103"
);
form
.
setDetailAddress
(
"朝阳街少帅府巷46号"
);
form
.
setReceiver
(
"张作霖"
);
form
.
setReceiverPhone
(
"13912340001"
);
form
.
setReceiverTelephone
(
"(024)24850576"
);
form
.
setLon
(
"123.464052"
);
form
.
setLat
(
"41.800415"
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
ECode
.
SUCCESS
.
code
(),
result
.
getIntValue
(
"code"
));
Assert
.
assertTrue
(
result
.
getJSONObject
(
"data"
).
containsKey
(
"id"
));
}
/**
* 新增收货地址:地址名称重复
**/
@Test
@Rollback
public
void
a2_add_repeat_addressName_failure_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/add"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setOwnerId
(
1L
);
form
.
setAddressName
(
"黄朝斌-收货地址-测试"
);
form
.
setProvinceCode
(
"210000"
);
form
.
setCityCode
(
"210100"
);
form
.
setDistrictCode
(
"210103"
);
form
.
setDetailAddress
(
"朝阳街少帅府巷46号"
);
form
.
setReceiver
(
"张作霖"
);
form
.
setReceiverPhone
(
"13912340001"
);
form
.
setReceiverTelephone
(
"(024)24850576"
);
form
.
setLon
(
"123.464052"
);
form
.
setLat
(
"41.800415"
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
1001
,
result
.
getIntValue
(
"code"
));
}
/**
* 新增收货地址:参数错误
**/
@Test
@Rollback
public
void
a3_add_wrong_param_failure_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/add"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setOwnerId
(
1L
);
// form.setAddressName("黄朝斌-收货地址-测试");
// form.setProvinceCode("210000");
// form.setCityCode("210100");
// form.setDistrictCode("210103");
// form.setDetailAddress("朝阳街少帅府巷46号");
form
.
setReceiver
(
"张作霖"
);
form
.
setReceiverPhone
(
"13912340001"
);
form
.
setReceiverTelephone
(
"(024)24850576"
);
form
.
setLon
(
"123.464052"
);
form
.
setLat
(
"41.800415"
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
ECode
.
PARAM_ERROR
.
code
(),
result
.
getIntValue
(
"code"
));
}
/**
* 编辑收货地址
**/
@Test
public
void
b1_edit_success_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/edit"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setId
(
3L
);
form
.
setOwnerId
(
1L
);
form
.
setAddressName
(
"黄朝斌-收货地址-测试01"
);
form
.
setProvinceCode
(
"210000"
);
form
.
setCityCode
(
"210100"
);
form
.
setDistrictCode
(
"210103"
);
form
.
setDetailAddress
(
"朝阳街少帅府巷46号"
);
form
.
setReceiver
(
"张学良"
);
form
.
setReceiverPhone
(
"13912340003"
);
form
.
setReceiverTelephone
(
"(024)24850576"
);
form
.
setLon
(
"123.464053"
);
form
.
setLat
(
"41.800416"
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
ECode
.
SUCCESS
.
code
(),
result
.
getIntValue
(
"code"
));
}
/**
* 编辑收货地址:无效的ID
**/
@Test
@Rollback
public
void
b2_edit_wrong_id_failure_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/edit"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setId
(
99999L
);
form
.
setOwnerId
(
1L
);
form
.
setAddressName
(
"黄朝斌-收货地址-测试01"
);
form
.
setProvinceCode
(
"210000"
);
form
.
setCityCode
(
"210100"
);
form
.
setDistrictCode
(
"210103"
);
form
.
setDetailAddress
(
"朝阳街少帅府巷46号"
);
form
.
setReceiver
(
"张学良"
);
form
.
setReceiverPhone
(
"13912340003"
);
form
.
setReceiverTelephone
(
"(024)24850576"
);
form
.
setLon
(
"123.464053"
);
form
.
setLat
(
"41.800416"
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
1001
,
result
.
getIntValue
(
"code"
));
}
/**
* 编辑收货地址:地址名称重复
**/
@Test
@Rollback
public
void
b3_edit_wrong_addressName_failure_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/edit"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setId
(
3L
);
form
.
setOwnerId
(
1L
);
form
.
setAddressName
(
"收货地址"
);
form
.
setProvinceCode
(
"210000"
);
form
.
setCityCode
(
"210100"
);
form
.
setDistrictCode
(
"210103"
);
form
.
setDetailAddress
(
"朝阳街少帅府巷46号"
);
form
.
setReceiver
(
"张学良"
);
form
.
setReceiverPhone
(
"13912340003"
);
form
.
setReceiverTelephone
(
"(024)24850576"
);
form
.
setLon
(
"123.464053"
);
form
.
setLat
(
"41.800416"
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
1002
,
result
.
getIntValue
(
"code"
));
}
/**
* 删除收货地址
**/
@Test
@Rollback
public
void
c1_delete_success_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/delete"
;
// 构造数据
DeleteAddressForm
form
=
new
DeleteAddressForm
();
form
.
setId
(
"1,2,3,4,5"
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
ECode
.
SUCCESS
.
code
(),
result
.
getIntValue
(
"code"
));
Assert
.
assertTrue
(
result
.
getJSONObject
(
"data"
).
containsKey
(
"count"
));
}
/**
* 查看收货地址详情
**/
@Test
@Rollback
public
void
d1_detail_success_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/detail"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setId
(
3L
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
ECode
.
SUCCESS
.
code
(),
result
.
getIntValue
(
"code"
));
Assert
.
assertFalse
(
result
.
getJSONObject
(
"data"
).
isEmpty
());
}
/**
* 查看收货地址详情:无效的ID
**/
@Test
@Rollback
public
void
d2_detail_wrong_id_failure_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/detail"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setId
(
9999L
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
1001
,
result
.
getIntValue
(
"code"
));
}
/**
* 获取所有收货地址列表
**/
@Test
@Rollback
public
void
e1_all_success_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/all"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setOwnerId
(
1L
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
ECode
.
SUCCESS
.
code
(),
result
.
getIntValue
(
"code"
));
Assert
.
assertFalse
(
result
.
getJSONArray
(
"data"
).
isEmpty
());
}
/**
* 分页查询收货地址列表
**/
@Test
public
void
f1_list_success_test
()
throws
Exception
{
String
url
=
"/goodsowner/receive/address/list"
;
// 构造数据
ReceiveAddressForm
form
=
new
ReceiveAddressForm
();
form
.
setPageNum
(
1
);
form
.
setPageSize
(
10
);
JSONObject
reqJson
=
JSONObject
.
parseObject
(
form
.
toString
());
MvcResult
mvcResult
=
this
.
getMockMvc
().
perform
(
MockMvcRequestBuilders
.
post
(
url
)
.
contentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
.
headers
(
this
.
getDefaultHttpHeaders
())
.
content
(
reqJson
.
toJSONString
()))
.
andDo
(
MockMvcResultHandlers
.
print
())
.
andExpect
(
MockMvcResultMatchers
.
status
().
isOk
())
.
andReturn
();
String
responseStr
=
mvcResult
.
getResponse
().
getContentAsString
();
log
.
info
(
responseStr
);
JSONObject
result
=
JSONObject
.
parseObject
(
responseStr
);
Assert
.
assertEquals
(
ECode
.
SUCCESS
.
code
(),
result
.
getIntValue
(
"code"
));
Assert
.
assertTrue
(
result
.
getJSONObject
(
"data"
).
containsKey
(
"records"
));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment