Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
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
youjj
cloud-platform
Commits
c0ac5a0b
Commit
c0ac5a0b
authored
Jan 04, 2021
by
hezhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加活动购买
parent
430038a3
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
1084 additions
and
17 deletions
+1084
-17
OrderGoodsDTO.java
.../com/github/wxiaoqi/security/admin/dto/OrderGoodsDTO.java
+5
-1
AppUserSellingWaterBiz.java
...ub/wxiaoqi/security/admin/biz/AppUserSellingWaterBiz.java
+56
-0
WaterMQHandler.java
...github/wxiaoqi/security/admin/handler/WaterMQHandler.java
+23
-4
ActivityInfo.java
.../java/com/xxfc/platform/activity/entity/ActivityInfo.java
+122
-0
ActivityInfoUser.java
...a/com/xxfc/platform/activity/entity/ActivityInfoUser.java
+74
-0
ActivityFeign.java
.../java/com/xxfc/platform/activity/feign/ActivityFeign.java
+4
-0
ActivityInfoRuleVo.java
...ava/com/xxfc/platform/activity/vo/ActivityInfoRuleVo.java
+39
-0
ActivityInfoBiz.java
.../java/com/xxfc/platform/activity/biz/ActivityInfoBiz.java
+59
-0
ActivityInfoUserBiz.java
...a/com/xxfc/platform/activity/biz/ActivityInfoUserBiz.java
+155
-0
WebConfiguration.java
...a/com/xxfc/platform/activity/config/WebConfiguration.java
+2
-1
ActivityInfoMapper.java
...com/xxfc/platform/activity/mapper/ActivityInfoMapper.java
+15
-0
ActivityInfoUserMapper.java
...xxfc/platform/activity/mapper/ActivityInfoUserMapper.java
+15
-0
AppActivityInfoController.java
...xfc/platform/activity/rest/AppActivityInfoController.java
+67
-0
BaseController.java
.../java/com/xxfc/platform/activity/rest/BaseController.java
+41
-0
OrderActivityDetail.java
...a/com/xxfc/platform/order/entity/OrderActivityDetail.java
+75
-0
OrderFeign.java
...c/main/java/com/xxfc/platform/order/feign/OrderFeign.java
+6
-0
OrderMQDTO.java
...main/java/com/xxfc/platform/order/pojo/mq/OrderMQDTO.java
+3
-0
ActivityInfoBO.java
...va/com/xxfc/platform/order/pojo/order/ActivityInfoBO.java
+39
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+42
-11
OrderActivityInfoDetailBiz.java
...m/xxfc/platform/order/biz/OrderActivityInfoDetailBiz.java
+24
-0
WebConfiguration.java
...java/com/xxfc/platform/order/config/WebConfiguration.java
+1
-0
OrderActivityDetailMapper.java
...xxfc/platform/order/mapper/OrderActivityDetailMapper.java
+15
-0
OrderActivityInfoController.java
...xxfc/platform/order/rest/OrderActivityInfoController.java
+40
-0
OrderActivityInfoService.java
...xxfc/platform/order/service/OrderActivityInfoService.java
+162
-0
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/OrderGoodsDTO.java
View file @
c0ac5a0b
...
@@ -15,7 +15,7 @@ public class OrderGoodsDTO {
...
@@ -15,7 +15,7 @@ public class OrderGoodsDTO {
public
static
final
Integer
TYPE_TOUR
=
2
;
public
static
final
Integer
TYPE_TOUR
=
2
;
public
static
final
Integer
TYPE_MEMBER
=
3
;
public
static
final
Integer
TYPE_MEMBER
=
3
;
public
static
final
Integer
TYPE_CAMPSITE
=
4
;
public
static
final
Integer
TYPE_CAMPSITE
=
4
;
public
static
final
Integer
TYPE_ACTIVITY
=
5
;
/**
/**
* 商品id
* 商品id
*/
*/
...
@@ -53,4 +53,8 @@ public class OrderGoodsDTO {
...
@@ -53,4 +53,8 @@ public class OrderGoodsDTO {
@ApiModelProperty
(
value
=
"售价"
)
@ApiModelProperty
(
value
=
"售价"
)
private
BigDecimal
price
;
private
BigDecimal
price
;
@ApiModelProperty
(
value
=
"拥金"
)
private
BigDecimal
comission
;
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserSellingWaterBiz.java
View file @
c0ac5a0b
...
@@ -184,6 +184,62 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
...
@@ -184,6 +184,62 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
}
}
}
}
//购买计算用户拥金
public
void
payOrderActivityWater
(
OrderWaterDTO
orderWaterDTO
)
{
//订单id
Integer
orderId
=
orderWaterDTO
.
getOrderId
();
//订单号
String
orderNo
=
orderWaterDTO
.
getOrderNo
();
//用户id
Integer
userId
=
orderWaterDTO
.
getUserId
();
List
<
OrderGoodsDTO
>
goodsDTOList
=
orderWaterDTO
.
getGoodsDTOList
();
log
.
info
(
"活动计算用户拥金----payOrderWater----userId===="
+
userId
+
"---orderId==="
+
orderId
+
"---orderNo==="
+
orderNo
);
if
(
orderId
==
null
||
orderId
==
0
||
userId
==
null
||
userId
==
0
|
CollectionUtils
.
isEmpty
(
goodsDTOList
))
{
log
.
info
(
"购买计算用户拥金----payOrderWater----参数不能为空----orderId==="
+
orderId
);
return
;
}
AppUserRelation
relation
=
relationBiz
.
getRelationByIdUserIdAndTime
(
userId
);
if
(
relation
==
null
||
relation
.
getParentId
()
==
null
||
relation
.
getParentId
()
==
0
)
{
log
.
info
(
"活动计算用户拥金----payOrderWater--------userId==="
+
userId
+
"---无有效上线"
);
return
;
}
Integer
parentId
=
relation
.
getParentId
();
log
.
info
(
"活动计算用户拥金----payOrderWater--------userId==="
+
userId
+
"---parentId==="
+
parentId
);
BigDecimal
amount
=
new
BigDecimal
(
"0.00"
);
for
(
OrderGoodsDTO
goodsDto
:
goodsDTOList
)
{
//商品id
Integer
goodId
=
goodsDto
.
getGoodId
();
//商品价格
BigDecimal
price
=
goodsDto
.
getPrice
();
BigDecimal
commission
=
goodsDto
.
getComission
()
==
null
?
BigDecimal
.
ZERO
:
goodsDto
.
getComission
();
AppUserSellingWater
sellingWater
=
new
AppUserSellingWater
();
sellingWater
.
setOrderId
(
orderId
);
sellingWater
.
setGoodId
(
goodId
);
sellingWater
=
selectOne
(
sellingWater
);
if
(
sellingWater
!=
null
)
continue
;
log
.
info
(
"购买计算用户拥金----payOrderWater--------userId==="
+
userId
+
"---commission==="
+
commission
);
sellingWater
=
new
AppUserSellingWater
();
sellingWater
.
setUserId
(
parentId
);
sellingWater
.
setSourceId
(
userId
);
sellingWater
.
setOrderId
(
orderId
);
sellingWater
.
setOrderNo
(
orderNo
);
sellingWater
.
setOrderType
(
goodsDto
.
getType
());
sellingWater
.
setGoodId
(
goodId
);
sellingWater
.
setTitle
(
goodsDto
.
getTitle
());
sellingWater
.
setImg
(
goodsDto
.
getImg
());
sellingWater
.
setPrice
(
price
);
sellingWater
.
setGoodNumber
(
goodsDto
.
getGoodNumber
());
sellingWater
.
setCommission
(
commission
);
insertSelective
(
sellingWater
);
log
.
info
(
"活动计算用户拥成功----payOrderWater--------userId==="
+
userId
);
amount
=
amount
.
add
(
commission
);
}
log
.
info
(
"活动计算用户未入账----payOrderWater--------userId==="
+
parentId
+
"----amount===="
+
amount
);
finishOrderWater
(
orderWaterDTO
);
}
//订单完成计算用户拥金
//订单完成计算用户拥金
public
void
finishOrderWater
(
OrderWaterDTO
orderWaterDTO
)
{
public
void
finishOrderWater
(
OrderWaterDTO
orderWaterDTO
)
{
//订单id
//订单id
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/handler/WaterMQHandler.java
View file @
c0ac5a0b
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
handler
;
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
handler
;
import
cn.hutool.db.sql.Order
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz
;
import
com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz
;
import
com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO
;
import
com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO
;
import
com.github.wxiaoqi.security.admin.dto.OrderWaterDTO
;
import
com.github.wxiaoqi.security.admin.dto.OrderWaterDTO
;
...
@@ -27,6 +26,7 @@ import java.util.concurrent.ExecutorService;
...
@@ -27,6 +26,7 @@ import java.util.concurrent.ExecutorService;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.Executors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
config
.
RabbitAdminConfig
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
config
.
RabbitAdminConfig
.*;
import
static
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
.
OrderTypeEnum
.*;
import
static
com
.
xxfc
.
platform
.
order
.
pojo
.
mq
.
OrderMQDTO
.*;
import
static
com
.
xxfc
.
platform
.
order
.
pojo
.
mq
.
OrderMQDTO
.*;
@Component
@Component
...
@@ -124,11 +124,30 @@ public class WaterMQHandler {
...
@@ -124,11 +124,30 @@ public class WaterMQHandler {
}}
}}
);
);
break
;
break
;
case
ACTIVITY:
orderWaterDTO
.
setGoodsDTOList
(
new
ArrayList
<
OrderGoodsDTO
>()
{{
add
(
new
OrderGoodsDTO
()
{{
setGoodId
(
orderMQDTO
.
getOrderActivityDetail
().
getActivityId
());
setGoodNumber
(
1
);
setImg
(
orderMQDTO
.
getPicture
());
setPrice
(
orderMQDTO
.
getRealAmount
());
setComission
(
orderMQDTO
.
getOrderActivityDetail
().
getParentComisson
());
setTitle
(
orderMQDTO
.
getName
());
setType
(
OrderGoodsDTO
.
TYPE_ACTIVITY
);
}});
}}
);
break
;
default
:
default
:
break
;
break
;
}
}
waterBiz
.
orderWater
(
orderWaterDTO
);
if
(
OrderTypeEnum
.
get
(
orderMQDTO
.
getType
()).
equals
(
ACTIVITY
)){
waterBiz
.
payOrderActivityWater
(
orderWaterDTO
);
}
else
{
waterBiz
.
orderWater
(
orderWaterDTO
);
}
executorService
.
shutdown
();
executorService
.
shutdown
();
Long
deliveryTag
=
(
Long
)
headers
.
get
(
AmqpHeaders
.
DELIVERY_TAG
);
Long
deliveryTag
=
(
Long
)
headers
.
get
(
AmqpHeaders
.
DELIVERY_TAG
);
...
...
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityInfo.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
cn.hutool.json.JSONUtil
;
import
com.xxfc.platform.activity.vo.ActivityInfoRuleVo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.apache.commons.lang3.StringUtils
;
import
javax.persistence.*
;
import
java.io.Serializable
;
/**
* 通用活动规则表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-16 14:04:22
*/
@Data
@Table
(
name
=
"activity_info"
)
public
class
ActivityInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
@Column
(
name
=
"type"
)
@ApiModelProperty
(
value
=
"活动类型:1-2680活动"
)
private
Integer
type
;
/**
* 活动名称
*/
@Column
(
name
=
"name"
)
@ApiModelProperty
(
value
=
"活动名称"
)
private
String
name
;
@Column
(
name
=
"img"
)
@ApiModelProperty
(
value
=
"活动名称"
)
private
String
img
;
@Column
(
name
=
"descr"
)
@ApiModelProperty
(
value
=
"活动描述"
)
private
String
descr
;
@Column
(
name
=
"start_time"
)
@ApiModelProperty
(
value
=
"活动开始时间"
)
private
Long
startTime
;
@Column
(
name
=
"end_time"
)
@ApiModelProperty
(
value
=
"活动结束时间"
)
private
Long
endTime
;
@Column
(
name
=
"number"
)
@ApiModelProperty
(
value
=
"活动人数限制"
)
private
Integer
number
;
@Column
(
name
=
"join_number"
)
@ApiModelProperty
(
value
=
"参加活动人数"
)
private
Integer
joinNumber
;
@Column
(
name
=
"status"
)
@ApiModelProperty
(
value
=
"活动是否开启:0-未开启;1-已开启;2-已关闭"
)
private
Integer
status
;
@Column
(
name
=
"value"
)
@ApiModelProperty
(
value
=
"活动奖励规则,json"
)
private
String
value
;
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Long
crtTime
;
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
value
=
"更新时间"
,
hidden
=
true
)
private
Long
updTime
;
@Column
(
name
=
"is_del"
)
@ApiModelProperty
(
value
=
"是否删除:0-正常;1-删除"
)
private
Integer
isDel
;
@Transient
private
ActivityInfoRuleVo
activityInfoRuleVo
;
@Transient
private
Integer
isJoin
;
@Transient
private
Integer
orderId
;
public
ActivityInfoRuleVo
getActivityInfoRuleVo
(){
ActivityInfoRuleVo
activityInfoRuleVo
=
null
;
if
(
StringUtils
.
isNotBlank
(
value
)){
activityInfoRuleVo
=
JSONUtil
.
toBean
(
value
,
ActivityInfoRuleVo
.
class
);
}
return
activityInfoRuleVo
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityInfoUser.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.io.Serializable
;
/**
* 用户活动表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-16 14:04:22
*/
@Data
@Table
(
name
=
"activity_info_user"
)
public
class
ActivityInfoUser
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
@Column
(
name
=
"user_id"
)
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userId
;
@Column
(
name
=
"activity_id"
)
@ApiModelProperty
(
value
=
"活动id"
)
private
Integer
activityId
;
@Column
(
name
=
"status"
)
@ApiModelProperty
(
value
=
"状态:0-参加中;1-已参加;2-已取消"
)
private
Integer
status
;
@Column
(
name
=
"order_id"
)
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
orderId
;
@Column
(
name
=
"order_no"
)
@ApiModelProperty
(
value
=
"订单号"
)
private
String
orderNo
;
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"参与时间"
,
hidden
=
true
)
private
Long
crtTime
;
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
value
=
"更新时间"
,
hidden
=
true
)
private
Long
updTime
;
@Column
(
name
=
"is_del"
)
@ApiModelProperty
(
value
=
"是否删除:0-正常;1-删除"
)
private
Integer
isDel
;
@Transient
private
Integer
type
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/feign/ActivityFeign.java
View file @
c0ac5a0b
...
@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.admin.dto.UserInfoDTO;
...
@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.admin.dto.UserInfoDTO;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
com.xxfc.platform.activity.entity.ActivityProduct
;
import
com.xxfc.platform.activity.entity.ActivityProduct
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.entity.Coupon
;
...
@@ -103,4 +104,7 @@ public interface ActivityFeign {
...
@@ -103,4 +104,7 @@ public interface ActivityFeign {
@PostMapping
(
value
=
"/activity/product/app/unauth/update"
)
@PostMapping
(
value
=
"/activity/product/app/unauth/update"
)
public
ObjectRestResponse
updateProduct
(
@RequestBody
ActivityProduct
activityProduct
);
public
ObjectRestResponse
updateProduct
(
@RequestBody
ActivityProduct
activityProduct
);
@PostMapping
(
"app/activityInfo/app/unauth/updActivty"
)
ObjectRestResponse
updActivty
(
@RequestBody
ActivityInfo
activityInfo
);
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/ActivityInfoRuleVo.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* 通用活动规则表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-16 14:04:22
*/
@Data
public
class
ActivityInfoRuleVo
extends
ActivityRuleVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"支付金额"
)
private
BigDecimal
payPrice
;
@ApiModelProperty
(
value
=
"天数"
)
private
Integer
days
;
@ApiModelProperty
(
value
=
"上级拥金"
)
private
BigDecimal
parentComisson
;
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityInfoBiz.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
com.xxfc.platform.activity.entity.ActivityRule
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.mapper.ActivityInfoMapper
;
import
com.xxfc.platform.activity.mapper.ActivityRuleMapper
;
import
com.xxfc.platform.activity.vo.ActivityRuleVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 通用活动规则表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-16 14:04:22
*/
@Slf4j
@Service
public
class
ActivityInfoBiz
extends
BaseBiz
<
ActivityInfoMapper
,
ActivityInfo
>
{
//获取最新的生效的活动
public
ActivityInfo
getActity
(
Integer
type
){
Example
example
=
new
Example
(
ActivityInfo
.
class
);
example
.
createCriteria
().
andEqualTo
(
"status"
,
1
).
andEqualTo
(
"type"
,
type
).
andEqualTo
(
"isDel"
,
0
);
example
.
setOrderByClause
(
"id desc"
);
List
<
ActivityInfo
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()>
0
){
return
list
.
get
(
0
);
}
return
null
;
}
//获取最新活动的H5页面
public
ActivityInfo
getActivityH5
(
Integer
type
){
type
=
type
==
null
?
1
:
type
;
ActivityInfo
activityInfo
=
getActity
(
type
);
if
(
activityInfo
==
null
)
throw
new
BaseException
(
"无有效的活动"
,
ResultCode
.
NULL_CODE
);
return
activityInfo
;
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityInfoUserBiz.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
com.xxfc.platform.activity.entity.ActivityInfoUser
;
import
com.xxfc.platform.activity.mapper.ActivityInfoUserMapper
;
import
com.xxfc.platform.activity.vo.ActivityInfoRuleVo
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderActivityDetail
;
import
com.xxfc.platform.order.feign.OrderFeign
;
import
com.xxfc.platform.order.pojo.order.ActivityInfoBO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 用户活动表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-16 14:04:22
*/
@Service
@Slf4j
public
class
ActivityInfoUserBiz
extends
BaseBiz
<
ActivityInfoUserMapper
,
ActivityInfoUser
>
{
@Autowired
ActivityInfoBiz
activityInfoBiz
;
@Autowired
OrderFeign
orderFeign
;
@Autowired
UserFeign
userFeign
;
//参与活动
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
BaseOrder
joinActivity
(
ActivityInfoUser
activityInfoUser
){
ActivityInfo
activityInfo
=
activityInfoBiz
.
selectById
(
activityInfoUser
.
getActivityId
());
if
(
activityInfo
==
null
||
activityInfo
.
getStatus
()
!=
1
)
throw
new
BaseException
(
"无效的活动"
,
ResultCode
.
NULL_CODE
);
Integer
joinNumber
=
activityInfo
.
getJoinNumber
()
==
null
?
0
:
activityInfo
.
getJoinNumber
();
Integer
number
=
activityInfo
.
getNumber
()
==
null
?
0
:
activityInfo
.
getNumber
();
if
(
number
>
0
&&
joinNumber
>=
number
)
throw
new
BaseException
(
"----活动已超过参与人数----number==="
+
number
,
ResultCode
.
FAILED_CODE
);
Integer
activityId
=
activityInfo
.
getId
();
activityInfoUser
.
setActivityId
(
activityId
);
activityInfoUser
.
setStatus
(
1
);
Long
num
=
selectCount
(
activityInfoUser
);
if
(
num
!=
null
&&
num
>
0
)
throw
new
BaseException
(
"用户已参与该活动"
,
ResultCode
.
FAILED_CODE
);
activityInfoUser
.
setStatus
(
0
);
ActivityInfoUser
activityInfoUserStatus
=
getOne
(
activityInfoUser
);
if
(
activityInfoUserStatus
!=
null
){
activityInfoUserStatus
.
setStatus
(
2
);
updateSelectiveById
(
activityInfoUserStatus
);
}
else
{
joinNumber
+=
1
;
}
BaseOrder
baseOrder
=
addOrder
(
activityInfo
);
if
(
baseOrder
==
null
)
throw
new
BaseException
(
"下单失败"
,
ResultCode
.
FAILED_CODE
);
activityInfoUser
.
setOrderId
(
baseOrder
.
getId
());
activityInfoUser
.
setOrderNo
(
baseOrder
.
getNo
());
insertSelective
(
activityInfoUser
);
activityInfo
.
setJoinNumber
(
joinNumber
);
activityInfoBiz
.
updateSelectiveById
(
activityInfo
);
return
baseOrder
;
}
public
ActivityInfoUser
getOne
(
ActivityInfoUser
activityInfoUser
){
Example
example
=
new
Example
(
ActivityInfoUser
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"activityId"
,
activityInfoUser
.
getActivityId
()).
andEqualTo
(
"userId"
,
activityInfoUser
.
getUserId
()).
andEqualTo
(
"isDel"
,
0
);
if
(
activityInfoUser
.
getStatus
()
!=
null
)
criteria
.
andEqualTo
(
"status"
,
activityInfoUser
.
getStatus
());
example
.
setOrderByClause
(
"id desc"
);
List
<
ActivityInfoUser
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()>
0
){
return
list
.
get
(
0
);
}
return
null
;
}
public
BaseOrder
addOrder
(
ActivityInfo
activityInfo
){
ActivityInfoBO
activityInfoBO
=
new
ActivityInfoBO
();
activityInfoBO
.
setActivity
(
activityInfo
);
ObjectRestResponse
<
BaseOrder
>
restResponse
=
orderFeign
.
add
(
activityInfoBO
);
if
(
restResponse
.
getData
()
==
null
){
throw
new
BaseException
(
restResponse
.
getMessage
(),
restResponse
.
getStatus
());
}
return
restResponse
.
getData
();
}
public
ActivityInfo
getInfo
(
ActivityInfoUser
activityInfoUser
){
ActivityInfo
activityInfo
=
activityInfoBiz
.
getActivityH5
(
activityInfoUser
.
getType
());
activityInfoUser
.
setActivityId
(
activityInfo
.
getId
());
activityInfoUser
.
setStatus
(
1
);
activityInfoUser
=
getOne
(
activityInfoUser
);
Integer
isJoin
=
0
;
if
(
activityInfoUser
!=
null
){
isJoin
=
1
;
}
activityInfo
.
setIsJoin
(
isJoin
);
return
activityInfo
;
}
public
ObjectRestResponse
updActivty
(
ActivityInfo
activityInfo
){
Integer
orderId
=
activityInfo
.
getOrderId
();
ActivityInfoUser
activityInfoUser
=
new
ActivityInfoUser
();
activityInfoUser
.
setOrderId
(
orderId
);
activityInfoUser
=
selectOne
(
activityInfoUser
);
if
(
activityInfoUser
==
null
){
throw
new
BaseException
(
"未参加活动"
,
ResultCode
.
FAILED_CODE
);
}
activityInfoUser
.
setStatus
(
1
);
updateSelectiveById
(
activityInfoUser
);
Integer
userId
=
activityInfoUser
.
getUserId
()
==
null
?
0
:
activityInfoUser
.
getUserId
();
ActivityInfoRuleVo
activityInfoRuleVo
=
activityInfo
.
getActivityInfoRuleVo
();
Integer
days
=
0
;
if
(
activityInfoRuleVo
!=
null
){
days
=
activityInfoRuleVo
.
getDays
();
}
UserMemberDTO
userMemberDTO
=
new
UserMemberDTO
()
{{
setUserId
(
userId
);
setIsBind
(
ISBIND_BIND
);
}};
userMemberDTO
.
setRentFreeDays
(
days
);
userMemberDTO
.
setTotalNumber
(
days
);
return
userFeign
.
buyMember
(
userMemberDTO
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/config/WebConfiguration.java
View file @
c0ac5a0b
...
@@ -53,7 +53,8 @@ public class WebConfiguration implements WebMvcConfigurer {
...
@@ -53,7 +53,8 @@ public class WebConfiguration implements WebMvcConfigurer {
private
ArrayList
<
String
>
getIncludePathPatterns
()
{
private
ArrayList
<
String
>
getIncludePathPatterns
()
{
ArrayList
<
String
>
list
=
new
ArrayList
<>();
ArrayList
<
String
>
list
=
new
ArrayList
<>();
String
[]
urls
=
{
String
[]
urls
=
{
"/activityPopularize/**"
"/activityPopularize/**"
,
"/app/activityInfo/**"
};
};
Collections
.
addAll
(
list
,
urls
);
Collections
.
addAll
(
list
,
urls
);
return
list
;
return
list
;
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityInfoMapper.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* 通用活动表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-16 14:04:22
*/
public
interface
ActivityInfoMapper
extends
Mapper
<
ActivityInfo
>
{
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityInfoUserMapper.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.entity.ActivityInfoUser
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* 用户活动表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-16 14:04:22
*/
public
interface
ActivityInfoUserMapper
extends
Mapper
<
ActivityInfoUser
>
{
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/AppActivityInfoController.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityInfoUserBiz
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
com.xxfc.platform.activity.entity.ActivityInfoUser
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author Administrator
*/
@Slf4j
@RestController
@RequestMapping
(
"app/activityInfo"
)
@Api
(
tags
=
{
"2680活动"
})
public
class
AppActivityInfoController
extends
BaseController
<
ActivityInfoUserBiz
>
{
@PostMapping
(
"join"
)
@ApiModelProperty
(
"参加"
)
public
ObjectRestResponse
join
(
@RequestBody
ActivityInfoUser
activityInfoUser
){
activityInfoUser
.
setUserId
(
getCurrentUserIdInt
());
return
ObjectRestResponse
.
succ
(
baseBiz
.
joinActivity
(
activityInfoUser
));
}
@ApiOperation
(
"新人有礼参加活动"
)
@RequestMapping
(
value
=
"/app/unauth/H5"
,
method
=
RequestMethod
.
GET
)
@IgnoreUserToken
public
ObjectRestResponse
H5
(
ActivityInfoUser
activityInfoUser
){
activityInfoUser
.
setUserId
(
getCurrentUserIdInt
());
return
ObjectRestResponse
.
succ
(
baseBiz
.
getInfo
(
activityInfoUser
));
}
@PostMapping
(
"app/unauth/updActivty"
)
@ApiModelProperty
(
"支付后处理"
)
@IgnoreUserToken
public
ObjectRestResponse
updActivty
(
@RequestBody
ActivityInfo
activityInfo
)
{
baseBiz
.
updActivty
(
activityInfo
);
return
ObjectRestResponse
.
succ
();
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/BaseController.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.rest.CommonBaseController
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
@Slf4j
public
class
BaseController
<
Biz
extends
BaseBiz
>
extends
CommonBaseController
implements
UserRestInterface
{
@Autowired
protected
Biz
baseBiz
;
@Autowired
protected
UserAuthConfig
userAuthConfig
;
@Autowired
private
UserAuthUtil
userAuthUtil
;
@Autowired
UserFeign
userFeign
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
}
public
String
getUserName
()
throws
Exception
{
return
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
)).
getUniqueName
();
}
public
Biz
getBaseBiz
()
{
return
baseBiz
;
}
public
String
getUserId
()
throws
Exception
{
return
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
)).
getId
();
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderActivityDetail.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
*
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-19 17:00:35
*/
@Data
@Table
(
name
=
"order_activity_detail"
)
public
class
OrderActivityDetail
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
@Column
(
name
=
"order_id"
)
@ApiModelProperty
(
value
=
"基础订单id"
)
private
Integer
orderId
;
@Column
(
name
=
"activity_id"
)
@ApiModelProperty
(
value
=
"活动id"
)
private
Integer
activityId
;
@Column
(
name
=
"activity_info"
)
@ApiModelProperty
(
value
=
"活动详情"
)
private
String
activityInfo
;
@Column
(
name
=
"rent_free_num"
)
@ApiModelProperty
(
value
=
"出租免费天数"
)
private
Integer
rentFreeNum
;
@Column
(
name
=
"parent_comisson"
)
@ApiModelProperty
(
value
=
"上级拥金"
)
private
BigDecimal
parentComisson
;
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Long
crtTime
;
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
value
=
"更新时间"
,
hidden
=
true
)
private
Long
updTime
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/feign/OrderFeign.java
View file @
c0ac5a0b
...
@@ -3,8 +3,10 @@ package com.xxfc.platform.order.feign;
...
@@ -3,8 +3,10 @@ package com.xxfc.platform.order.feign;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderInvoice
;
import
com.xxfc.platform.order.entity.OrderInvoice
;
import
com.xxfc.platform.order.pojo.dto.OrderDTO
;
import
com.xxfc.platform.order.pojo.dto.OrderDTO
;
import
com.xxfc.platform.order.pojo.order.ActivityInfoBO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -34,4 +36,8 @@ public interface OrderFeign {
...
@@ -34,4 +36,8 @@ public interface OrderFeign {
@PostMapping
(
value
=
"/count/basebase/findOrdersByorderIdV2"
)
@PostMapping
(
value
=
"/count/basebase/findOrdersByorderIdV2"
)
ObjectRestResponse
<
List
<
OrderDTO
>>
findOrdersByorderIdV2
(
@RequestBody
List
<
Integer
>
orderIds
);
ObjectRestResponse
<
List
<
OrderDTO
>>
findOrdersByorderIdV2
(
@RequestBody
List
<
Integer
>
orderIds
);
@PostMapping
(
value
=
"tainde/orderActivity/add"
)
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
ActivityInfoBO
bo
);
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/mq/OrderMQDTO.java
View file @
c0ac5a0b
...
@@ -25,6 +25,9 @@ public class OrderMQDTO extends BaseOrder implements OrderItemInter {
...
@@ -25,6 +25,9 @@ public class OrderMQDTO extends BaseOrder implements OrderItemInter {
OrderMemberDetail
orderMemberDetail
;
OrderMemberDetail
orderMemberDetail
;
OrderActivityDetail
orderActivityDetail
;
List
<
OrderItem
>
items
;
List
<
OrderItem
>
items
;
public
OrderItem
getItemByTypeEnum
(
ItemTypeEnum
itemTypeEnum
)
{
public
OrderItem
getItemByTypeEnum
(
ItemTypeEnum
itemTypeEnum
)
{
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/ActivityInfoBO.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderActivityDetail
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.inter.OrderDetail
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ActivityInfoBO
extends
OrderActivityDetail
implements
OrderDetail
{
private
BaseOrder
order
;
private
ActivityInfo
activity
;
AppUserDTO
appUserDTO
;
/**
* 促成人联系方式
*/
@ApiModelProperty
(
value
=
"促成人联系方式"
)
String
facilitatePhone
;
/**
* 下单来源,1--app;2--小程序
*/
private
Integer
orderOrigin
;
/**
* 优惠券*
*/
private
List
<
String
>
tickerNo
;
/**
* 订单子项
*/
List
<
OrderItem
>
items
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
c0ac5a0b
...
@@ -25,6 +25,7 @@ import com.github.wxiaoqi.security.common.util.Query;
...
@@ -25,6 +25,7 @@ import com.github.wxiaoqi.security.common.util.Query;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
...
@@ -152,6 +153,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -152,6 +153,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
@Autowired
@Autowired
ShuntApplyBiz
shuntApplyBiz
;
ShuntApplyBiz
shuntApplyBiz
;
@Autowired
OrderActivityInfoDetailBiz
activityInfoDetailBiz
;
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
...
@@ -711,6 +715,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -711,6 +715,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
OrderTourDetail
otd
=
new
OrderTourDetail
();
OrderTourDetail
otd
=
new
OrderTourDetail
();
OrderMemberDetail
omd
=
new
OrderMemberDetail
();
OrderMemberDetail
omd
=
new
OrderMemberDetail
();
OrderActiveDetail
activeDetail
=
new
OrderActiveDetail
();
OrderActiveDetail
activeDetail
=
new
OrderActiveDetail
();
OrderActivityDetail
activityDetail
=
null
;
BaseOrder
baseOrder
=
this
.
selectOne
(
new
BaseOrder
()
{{
BaseOrder
baseOrder
=
this
.
selectOne
(
new
BaseOrder
()
{{
setNo
(
orderNo
);
setNo
(
orderNo
);
}});
}});
...
@@ -799,6 +804,16 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -799,6 +804,16 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
}
}
}
}
}
}
activityDetail
=
activityInfoDetailBiz
.
getOne
(
baseOrder
.
getId
());
if
(
activityDetail
!=
null
){
String
activityInfoStr
=
activityDetail
.
getActivityInfo
();
ActivityInfo
activityInfo
=
JSONUtil
.
toBean
(
activityInfoStr
,
ActivityInfo
.
class
);
activityInfo
.
setOrderId
(
baseOrder
.
getId
());
ObjectRestResponse
restResponse
=
activityFeign
.
updActivty
(
activityInfo
);
if
(
restResponse
.
getStatus
()
!=
200
)
throw
new
BaseException
(
restResponse
.
getMessage
(),
restResponse
.
getStatus
());
}
}
}
try
{
try
{
...
@@ -819,21 +834,25 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -819,21 +834,25 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
}});
}});
}
}
}
finally
{
}
finally
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
if
(
activityDetail
!=
null
){
sendOrderActivityMq
(
activityDetail
,
baseOrder
,
ORDER_PAY
);
}
else
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
//处理App用户提醒短信的发送
//处理App用户提醒短信的发送
// orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO);
// orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO);
orderMsgBiz
.
handelMsgPayNew
(
orvd
,
otd
,
omd
,
baseOrder
,
appUserDTO
);
orderMsgBiz
.
handelMsgPayNew
(
orvd
,
otd
,
omd
,
baseOrder
,
appUserDTO
);
//处理后台用户提醒短信的发送
//处理后台用户提醒短信的发送
// orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
// orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
ORDER_PAY
);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
ORDER_PAY
);
if
(
OrderTypeEnum
.
MEMBER
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
if
(
OrderTypeEnum
.
MEMBER
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
ORDER_FINISH
);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
ORDER_FINISH
);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
ORDER_END_1
);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
ORDER_END_1
);
//订单完成时,payway为 支付宝,则转支付
//订单完成时,payway为 支付宝,则转支付
baseOrder
.
setPayWay
(
payWay
);
baseOrder
.
setPayWay
(
payWay
);
orderAccountBiz
.
finishFreeze2PayAmount
(
baseOrder
);
orderAccountBiz
.
finishFreeze2PayAmount
(
baseOrder
);
}
}
}
}
}
}
else
{
}
else
{
...
@@ -856,6 +875,18 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -856,6 +875,18 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
sendQueue
(
orderMQDTO
,
sign
);
sendQueue
(
orderMQDTO
,
sign
);
}
}
public
void
sendOrderActivityMq
(
OrderActivityDetail
omd
,
BaseOrder
baseOrder
,
Integer
sign
)
{
//发送队列消息
OrderMQDTO
orderMQDTO
=
BeanUtil
.
toBean
(
baseOrder
,
OrderMQDTO
.
class
);
orderMQDTO
.
setOrderActivityDetail
(
omd
);
//获取item
orderMQDTO
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
setOrderId
(
baseOrder
.
getId
());
}}));
sendQueue
(
orderMQDTO
,
sign
);
}
public
ObjectRestResponse
updateBaseOrder
(
BaseOrder
baseOrder
)
{
public
ObjectRestResponse
updateBaseOrder
(
BaseOrder
baseOrder
)
{
if
(
baseOrder
.
getId
()
==
null
)
{
if
(
baseOrder
.
getId
()
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
return
ObjectRestResponse
.
paramIsEmpty
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderActivityInfoDetailBiz.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.entity.OrderActivityDetail
;;
import
com.xxfc.platform.order.mapper.OrderActivityDetailMapper
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
@Service
@Slf4j
@Api
(
"活动订单详情"
)
public
class
OrderActivityInfoDetailBiz
extends
BaseBiz
<
OrderActivityDetailMapper
,
OrderActivityDetail
>
{
public
OrderActivityDetail
getOne
(
Integer
orderId
)
{
Example
example
=
new
Example
(
OrderActivityDetail
.
class
);
example
.
createCriteria
().
andEqualTo
(
"orderId"
,
orderId
);
return
mapper
.
selectOneByExample
(
example
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/config/WebConfiguration.java
View file @
c0ac5a0b
...
@@ -62,6 +62,7 @@ public class WebConfiguration implements WebMvcConfigurer {
...
@@ -62,6 +62,7 @@ public class WebConfiguration implements WebMvcConfigurer {
"/orderVehicle/**"
,
"/orderVehicle/**"
,
"/shuntApply/**"
,
"/shuntApply/**"
,
"/admin/**"
,
"/admin/**"
,
"/tainde/**"
,
};
};
Collections
.
addAll
(
list
,
urls
);
Collections
.
addAll
(
list
,
urls
);
return
list
;
return
list
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderActivityDetailMapper.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderActivityDetail
;
import
tk.mybatis.mapper.common.Mapper
;
/**
*
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-19 17:00:35
*/
public
interface
OrderActivityDetailMapper
extends
Mapper
<
OrderActivityDetail
>
{
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderActivityInfoController.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
order
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.order.biz.OrderActivityInfoDetailBiz
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderActivityDetail
;
import
com.xxfc.platform.order.pojo.order.ActivityInfoBO
;
import
com.xxfc.platform.order.service.OrderActivityInfoService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
@Controller
@RequestMapping
(
"tainde/orderActivity"
)
@Api
(
value
=
"活动订单"
,
tags
=
{
"活动订单"
})
@IgnoreClientToken
public
class
OrderActivityInfoController
extends
BaseController
<
OrderActivityInfoDetailBiz
,
OrderActivityDetail
>
{
@Autowired
OrderActivityInfoService
activityInfoService
;
@Autowired
UserFeign
userFeign
;
@RequestMapping
(
value
=
"add"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ApiOperation
(
value
=
"确认订单"
)
public
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
ActivityInfoBO
bo
)
{
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
//查询优惠券
activityInfoService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderActivityInfoService.java
0 → 100644
View file @
c0ac5a0b
package
com
.
xxfc
.
platform
.
order
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.xxfc.platform.activity.entity.ActivityInfo
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.activity.vo.ActivityInfoRuleVo
;
import
com.xxfc.platform.order.biz.*
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.pojo.order.ActivityInfoBO
;
import
com.xxfc.platform.order.pojo.price.OrderPriceVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.log4j.Log4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
java.time.format.DateTimeFormatter
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
@Log4j
public
class
OrderActivityInfoService
extends
AbstractOrderHandle
<
OrderActivityInfoDetailBiz
,
ActivityInfoBO
>
implements
UserRestInterface
{
@Autowired
VehicleFeign
vehicleFeign
;
@Autowired
ThirdFeign
thirdFeign
;
@Autowired
OrderAccountBiz
orderAccountBiz
;
@Autowired
BaseOrderBiz
baseOrderBiz
;
private
static
Integer
IS_CHILD
=
1
;
private
static
Integer
LEVEL_DEFAULT
=
0
;
private
static
Integer
NUMBER_ZERO
=
0
;
private
static
Long
autoCancelTime
;
@Autowired
OrderCostDetailBiz
orderCostDetailBiz
;
@Autowired
OrderTemplateBiz
orderTemplateBiz
;
@Autowired
protected
UserAuthConfig
userAuthConfig
;
@Autowired
ActivityFeign
activityFeign
;
@Autowired
public
HttpServletRequest
request
;
private
SimpleDateFormat
simleFormatter
=
new
SimpleDateFormat
(
"YYYY-MM-dd HH:mm:ss"
);
private
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
);
@PostConstruct
public
void
init
()
{
this
.
channel
=
null
;
this
.
orderTypeEnum
=
OrderTypeEnum
.
ACTIVITY
;
}
@Override
public
void
initDetail
(
ActivityInfoBO
bo
)
{
super
.
initDetail
(
bo
);
initDictionary
();
}
public
void
initDictionary
()
{
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
this
.
autoCancelTime
=
Long
.
valueOf
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
());
}
@Override
public
void
handleDetail
(
ActivityInfoBO
bo
)
{
//设置订单状态为3
bo
.
getOrder
().
setStatus
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
());
ActivityInfo
activityInfo
=
bo
.
getActivity
();
if
(
activityInfo
!=
null
){
//设置订单图片
bo
.
getOrder
().
setPicture
(
activityInfo
.
getImg
());
//设置订单名称
bo
.
getOrder
().
setName
(
activityInfo
.
getName
());
bo
.
setActivityId
(
activityInfo
.
getId
());
bo
.
setActivityInfo
(
JSON
.
toJSONString
(
activityInfo
));
ActivityInfoRuleVo
activityInfoRuleVo
=
activityInfo
.
getActivityInfoRuleVo
();
if
(
activityInfoRuleVo
!=
null
){
bo
.
setRentFreeNum
(
activityInfoRuleVo
.
getDays
());
bo
.
setParentComisson
(
activityInfoRuleVo
.
getParentComisson
());
}
}
super
.
handleDetail
(
bo
);
//发送定时取消订单(30分钟)
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
autoCancelTime
);
}
@Override
public
void
handleCalculate
(
ActivityInfoBO
bo
)
{
OrderPriceVO
tpv
=
calculatePrice
(
bo
);
BeanUtil
.
copyProperties
(
tpv
,
bo
.
getOrder
());
BeanUtil
.
copyProperties
(
tpv
,
bo
);
}
@Override
public
OrderPriceVO
calculatePrice
(
ActivityInfoBO
detail
)
{
BigDecimal
orderAmount
=
BigDecimal
.
ZERO
;
BigDecimal
goodsAmount
=
BigDecimal
.
ZERO
;
BigDecimal
realAmount
=
BigDecimal
.
ZERO
;
BigDecimal
couponAmount
=
BigDecimal
.
ZERO
;
ActivityInfo
activityInfo
=
detail
.
getActivity
();
BigDecimal
activityAmount
=
BigDecimal
.
ZERO
;
if
(
activityInfo
!=
null
)
{
ActivityInfoRuleVo
activityInfoRuleVo
=
activityInfo
.
getActivityInfoRuleVo
();
if
(
activityInfoRuleVo
!=
null
){
activityAmount
=
activityInfoRuleVo
.
getPayPrice
();
}
}
//商品价格
goodsAmount
=
goodsAmount
.
add
(
activityAmount
);
//订单总价格
orderAmount
=
orderAmount
.
add
(
goodsAmount
);
//真实价格
realAmount
=
realAmount
.
add
(
orderAmount
).
subtract
(
couponAmount
);
//生成订单明细
OrderPriceVO
opv
=
new
OrderPriceVO
();
opv
.
setOrderAmount
(
orderAmount
);
opv
.
setGoodsAmount
(
goodsAmount
);
opv
.
setRealAmount
(
realAmount
);
opv
.
setCouponAmount
(
couponAmount
);
return
opv
;
}
}
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