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
8cf0b488
Commit
8cf0b488
authored
Jan 07, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构demo
parent
1a4bf2c3
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
348 additions
and
0 deletions
+348
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/controller/ShoppingCartController.java
+149
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/BaseAddGoodsBO.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/MCoffeeAddGoodsBO.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/MallAddGoodsBO.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/PlatformAddGoodsBO.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/AddGoodsRequestDTO.java
+91
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/BaseRequestDTO.java
+32
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/factory/ServiceBoFactory.java
+46
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/factory/ServiceFactory.java
+14
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/demo/controller/ShoppingCartController.java
0 → 100644
View file @
8cf0b488
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: ShoppingCart
* @Package cn.freemud.controller
* @Description:
* @author: ping.wu
* @date: 2018/5/18 18:07
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
demo
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.demo.entities.bo.BaseAddGoodsBO
;
import
cn.freemud.demo.entities.factory.ServiceBoFactory
;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.impl.ShoppingCartMallServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMealServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartToolsServiceImpl
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
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
;
@RestController
@RequestMapping
(
value
=
"/shoppingCart/demo"
,
consumes
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
@Api
(
value
=
"购物车 controller"
,
tags
=
{
"购物车管理接口"
})
@Slf4j
public
class
ShoppingCartController
{
@Autowired
private
AssortmentCustomerInfoManager
customerInfoManager
;
/**
* 向购物车中添加商品
*/
@ApiAnnotation
(
logMessage
=
"addGoods"
)
@PostMapping
(
value
=
"/addGoods"
)
public
BaseResponse
addGoods
(
@LogParams
@RequestBody
String
params
)
{
BaseAddGoodsBO
addGoodsBOInstance
=
ServiceBoFactory
.
createAddGoodsBOInstance
(
params
);
return
getInstanceByRequest
(
request
).
addGoods
(
request
);
}
/**
* 修改购物车中商品数量
*/
@ApiAnnotation
(
logMessage
=
"updateGoodsQty"
)
@PostMapping
(
value
=
"/updateGoodsQty"
)
public
BaseResponse
updateGoodsQty
(
@Validated
@LogParams
@RequestBody
UpdateShoppingCartGoodsQtyRequestVo
request
)
{
return
getInstanceByRequest
(
request
).
updateGoodsQty
(
request
);
}
/**
* 查询购物车信息
*/
@ApiAnnotation
(
logMessage
=
"listCartGoods"
)
@PostMapping
(
value
=
"/listCartGoods"
)
public
BaseResponse
listCartGoods
(
@Validated
@LogParams
@RequestBody
ShoppingCartInfoRequestVo
request
)
{
return
getInstanceByRequest
(
request
).
getGoodsList
(
request
);
}
/**
* 获取购物车均摊详情,点 "去支付" 时调用
*
* @param getShoppingCartGoodsApportionRequestVo
* @return
*/
@ApiAnnotation
(
logMessage
=
"getShoppingCartGoodsApportion"
)
@PostMapping
(
value
=
"/getShoppingCartGoodsApportion"
)
public
BaseResponse
getShoppingCartGoodsApportion
(
@Validated
@LogParams
@RequestBody
GetShoppingCartGoodsApportionRequestVo
getShoppingCartGoodsApportionRequestVo
)
{
if
(
getShoppingCartGoodsApportionRequestVo
==
null
||
getShoppingCartGoodsApportionRequestVo
.
getShoppingCartInfoRequestVo
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
=
getShoppingCartGoodsApportionRequestVo
.
getShoppingCartInfoRequestVo
();
return
getInstanceByRequest
(
shoppingCartInfoRequestVo
).
getShoppingCartGoods
(
shoppingCartInfoRequestVo
,
getShoppingCartGoodsApportionRequestVo
.
getPremiumExchangeActivity
());
}
private
ShoppingCartNewService
getInstanceByRequest
(
BaseRequestVo
requestVo
)
{
if
(
requestVo
.
getChannelType
()
!=
null
&&
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
requestVo
.
getChannelType
()))
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartMallServiceImpl
.
class
);
}
else
{
return
getInstanceBySessionId
(
requestVo
.
getSessionId
());
}
}
private
ShoppingCartNewService
getInstanceBySessionId
(
String
sessionId
)
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
customerInfoManager
.
getCustomerInfoByObject
(
sessionId
);
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isBlank
(
assortmentCustomerInfoVo
.
getIappId
()))
{
return
getInstanceByIAppId
(
IappIdType
.
IBZ_DC_XCX
.
getCode
());
}
String
iAppId
=
assortmentCustomerInfoVo
.
getIappId
();
return
getInstanceByIAppId
(
iAppId
);
}
private
ShoppingCartNewService
getInstanceByIAppId
(
String
iAppId
)
{
if
(
IappIdType
.
WC_XCX
.
getCode
().
equals
(
iAppId
))
{
//围餐
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartMealServiceImpl
.
class
);
}
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
);
}
/**
* 清空购物车{技术支持用}
*/
@ApiAnnotation
(
logMessage
=
"clear/goods"
)
@PostMapping
(
value
=
"/clearGoods"
)
public
BaseResponse
clearGoods
(
@Validated
@LogParams
@RequestBody
ShoppingCartClearToolsRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartToolsServiceImpl
.
class
).
clear
(
request
);
}
/**
* 线下订单查询接口
*/
@ApiAnnotation
(
logMessage
=
"/getMemberInfo"
)
@PostMapping
(
value
=
"/getMemberInfo"
)
public
BaseResponse
getMemberInfo
(
@LogParams
@RequestBody
GetMemberInfoRequestDto
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
).
getMemberInfo
(
request
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/BaseAddGoodsBO.java
0 → 100644
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
bo
;
public
class
BaseAddGoodsBO
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/MCoffeeAddGoodsBO.java
0 → 100644
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
bo
;
public
class
MCoffeeAddGoodsBO
extends
BaseAddGoodsBO
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/MallAddGoodsBO.java
0 → 100644
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
bo
;
public
class
MallAddGoodsBO
extends
BaseAddGoodsBO
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/PlatformAddGoodsBO.java
0 → 100644
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
bo
;
public
class
PlatformAddGoodsBO
extends
BaseAddGoodsBO
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/AddGoodsRequestDTO.java
0 → 100644
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
dto
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ComboxGoodsRequestVo
;
import
cn.freemud.entities.vo.MaterialRequestVo
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
java.util.List
;
@Data
public
class
AddGoodsRequestDTO
extends
BaseRequestDTO
{
/**
* 拼单发起人userId(拼单)
*/
private
String
createCollageUserId
;
/**
* 购物车版本号(拼单)
*/
private
Integer
carVer
;
/**
* 微信appId
*/
@NotEmpty
(
message
=
"appId不能为空"
)
private
String
appId
;
@NotEmpty
(
message
=
"spuId不能为空"
)
private
String
spuId
;
private
String
skuId
;
/**
* 商品额外的属性
*/
private
List
<
CartGoods
.
CartGoodsExtra
>
extra
;
private
String
version
;
/**
* 1.6.0 版本增加 节点ID
*/
private
String
nodeId
;
/**
* 1.6.0 版本增加 分类名
*/
private
String
categoryName
;
/**
* 套餐固定商品
*/
private
List
<
ComboxGoodsRequestVo
>
productComboList
;
/**
* 套餐可选商品
*/
private
List
<
ComboxGoodsRequestVo
>
productGroupList
;
/**
* 加料
*/
private
List
<
MaterialRequestVo
>
productMaterialList
;
private
String
appType
;
private
String
tableNumber
;
/**
* 数量
*/
private
Integer
qty
;
/**
* 业务类型: 0 : 自提 1:外卖 2:微商城
*/
private
String
menuType
;
/**
* 收货地址ID、svc卡支付外卖订单必传
*/
private
String
receiveId
;
/**
* 操作类型 1= 添加商品券 2=加价购
*/
private
Integer
operationType
;
/**
* 优惠券号
*/
private
String
couponCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/dto/BaseRequestDTO.java
0 → 100644
View file @
8cf0b488
package
cn
.
freemud
.
demo
.
entities
.
dto
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
@Data
public
class
BaseRequestDTO
{
private
String
sessionId
;
/**
* 商户Id
*/
@NotEmpty
(
message
=
"partnerId不能为空"
)
private
String
partnerId
;
/**
* 门店Id
* 商城没有门店id,如果需要门店id必传在业务中进行校验
*/
//@NotEmpty(message = "shopId不能为空")
private
String
shopId
;
/**
* 下单类型 CreateOrderType 外卖、到店、商城
*/
private
Integer
orderType
;
/**
* 渠道类型 OrderChannelType
*/
private
String
channelType
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/factory/ServiceBoFactory.java
0 → 100644
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
0 → 100644
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
)
{
}
}
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