Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
feb18e03
Commit
feb18e03
authored
Jan 07, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构
parent
8cf0b488
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
514 additions
and
69 deletions
+514
-69
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/ServiceBOAdapter.java
+67
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/constant/ResponseConstant.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/controller/ShoppingCartController.java
+19
-4
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/ResponseBuilder.java
+27
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/BaseAddGoodsBO.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/BaseAddGoodsVO.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/MCoffeeAddGoodsBO.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/MallAddGoodsBO.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/PlatformAddGoodsBO.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/AddGoodsBaseResponseVO.java
+15
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/goods/add/AddGoodsRequestDTO.java
+2
-1
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/goods/add/MCoffeeAddGoodsResponseVOAddGoods.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/goods/add/PlatformAddGoodsResponseVOAddGoods.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/factory/ServiceBoFactory.java
+0
-46
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/factory/ServiceFactory.java
+0
-14
shopping-cart-application-service/src/main/java/cn/freemud/demo/enums/BizTypeEnum.java
+30
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/factory/ServiceFactory.java
+12
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/AbstractAddGoodsService.java
+161
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/CheckAddGoodsService.java
+123
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/TestImpl.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/utils/BizTypeUtil.java
+24
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/ServiceBOAdapter.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
adapter
;
import
cn.freemud.demo.entities.bo.goods.add.*
;
import
cn.freemud.demo.entities.dto.goods.add.AddGoodsRequestDTO
;
import
cn.freemud.demo.enums.BizTypeEnum
;
import
cn.freemud.enums.OrderChannelType
;
import
com.alibaba.fastjson.JSON
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ServiceBOAdapter
{
public
BaseAddGoodsBO
convert2AddGoodsBO
(
String
bizType
,
AddGoodsRequestDTO
baseRequestDTO
)
{
BaseAddGoodsBO
baseAddGoodsBO
;
if
(
BizTypeEnum
.
MAIL
.
getCode
().
equals
(
bizType
)){
baseAddGoodsBO
=
createMallBO
(
baseRequestDTO
);
}
else
if
(
BizTypeEnum
.
MCOFFEE
.
getCode
().
equals
(
bizType
))
{
baseAddGoodsBO
=
createMCoffeeBO
(
baseRequestDTO
);
}
else
{
baseAddGoodsBO
=
createPlatformBO
(
baseRequestDTO
);
}
return
baseAddGoodsBO
;
}
public
BaseAddGoodsVO
convert2AddGoodsVO
(
String
bizType
,
BaseAddGoodsBO
baseAddGoodsBO
)
{
BaseAddGoodsVO
baseAddGoodsVO
;
if
(
BizTypeEnum
.
MAIL
.
getCode
().
equals
(
bizType
)){
baseAddGoodsVO
=
createMallBO
(
baseAddGoodsBO
);
}
else
if
(
BizTypeEnum
.
MCOFFEE
.
getCode
().
equals
(
bizType
))
{
baseAddGoodsVO
=
createMCoffeeBO
(
baseAddGoodsBO
);
}
else
{
baseAddGoodsVO
=
createPlatformBO
(
baseAddGoodsBO
);
}
return
baseAddGoodsVO
;
}
private
MallAddGoodsBO
createPlatformBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
MallAddGoodsBO
mallAddGoodsBO
=
new
MallAddGoodsBO
();
return
mallAddGoodsBO
;
}
private
MCoffeeAddGoodsBO
createMCoffeeBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
MCoffeeAddGoodsBO
mCoffeeAddGoodsBO
=
new
MCoffeeAddGoodsBO
();
return
mCoffeeAddGoodsBO
;
}
private
BaseAddGoodsBO
createMallBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
PlatformAddGoodsBO
platformAddGoodsBO
=
new
PlatformAddGoodsBO
();
return
platformAddGoodsBO
;
}
private
MallAddGoodsBO
createPlatformVO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
MallAddGoodsBO
mallAddGoodsBO
=
new
MallAddGoodsBO
();
return
mallAddGoodsBO
;
}
private
MCoffeeAddGoodsBO
createMCoffeeVO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
MCoffeeAddGoodsBO
mCoffeeAddGoodsBO
=
new
MCoffeeAddGoodsBO
();
return
mCoffeeAddGoodsBO
;
}
private
BaseAddGoodsBO
createMallVO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
PlatformAddGoodsBO
platformAddGoodsBO
=
new
PlatformAddGoodsBO
();
return
platformAddGoodsBO
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/constant/ResponseConstant.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
constant
;
public
class
ResponseConstant
{
public
final
static
String
RESPONSE_SUCCESS_STR
=
"100"
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/controller/ShoppingCartController.java
View file @
feb18e03
...
@@ -13,8 +13,13 @@
...
@@ -13,8 +13,13 @@
package
cn
.
freemud
.
demo
.
controller
;
package
cn
.
freemud
.
demo
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.demo.entities.bo.BaseAddGoodsBO
;
import
cn.freemud.demo.adapter.ServiceBOAdapter
;
import
cn.freemud.demo.entities.factory.ServiceBoFactory
;
import
cn.freemud.demo.entities.bo.goods.add.BaseAddGoodsBO
;
import
cn.freemud.demo.entities.dto.goods.add.AddGoodsRequestDTO
;
import
cn.freemud.demo.enums.BizTypeEnum
;
import
cn.freemud.demo.factory.ServiceFactory
;
import
cn.freemud.demo.service.AbstractAddGoodsService
;
import
cn.freemud.demo.utils.BizTypeUtil
;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.OrderChannelType
;
...
@@ -25,6 +30,7 @@ import cn.freemud.service.impl.ShoppingCartMealServiceImpl;
...
@@ -25,6 +30,7 @@ import cn.freemud.service.impl.ShoppingCartMealServiceImpl;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartToolsServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartToolsServiceImpl
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
...
@@ -51,16 +57,25 @@ public class ShoppingCartController {
...
@@ -51,16 +57,25 @@ public class ShoppingCartController {
@Autowired
@Autowired
private
AssortmentCustomerInfoManager
customerInfoManager
;
private
AssortmentCustomerInfoManager
customerInfoManager
;
@Autowired
private
ServiceBOAdapter
serviceBOAdapter
;
/**
/**
* 向购物车中添加商品
* 向购物车中添加商品
*/
*/
@ApiAnnotation
(
logMessage
=
"addGoods"
)
@ApiAnnotation
(
logMessage
=
"addGoods"
)
@PostMapping
(
value
=
"/addGoods"
)
@PostMapping
(
value
=
"/addGoods"
)
public
BaseResponse
addGoods
(
@LogParams
@RequestBody
String
params
)
{
public
BaseResponse
addGoods
(
@LogParams
@RequestBody
String
params
)
{
BaseAddGoodsBO
addGoodsBOInstance
=
ServiceBoFactory
.
createAddGoodsBOInstance
(
params
);
AddGoodsRequestDTO
baseRequestDTO
=
JSON
.
parseObject
(
params
,
AddGoodsRequestDTO
.
class
);
BizTypeEnum
bizType
=
BizTypeUtil
.
getBizType
(
baseRequestDTO
);
BaseAddGoodsBO
addGoodsBOInstance
=
serviceBOAdapter
.
convert2AddGoodsBO
(
bizType
.
getCode
(),
baseRequestDTO
);
AbstractAddGoodsService
addGoodsServiceInstance
=
ServiceFactory
.
createAddGoodsServiceInstance
(
bizType
.
getCode
());
BaseAddGoodsBO
addGoodsResponse
=
addGoodsServiceInstance
.
addGoods
(
addGoodsBOInstance
);
return
getInstanceByRequest
(
request
).
addGoods
(
request
);
BaseAddGoodsBO
addGoodsBOInstance
=
serviceBOAdapter
.
convert2AddGoodsVO
(
bizType
.
getCode
(),
addGoodsResponse
);
}
}
/**
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/ResponseBuilder.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
;
import
cn.freemud.base.entity.BaseResponse
;
public
class
ResponseBuilder
{
private
final
static
String
DEFAULT_VER
=
"1"
;
private
final
static
String
SUCCESS_CODE
=
"100"
;
private
final
static
String
SUCCESS_MESSAGE
=
"SUCCESS"
;
/**
* 无业务响应参数成功返回
* @return
*/
public
static
BaseResponse
success
()
{
return
new
BaseResponse
(
DEFAULT_VER
,
SUCCESS_CODE
,
SUCCESS_MESSAGE
);
}
/**
* 带有业务响应参数成功返回
* @return
*/
public
static
<
T
>
BaseResponse
success
(
T
t
)
{
return
new
BaseResponse
(
SUCCESS_CODE
,
SUCCESS_MESSAGE
,
DEFAULT_VER
,
t
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/BaseAddGoodsBO.java
→
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/
goods/add/
BaseAddGoodsBO.java
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
bo
;
package
cn
.
freemud
.
demo
.
entities
.
bo
.
goods
.
add
;
public
class
BaseAddGoodsBO
{
public
class
BaseAddGoodsBO
{
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/BaseAddGoodsVO.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
bo
.
goods
.
add
;
public
class
BaseAddGoodsVO
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/MCoffeeAddGoodsBO.java
→
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/
goods/add/
MCoffeeAddGoodsBO.java
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
bo
;
package
cn
.
freemud
.
demo
.
entities
.
bo
.
goods
.
add
;
public
class
MCoffeeAddGoodsBO
extends
BaseAddGoodsBO
{
public
class
MCoffeeAddGoodsBO
extends
BaseAddGoodsBO
{
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/MallAddGoodsBO.java
→
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/
goods/add/
MallAddGoodsBO.java
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
bo
;
package
cn
.
freemud
.
demo
.
entities
.
bo
.
goods
.
add
;
public
class
MallAddGoodsBO
extends
BaseAddGoodsBO
{
public
class
MallAddGoodsBO
extends
BaseAddGoodsBO
{
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/PlatformAddGoodsBO.java
→
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/
goods/add/
PlatformAddGoodsBO.java
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
bo
;
package
cn
.
freemud
.
demo
.
entities
.
bo
.
goods
.
add
;
public
class
PlatformAddGoodsBO
extends
BaseAddGoodsBO
{
public
class
PlatformAddGoodsBO
extends
BaseAddGoodsBO
{
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/AddGoodsBaseResponseVO.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
dto
;
public
class
AddGoodsBaseResponseVO
{
/**
* 前端用来提示的信息
*/
private
String
toastMsg
;
/**
* 购物车中商品价格或有效性是否发生变化
*/
private
Boolean
changed
;
private
String
uid
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/AddGoodsRequestDTO.java
→
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/
goods/add/
AddGoodsRequestDTO.java
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
dto
;
package
cn
.
freemud
.
demo
.
entities
.
dto
.
goods
.
add
;
import
cn.freemud.demo.entities.dto.BaseRequestDTO
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ComboxGoodsRequestVo
;
import
cn.freemud.entities.vo.ComboxGoodsRequestVo
;
import
cn.freemud.entities.vo.MaterialRequestVo
;
import
cn.freemud.entities.vo.MaterialRequestVo
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/goods/add/MCoffeeAddGoodsResponseVOAddGoods.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
dto
.
goods
.
add
;
import
cn.freemud.demo.entities.dto.AddGoodsBaseResponseVO
;
public
class
MCoffeeAddGoodsResponseVOAddGoods
extends
AddGoodsBaseResponseVO
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/goods/add/PlatformAddGoodsResponseVOAddGoods.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
entities
.
dto
.
goods
.
add
;
import
cn.freemud.demo.entities.dto.AddGoodsBaseResponseVO
;
public
class
PlatformAddGoodsResponseVOAddGoods
extends
AddGoodsBaseResponseVO
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/factory/ServiceBoFactory.java
deleted
100644 → 0
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
factory
;
import
cn.freemud.demo.entities.bo.BaseAddGoodsBO
;
import
cn.freemud.demo.entities.bo.MCoffeeAddGoodsBO
;
import
cn.freemud.demo.entities.bo.MallAddGoodsBO
;
import
cn.freemud.demo.entities.bo.PlatformAddGoodsBO
;
import
cn.freemud.demo.entities.dto.AddGoodsRequestDTO
;
import
cn.freemud.demo.entities.dto.BaseRequestDTO
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.service.impl.ShoppingCartMallServiceImpl
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
public
class
ServiceBoFactory
{
private
final
static
String
macafePartnerId
=
""
;
public
static
BaseAddGoodsBO
createAddGoodsBOInstance
(
String
params
)
{
BaseAddGoodsBO
baseAddGoodsBO
;
AddGoodsRequestDTO
baseRequestDTO
=
JSON
.
parseObject
(
params
,
AddGoodsRequestDTO
.
class
);
if
(
baseRequestDTO
.
getChannelType
()
!=
null
&&
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
baseRequestDTO
.
getChannelType
())){
baseAddGoodsBO
=
createMallBO
(
baseRequestDTO
);
}
else
if
(
baseRequestDTO
.
getPartnerId
().
equals
(
macafePartnerId
))
{
baseAddGoodsBO
=
createMCoffeeBO
(
baseRequestDTO
);
}
else
{
baseAddGoodsBO
=
createPlatformBO
(
baseRequestDTO
);
}
return
baseAddGoodsBO
;
}
private
static
MallAddGoodsBO
createPlatformBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
MallAddGoodsBO
mallAddGoodsBO
=
new
MallAddGoodsBO
();
return
mallAddGoodsBO
;
}
private
static
MCoffeeAddGoodsBO
createMCoffeeBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
MCoffeeAddGoodsBO
mCoffeeAddGoodsBO
=
new
MCoffeeAddGoodsBO
();
return
mCoffeeAddGoodsBO
;
}
private
static
BaseAddGoodsBO
createMallBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
PlatformAddGoodsBO
platformAddGoodsBO
=
new
PlatformAddGoodsBO
();
return
platformAddGoodsBO
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/factory/ServiceFactory.java
deleted
100644 → 0
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
factory
;
import
cn.freemud.demo.entities.bo.BaseAddGoodsBO
;
import
cn.freemud.demo.entities.dto.AddGoodsRequestDTO
;
import
cn.freemud.enums.OrderChannelType
;
import
com.alibaba.fastjson.JSON
;
public
class
ServiceFactory
{
public
static
BaseAddGoodsBO
createAddGoodsBOInstance
(
String
params
)
{
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/enums/BizTypeEnum.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
enums
;
import
lombok.Data
;
public
enum
BizTypeEnum
{
MCOFFEE
(
"mcoffee"
,
"麦咖啡"
),
PLATFORM
(
"platform"
,
"平台"
),
MAIL
(
"mall"
,
"商城"
)
;
private
String
code
;
private
String
message
;
BizTypeEnum
(
String
code
,
String
message
)
{
this
.
code
=
code
;
this
.
message
=
message
;
}
public
String
getCode
()
{
return
code
;
}
public
String
getMessage
()
{
return
message
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/factory/ServiceFactory.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
factory
;
import
cn.freemud.demo.entities.bo.goods.add.BaseAddGoodsBO
;
import
cn.freemud.demo.service.AbstractAddGoodsService
;
public
class
ServiceFactory
{
public
static
AbstractAddGoodsService
createAddGoodsServiceInstance
(
String
bizType
)
{
return
null
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/AbstractAddGoodsService.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.demo.constant.ResponseConstant
;
import
cn.freemud.demo.entities.ResponseBuilder
;
import
cn.freemud.demo.entities.bo.goods.add.BaseAddGoodsBO
;
import
cn.freemud.demo.entities.dto.AddGoodsBaseResponseVO
;
public
abstract
class
AbstractAddGoodsService
implements
CheckAddGoodsService
{
/**
* 组织订单的创建流程
*
* @return
*/
public
final
BaseAddGoodsBO
addGoods
(
BaseAddGoodsBO
addGoodsBO
)
{
// 基本参数校验
this
.
checkParams
(
addGoodsBO
);
// 获取购物车和加车商品信息
this
.
getShoppingCartInfo
(
addGoodsBO
);
// 业务校验,例如商品数量库存之类的信息
this
.
checkBusinessRules
(
addGoodsBO
);
// 添加商品到购物车
this
.
addGoodsToShoppingCart
(
addGoodsBO
);
// 计算费用,例如配送费
this
.
calCost
(
addGoodsBO
);
// 提示语设置,例如满减信息
this
.
setMessage
(
addGoodsBO
);
// 拼装返回体
this
.
buildResponse
(
addGoodsBO
);
return
addGoodsBO
;
}
/**
* 计算不在促销计算范围里的费用
* @param addGoodsBO
* @return
*/
public
final
BaseResponse
calCost
(
BaseAddGoodsBO
addGoodsBO
)
{
BaseResponse
commonBaseResponse
=
this
.
calCommCost
(
addGoodsBO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
commonBaseResponse
.
getCode
())){
return
commonBaseResponse
;
}
BaseResponse
customBaseResponse
=
this
.
calCustomCost
(
addGoodsBO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
customBaseResponse
.
getCode
())){
return
customBaseResponse
;
}
return
ResponseBuilder
.
success
();
}
/**
* 设置提示语
* @param addGoodsBO
* @return
*/
public
final
BaseResponse
setMessage
(
BaseAddGoodsBO
addGoodsBO
)
{
BaseResponse
commonBaseResponse
=
this
.
setCommMessage
(
addGoodsBO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
commonBaseResponse
.
getCode
())){
return
commonBaseResponse
;
}
BaseResponse
customBaseResponse
=
this
.
setCustomMessage
(
addGoodsBO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
customBaseResponse
.
getCode
())){
return
customBaseResponse
;
}
return
ResponseBuilder
.
success
();
}
/**
* 请求基本参数校验
* @return
*/
public
final
BaseResponse
checkParams
(
BaseAddGoodsBO
baseRequestDTO
)
{
BaseResponse
commonBaseResponse
=
this
.
checkCommParams
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
commonBaseResponse
.
getCode
())){
return
commonBaseResponse
;
}
BaseResponse
customBaseResponse
=
this
.
checkCustomParams
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
customBaseResponse
.
getCode
())){
return
customBaseResponse
;
}
return
ResponseBuilder
.
success
();
}
/**
* 1. 获取加车的商品信息
* 2. 获取购物车的商品信息
*
* @return
*/
public
final
BaseResponse
getShoppingCartInfo
(
BaseAddGoodsBO
baseRequestDTO
)
{
BaseResponse
getInfoResponse
=
this
.
getShoppingCartInfo
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
getInfoResponse
.
getCode
())){
return
getInfoResponse
;
}
return
ResponseBuilder
.
success
();
}
/**
* 具体业务逻辑校验, 例如商品数量,库存等校验
*
* @return
*/
public
final
BaseResponse
checkBusinessRules
(
BaseAddGoodsBO
baseRequestDTO
)
{
BaseResponse
commonBaseResponse
=
this
.
checkCommBusinessRules
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
commonBaseResponse
.
getCode
())){
return
commonBaseResponse
;
}
BaseResponse
customBaseResponse
=
this
.
checkCustomBusinessRules
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
customBaseResponse
.
getCode
())){
return
customBaseResponse
;
}
return
ResponseBuilder
.
success
();
}
/**
* 添加商品到购物车,并重新设置购物车
*
* @return
*/
public
final
BaseResponse
addGoodsToShoppingCart
(
BaseAddGoodsBO
baseRequestDTO
)
{
BaseResponse
commonBaseResponse
=
this
.
checkCommBusinessRules
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
commonBaseResponse
.
getCode
())){
return
commonBaseResponse
;
}
BaseResponse
customBaseResponse
=
this
.
checkCustomBusinessRules
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
customBaseResponse
.
getCode
())){
return
customBaseResponse
;
}
return
ResponseBuilder
.
success
();
}
/**
* 封装返回参数
*
* @return
*/
public
final
BaseResponse
buildResponse
(
BaseAddGoodsBO
baseRequestDTO
)
{
BaseResponse
commonBaseResponse
=
this
.
buildCommResponse
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
commonBaseResponse
.
getCode
())){
return
commonBaseResponse
;
}
BaseResponse
customBaseResponse
=
this
.
buildCustomResponse
(
baseRequestDTO
);
if
(!
ResponseConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
customBaseResponse
.
getCode
())){
return
customBaseResponse
;
}
return
ResponseBuilder
.
success
();
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/CheckAddGoodsService.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.demo.entities.ResponseBuilder
;
import
cn.freemud.demo.entities.bo.goods.add.BaseAddGoodsBO
;
import
cn.freemud.demo.entities.dto.AddGoodsBaseResponseVO
;
public
interface
CheckAddGoodsService
{
/**
* 校验公共参数
* @param baseRequestDTO
* @return
*/
default
BaseResponse
checkCommParams
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO checkCommomParams
return
ResponseBuilder
.
success
();
}
/**
* 检验客制化的参数
* @param baseRequestDTO
* @return
*/
default
BaseResponse
checkCustomParams
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO checkCustomParams
return
ResponseBuilder
.
success
();
}
/**
* 进行公共的业务校验
* @param baseRequestDTO
* @return
*/
default
BaseResponse
checkCommBusinessRules
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO checkCommBusinessRules
return
ResponseBuilder
.
success
();
}
/**
* 进行客制化的业务校验
* @param baseRequestDTO
* @return
*/
default
BaseResponse
checkCustomBusinessRules
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO checkCustomBusinessRules
return
ResponseBuilder
.
success
();
}
/**
* 获取购物车信息
* @param baseRequestDTO
* @return
*/
default
BaseResponse
getShoppingCartInfo
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO getShoppingCartInfo
return
ResponseBuilder
.
success
();
}
/**
* 公共的计算费用
* @param baseRequestDTO
* @return
*/
default
BaseResponse
calCommCost
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO calCommCost
return
ResponseBuilder
.
success
();
}
/**
* 进行客制化的计算费用
* @param baseRequestDTO
* @return
*/
default
BaseResponse
calCustomCost
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO calCustomCost
return
ResponseBuilder
.
success
();
}
/**
* 公共的计算费用
* @param baseRequestDTO
* @return
*/
default
BaseResponse
setCommMessage
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO setCommMessage
return
ResponseBuilder
.
success
();
}
/**
* 进行客制化的计算费用
* @param baseRequestDTO
* @return
*/
default
BaseResponse
setCustomMessage
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO setCustomMessage
return
ResponseBuilder
.
success
();
}
/**
* 封装公共返回
* @param baseRequestDTO
* @return
*/
default
BaseResponse
buildCommResponse
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO buildCommResponse
return
ResponseBuilder
.
success
();
}
/**
* 封装客制化返回
* @param baseRequestDTO
* @return
*/
default
BaseResponse
buildCustomResponse
(
BaseAddGoodsBO
baseRequestDTO
)
{
// TODO buildCustomResponse
return
ResponseBuilder
.
success
();
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/TestImpl.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
service
;
public
class
TestImpl
extends
AbstractAddGoodsService
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/utils/BizTypeUtil.java
0 → 100644
View file @
feb18e03
package
cn
.
freemud
.
demo
.
utils
;
import
cn.freemud.demo.entities.dto.goods.add.AddGoodsRequestDTO
;
import
cn.freemud.demo.enums.BizTypeEnum
;
import
cn.freemud.enums.OrderChannelType
;
public
class
BizTypeUtil
{
private
final
static
String
macafePartnerId
=
""
;
public
static
BizTypeEnum
getBizType
(
AddGoodsRequestDTO
baseRequestDTO
){
if
(
baseRequestDTO
.
getChannelType
()
!=
null
&&
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
baseRequestDTO
.
getChannelType
())){
return
BizTypeEnum
.
MAIL
;
}
else
if
(
baseRequestDTO
.
getPartnerId
().
equals
(
macafePartnerId
))
{
return
BizTypeEnum
.
MCOFFEE
;
}
else
{
return
BizTypeEnum
.
PLATFORM
;
}
}
}
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