Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
rs-cloud-platform
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周健威
rs-cloud-platform
Commits
15c84da9
Commit
15c84da9
authored
Dec 16, 2020
by
unset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改支付信息
parent
fbcbb56e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
227 additions
and
17 deletions
+227
-17
OrderInfoDto.java
...java/com/upyuns/platform/rs/website/dto/OrderInfoDto.java
+24
-11
OrderInfo.java
...java/com/upyuns/platform/rs/website/entity/OrderInfo.java
+1
-1
OrderInfoBiz.java
...java/com/upyuns/platform/rs/website/biz/OrderInfoBiz.java
+196
-4
OrderItemBiz.java
...java/com/upyuns/platform/rs/website/biz/OrderItemBiz.java
+1
-0
OrderInfoWebController.java
...orm/rs/website/controller/web/OrderInfoWebController.java
+5
-1
No files found.
rs-website/rs-website-api/src/main/java/com/upyuns/platform/rs/website/dto/OrderInfoDto.java
View file @
15c84da9
package
com
.
upyuns
.
platform
.
rs
.
website
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.
math.BigDecimal
;
import
java.
util.List
;
/**
* @ClassName : OrderInfoDto
...
...
@@ -13,18 +14,30 @@ import java.math.BigDecimal;
*/
@Data
public
class
OrderInfoDto
extends
PageParam
{
//详情ID
Integer
detailId
;
/**
* 订单备注
*/
@ApiModelProperty
(
value
=
"订单备注"
)
private
String
remark
;
//1、标准数据,2、影像图库,3、行业应用信息
Integer
type
;
/**
* 配送方式:1、线上配送,2、快递配送
*/
@ApiModelProperty
(
value
=
"配送方式:1、线上配送,2、快递配送"
)
private
Integer
sendType
;
//数量
Integer
number
;
/**
* 地址ID
*/
private
Integer
userAddressId
;
//单价
BigDecimal
price
;
/**
* 发票ID
*/
private
Integer
userInvoiceId
;
//文件地址
String
filePath
;
/**
* 商品信息ID
*/
private
List
<
ItemInfoDto
>
itemInfoDtoList
;
}
rs-website/rs-website-api/src/main/java/com/upyuns/platform/rs/website/entity/OrderInfo.java
View file @
15c84da9
...
...
@@ -177,7 +177,7 @@ public class OrderInfo implements Serializable {
*
*/
@Column
(
name
=
"type"
)
@ApiModelProperty
(
value
=
""
)
@ApiModelProperty
(
value
=
"
1、普通订单,2、定制订单
"
)
private
Integer
type
;
...
...
rs-website/rs-website-server/src/main/java/com/upyuns/platform/rs/website/biz/OrderInfoBiz.java
View file @
15c84da9
...
...
@@ -2,23 +2,35 @@ package com.upyuns.platform.rs.website.biz;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.OrderUtil
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.upyuns.platform.rs.universal.constant.DictionaryKey
;
import
com.upyuns.platform.rs.universal.entity.Dictionary
;
import
com.upyuns.platform.rs.universal.feign.ThirdFeign
;
import
com.upyuns.platform.rs.website.dto.ItemInfoDto
;
import
com.upyuns.platform.rs.website.dto.OrderInfoDto
;
import
com.upyuns.platform.rs.website.dto.UserOrderDto
;
import
com.upyuns.platform.rs.website.entity.OrderItem
;
import
com.upyuns.platform.rs.website.entity.ShoppingCartInfo
;
import
com.upyuns.platform.rs.website.entity.*
;
import
com.upyuns.platform.rs.website.mapper.OrderItemMapper
;
import
com.upyuns.platform.rs.website.type.OrderTypeEnum
;
import
com.upyuns.platform.rs.website.vo.ItemInfoVo
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.upyuns.platform.rs.website.entity.OrderInfo
;
import
com.upyuns.platform.rs.website.mapper.OrderInfoMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicReference
;
/**
* 订单信息
...
...
@@ -31,7 +43,36 @@ import java.util.List;
public
class
OrderInfoBiz
extends
BaseBiz
<
OrderInfoMapper
,
OrderInfo
>
{
@Autowired
OrderItemMapper
orderItemMapper
;
OrderItemBiz
orderItemBiz
;
@Autowired
IndustryApplicationInfoBiz
industryApplicationInfoBiz
;
@Autowired
ImageImgStorageBiz
imageImgStorageBiz
;
@Autowired
ShoppingCartInfoBiz
shoppingCartInfoBiz
;
@Autowired
ImageInfoRelationBiz
imageInfoRelationBiz
;
@Autowired
ThirdFeign
thirdFeign
;
@Autowired
UserFeign
userFeign
;
@Autowired
HttpServletRequest
request
;
@Autowired
UserAddressBiz
userAddressBiz
;
@Autowired
OrderEInvoiceBiz
orderEInvoiceBiz
;
@Autowired
UserInvoiceBiz
userInvoiceBiz
;
/**
* 添加订单
...
...
@@ -115,4 +156,155 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
}
/**
* 提交订单
* @param orderInfoDto
* @return
*/
public
ObjectRestResponse
submitOrder
(
OrderInfoDto
orderInfoDto
)
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailByToken
(
request
.
getHeader
(
"Authorization"
)).
getData
();
if
(
appUserDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
ResultCode
.
getMsg
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
));
}
if
(
orderInfoDto
==
null
||
orderInfoDto
.
getItemInfoDtoList
()
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
List
<
ItemInfoDto
>
itemInfoDtoList
=
orderInfoDto
.
getItemInfoDtoList
();
List
<
OrderItem
>
orderItemList
=
new
ArrayList
<>();
AtomicReference
<
Integer
>
number
=
new
AtomicReference
<>(
0
);
AtomicReference
<
Double
>
amount
=
new
AtomicReference
<>((
double
)
0
);
itemInfoDtoList
.
parallelStream
().
forEach
(
itemInfoDto
->
{
switch
(
OrderTypeEnum
.
getByCode
(
itemInfoDto
.
getType
()))
{
//标准数据
case
STANDARD_DATA:
break
;
//行业应用
case
INDUSTRY_INFO:
IndustryApplicationInfo
industryApplicationInfo
=
industryApplicationInfoBiz
.
getOneById
(
itemInfoDto
.
getId
()).
getData
();
if
(
industryApplicationInfo
!=
null
)
{
OrderItem
orderItem
=
new
OrderItem
();
orderItem
.
setType
(
itemInfoDto
.
getType
());
orderItem
.
setTotalAmount
(
industryApplicationInfo
.
getPrice
().
multiply
(
new
BigDecimal
(
itemInfoDto
.
getNumber
())));
orderItem
.
setPrice
(
industryApplicationInfo
.
getPrice
());
orderItem
.
setNumber
(
itemInfoDto
.
getNumber
());
orderItem
.
setName
(
industryApplicationInfo
.
getTitle
());
orderItem
.
setItemPic
(
industryApplicationInfo
.
getCoverImg
());
orderItem
.
setDetailJson
(
JSONObject
.
toJSONString
(
industryApplicationInfo
));
orderItem
.
setDetailId
(
industryApplicationInfo
.
getId
());
orderItemList
.
add
(
orderItem
);
//总数量
number
.
updateAndGet
(
v
->
v
+
itemInfoDto
.
getNumber
());
BigDecimal
totalAmount
=
industryApplicationInfo
.
getPrice
().
multiply
(
new
BigDecimal
(
itemInfoDto
.
getNumber
()));
amount
.
updateAndGet
(
v
->
new
Double
((
double
)
(
v
+
totalAmount
.
doubleValue
())));
}
break
;
//影像图库
case
IMAGE_STORAGE:
ImageInfoRelation
imageInfoRelation
=
imageInfoRelationBiz
.
selectById
(
itemInfoDto
.
getId
());
if
(
imageInfoRelation
!=
null
)
{
ImageImgStorage
imageImgStorage
=
imageImgStorageBiz
.
getDetail
(
itemInfoDto
.
getId
()).
getData
();
if
(
imageImgStorage
!=
null
)
{
List
<
ImageInfoRelation
>
imageInfoRelationList
=
new
ArrayList
<>();
imageInfoRelationList
.
add
(
imageInfoRelation
);
imageImgStorage
.
setImageInfoRelationList
(
imageInfoRelationList
);
OrderItem
orderItem
=
new
OrderItem
();
orderItem
.
setType
(
itemInfoDto
.
getType
());
orderItem
.
setTotalAmount
(
imageInfoRelation
.
getPrice
().
multiply
(
new
BigDecimal
(
itemInfoDto
.
getNumber
())));
orderItem
.
setPrice
(
imageInfoRelation
.
getPrice
());
orderItem
.
setNumber
(
itemInfoDto
.
getNumber
());
orderItem
.
setName
(
imageImgStorage
.
getName
());
orderItem
.
setItemPic
(
imageImgStorage
.
getCoverImg
());
orderItem
.
setDetailJson
(
JSONObject
.
toJSONString
(
imageImgStorage
));
orderItem
.
setDetailId
(
imageImgStorage
.
getId
());
orderItemList
.
add
(
orderItem
);
//总数量
number
.
updateAndGet
(
v
->
v
+
itemInfoDto
.
getNumber
());
BigDecimal
totalAmount
=
imageInfoRelation
.
getPrice
().
multiply
(
new
BigDecimal
(
itemInfoDto
.
getNumber
()));
amount
.
updateAndGet
(
v
->
new
Double
((
double
)
(
v
+
totalAmount
.
doubleValue
())));
}
}
break
;
//购物车
case
SHOPPING_CART_INFO:
ShoppingCartInfo
shoppingCartInfo
=
shoppingCartInfoBiz
.
selectById
(
itemInfoDto
.
getId
());
if
(
shoppingCartInfo
!=
null
)
{
OrderItem
orderItem
=
new
OrderItem
();
orderItem
.
setType
(
itemInfoDto
.
getType
());
orderItem
.
setTotalAmount
(
shoppingCartInfo
.
getPrice
().
multiply
(
new
BigDecimal
(
itemInfoDto
.
getNumber
())));
orderItem
.
setPrice
(
shoppingCartInfo
.
getPrice
());
orderItem
.
setNumber
(
itemInfoDto
.
getNumber
());
orderItem
.
setName
(
shoppingCartInfo
.
getName
());
orderItem
.
setItemPic
(
shoppingCartInfo
.
getItemPic
());
orderItem
.
setDetailJson
(
shoppingCartInfo
.
getDetailJson
());
orderItem
.
setDetailId
(
shoppingCartInfo
.
getDetailId
());
orderItemList
.
add
(
orderItem
);
number
.
updateAndGet
(
v
->
v
+
itemInfoDto
.
getNumber
());
BigDecimal
totalAmount
=
shoppingCartInfo
.
getTotalAmount
();
amount
.
updateAndGet
(
v
->
new
Double
((
double
)
(
v
+
totalAmount
.
doubleValue
())));
}
break
;
default
:
break
;
}
});
OrderInfo
orderInfo
=
new
OrderInfo
();
orderInfo
.
setRealName
(
appUserDTO
.
getRealname
());
orderInfo
.
setUserId
(
appUserDTO
.
getUserid
());
orderInfo
.
setPhone
(
appUserDTO
.
getUsername
());
orderInfo
.
setNickname
(
appUserDTO
.
getNickname
());
orderInfo
.
setHeadImg
(
appUserDTO
.
getHeadimgurl
());
if
(
orderInfoDto
.
getUserAddressId
()
!=
null
)
{
UserAddress
userAddress
=
userAddressBiz
.
selectById
(
orderInfoDto
.
getUserAddressId
());
if
(
userAddress
!=
null
)
{
orderInfo
.
setReceiveName
(
userAddress
.
getConsigneeName
());
orderInfo
.
setReceivePhone
(
userAddress
.
getConsigneePhone
());
orderInfo
.
setReceiveAddress
(
userAddress
.
getProvince
()
+
userAddress
.
getCity
()
+
userAddress
.
getTown
()
+
userAddress
.
getConsigneeAddress
());
}
}
orderInfo
.
setRemark
(
orderInfoDto
.
getRemark
());
orderInfo
.
setAmount
(
new
BigDecimal
(
amount
.
get
()));
Dictionary
dictionary
=
thirdFeign
.
findDictionaryByTypeAndCode
(
DictionaryKey
.
APP_ORDER
,
DictionaryKey
.
SEND_FEE
);
if
(
dictionary
!=
null
&&
StringUtils
.
isNotBlank
(
dictionary
.
getDetail
()))
{
orderInfo
.
setFee
(
new
BigDecimal
(
dictionary
.
getDetail
()));
}
if
(
orderInfo
.
getFee
()
!=
null
)
{
orderInfo
.
setTotalAmount
(
orderInfo
.
getAmount
().
add
(
orderInfo
.
getFee
()));
}
orderInfo
.
setSendType
(
orderInfoDto
.
getSendType
());
orderInfo
.
setType
(
1
);
/**
* 新增订单
*/
generateOrder
(
orderInfo
);
orderItemList
.
parallelStream
().
forEach
(
orderItem
->
{
orderItem
.
setOrderId
(
orderInfo
.
getOrderId
());
orderItemBiz
.
insertSelective
(
orderItem
);
});
//订单发票信息
if
(
orderInfoDto
.
getUserInvoiceId
()
!=
null
)
{
UserInvoice
userInvoice
=
userInvoiceBiz
.
selectById
(
orderInfoDto
.
getUserInvoiceId
());
if
(
userInvoice
!=
null
)
{
OrderEInvoice
orderEInvoice
=
new
OrderEInvoice
();
orderEInvoice
.
setAmount
(
orderInfo
.
getAmount
());
orderEInvoice
.
setType
(
1
);
orderEInvoice
.
setOrderIds
(
orderInfo
.
getOrderId
()
+
""
);
orderEInvoice
.
setTitleType
(
userInvoice
.
getTitleType
());
orderEInvoice
.
setTitleName
(
userInvoice
.
getTitleName
());
orderEInvoice
.
setTaxCode
(
userInvoice
.
getTaxCode
());
orderEInvoice
.
setContentRemark
(
orderInfoDto
.
getRemark
());
orderEInvoice
.
setContentAccount
(
userInvoice
.
getOpenBank
()
+
" "
+
userInvoice
.
getAccount
());
orderEInvoice
.
setContentContact
(
orderInfo
.
getReceiveAddress
()
+
" "
+
orderInfo
.
getReceiveName
()
+
" "
+
orderInfo
.
getReceivePhone
());
//发票内容
orderEInvoice
.
setContentTitle
(
""
);
orderEInvoiceBiz
.
addUpdate
(
orderEInvoice
);
}
}
return
ObjectRestResponse
.
succ
();
}
}
\ No newline at end of file
rs-website/rs-website-server/src/main/java/com/upyuns/platform/rs/website/biz/OrderItemBiz.java
View file @
15c84da9
...
...
@@ -15,4 +15,5 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/
@Service
public
class
OrderItemBiz
extends
BaseBiz
<
OrderItemMapper
,
OrderItem
>
{
}
\ No newline at end of file
rs-website/rs-website-server/src/main/java/com/upyuns/platform/rs/website/controller/web/OrderInfoWebController.java
View file @
15c84da9
...
...
@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.upyuns.platform.rs.website.biz.OrderInfoBiz
;
import
com.upyuns.platform.rs.website.dto.ConfirmOrderDto
;
import
com.upyuns.platform.rs.website.dto.OrderInfoDto
;
import
com.upyuns.platform.rs.website.entity.OrderInfo
;
import
com.upyuns.platform.rs.website.service.ConfirmOrderService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -24,5 +25,8 @@ public class OrderInfoWebController extends BaseController<OrderInfoBiz,OrderInf
return
confirmOrderService
.
confirmOrderInfo
(
confirmOrderDto
);
}
@PostMapping
(
value
=
"submitOrder"
)
public
ObjectRestResponse
submitOrder
(
@RequestBody
OrderInfoDto
orderInfoDto
)
{
return
baseBiz
.
submitOrder
(
orderInfoDto
);
}
}
\ No newline at end of file
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