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
43d42d0c
Commit
43d42d0c
authored
Jul 11, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
123
parent
990c424f
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
259 additions
and
21 deletions
+259
-21
OrderGoodsDTO.java
.../com/github/wxiaoqi/security/admin/dto/OrderGoodsDTO.java
+9
-1
BaseGoodCommission.java
...hub/wxiaoqi/security/admin/entity/BaseGoodCommission.java
+59
-0
MyWallet.java
...va/com/github/wxiaoqi/security/admin/entity/MyWallet.java
+6
-5
MyWalletCath.java
...om/github/wxiaoqi/security/admin/entity/MyWalletCath.java
+2
-1
MyWalletDetail.java
.../github/wxiaoqi/security/admin/entity/MyWalletDetail.java
+3
-2
AppUserPositionBiz.java
...github/wxiaoqi/security/admin/biz/AppUserPositionBiz.java
+6
-0
AppUserSellingWaterBiz.java
...ub/wxiaoqi/security/admin/biz/AppUserSellingWaterBiz.java
+97
-12
BaseGoodCommissionBiz.java
...hub/wxiaoqi/security/admin/biz/BaseGoodCommissionBiz.java
+34
-0
AppUserPositionMapper.java
.../wxiaoqi/security/admin/mapper/AppUserPositionMapper.java
+4
-0
BaseGoodCommissionMapper.java
...iaoqi/security/admin/mapper/BaseGoodCommissionMapper.java
+14
-0
AppUserPositionMapper.xml
...admin/src/main/resources/mapper/AppUserPositionMapper.xml
+25
-0
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/OrderGoodsDTO.java
View file @
43d42d0c
...
...
@@ -3,6 +3,8 @@ package com.github.wxiaoqi.security.admin.dto;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 拥金明细
*/
...
...
@@ -18,6 +20,12 @@ public class OrderGoodsDTO {
@ApiModelProperty
(
value
=
"商品id"
)
private
Integer
goodId
;
/**
* 商品类型;1-租车;2-旅游;3-会员订单;4-营地
*/
@ApiModelProperty
(
value
=
"商品类型"
)
private
Integer
type
;
/**
* 商品数量
*/
...
...
@@ -41,6 +49,6 @@ public class OrderGoodsDTO {
* 售价
*/
@ApiModelProperty
(
value
=
"售价"
)
private
Long
price
;
private
BigDecimal
price
;
}
\ No newline at end of file
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/BaseGoodCommission.java
0 → 100644
View file @
43d42d0c
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 商品拥金表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-11 18:34:39
*/
@Data
@Table
(
name
=
"base_good_commission"
)
public
class
BaseGoodCommission
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键id
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
/**
* 商品id
*/
@Column
(
name
=
"good_id"
)
@ApiModelProperty
(
value
=
"商品id"
)
private
Integer
goodId
;
/**
* 1-租车;2-旅游;3-会员订单;4-营地
*/
@Column
(
name
=
"type"
)
@ApiModelProperty
(
value
=
"1-租车;2-旅游;3-会员订单;4-营地"
)
private
Integer
type
;
/**
* 是否计算;0-不计算;1计算
*/
@Column
(
name
=
"is_reckon"
)
@ApiModelProperty
(
value
=
"是否计算;0-不计算;1计算"
)
private
Integer
isReckon
;
/**
* 拥金比例
*/
@Column
(
name
=
"extract"
)
@ApiModelProperty
(
value
=
"拥金比例"
)
private
Integer
extract
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/MyWallet.java
View file @
43d42d0c
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
entity
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -39,35 +40,35 @@ public class MyWallet implements Serializable {
*/
@Column
(
name
=
"balance"
)
@ApiModelProperty
(
value
=
"余额(分)"
)
private
Long
balance
;
private
BigDecimal
balance
;
/**
* 已提现金额
*/
@Column
(
name
=
"withdrawals"
)
@ApiModelProperty
(
value
=
"已提现金额"
)
private
Long
withdrawals
;
private
BigDecimal
withdrawals
;
/**
* 进账总额(分)
*/
@Column
(
name
=
"total_amount"
)
@ApiModelProperty
(
value
=
"进账总额(分)"
)
private
Long
totalAmount
;
private
BigDecimal
totalAmount
;
/**
* 进账总额(分)
*/
@Column
(
name
=
"today_amount"
)
@ApiModelProperty
(
value
=
"进账总额(分)"
)
private
Long
todayAmount
;
private
BigDecimal
todayAmount
;
/**
* 未入账金额
*/
@Column
(
name
=
"unbooked"
)
@ApiModelProperty
(
value
=
"未入账金额"
)
private
Long
unbooked
;
private
BigDecimal
unbooked
;
/**
* 是否冻结:0-正常,1-冻结
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/MyWalletCath.java
View file @
43d42d0c
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
entity
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -60,7 +61,7 @@ public class MyWalletCath implements Serializable {
*/
@Column
(
name
=
"amount"
)
@ApiModelProperty
(
value
=
"提现金额"
)
private
Long
amount
;
private
BigDecimal
amount
;
/**
* 订单状态:0-未提现,待审核,1-已审核
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/MyWalletDetail.java
View file @
43d42d0c
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
entity
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -53,7 +54,7 @@ public class MyWalletDetail implements Serializable {
*/
@Column
(
name
=
"amount"
)
@ApiModelProperty
(
value
=
"收入/支出的金额(分)"
)
private
Long
amount
;
private
BigDecimal
amount
;
/**
* 活动类型
...
...
@@ -81,7 +82,7 @@ public class MyWalletDetail implements Serializable {
*/
@Column
(
name
=
"balance"
)
@ApiModelProperty
(
value
=
"加上当时的收入的余额"
)
private
Long
balance
;
private
BigDecimal
balance
;
/**
* 操作者ID(如果系统操作,-1)
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserPositionBiz.java
View file @
43d42d0c
...
...
@@ -15,4 +15,10 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/
@Service
public
class
AppUserPositionBiz
extends
BaseBiz
<
AppUserPositionMapper
,
AppUserPosition
>
{
//获取用户职位的折扣
public
Integer
getExtract
(
Integer
userId
){
return
getExtract
(
userId
);
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserSellingWaterBiz.java
View file @
43d42d0c
...
...
@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.admin.bo.UserIncomeBo;
import
com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO
;
import
com.github.wxiaoqi.security.admin.dto.OrderWaterDTO
;
import
com.github.wxiaoqi.security.admin.entity.AppUserRelation
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Service;
import
com.github.wxiaoqi.security.admin.entity.AppUserSellingWater
;
import
com.github.wxiaoqi.security.admin.mapper.AppUserSellingWaterMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
tk.mybatis.mapper.entity.Example
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
...
...
@@ -34,11 +36,20 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper,Ap
@Autowired
AppUserRelationBiz
relationBiz
;
//计算用户拥金
public
void
doWaterByUserId
(
OrderWaterDTO
orderWaterDTO
){
@Autowired
BaseGoodCommissionBiz
commissionBiz
;
@Autowired
AppUserPositionBiz
positionBiz
;
@Autowired
AppUserDetailBiz
detailBiz
;
//购买计算用户拥金
public
void
payOrderWater
(
OrderWaterDTO
orderWaterDTO
){
if
(
orderWaterDTO
==
null
){
log
.
info
(
"
计算用户拥金----doWaterByUserId
----次数不能为空----"
);
log
.
info
(
"
购买计算用户拥金----payOrderWater
----次数不能为空----"
);
return
;
}
//订单id
...
...
@@ -50,26 +61,99 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper,Ap
//订单状态
Integer
status
=
orderWaterDTO
.
getStatus
();
List
<
OrderGoodsDTO
>
goodsDTOList
=
orderWaterDTO
.
getGoodsDTOList
();
log
.
info
(
"
计算用户拥金----doWaterByUserId
----userId===="
+
userId
+
"---orderId==="
+
orderId
+
"---orderNo==="
+
orderNo
+
"--status=="
+
status
);
if
(
orderId
==
null
||
orderId
==
0
||
userId
==
null
||
userId
==
0
||
status
==
null
||
status
==
0
){
log
.
info
(
"
计算用户拥金----doWaterByUserId
----次数不能为空----orderId==="
+
orderId
);
log
.
info
(
"
购买计算用户拥金----payOrderWater
----userId===="
+
userId
+
"---orderId==="
+
orderId
+
"---orderNo==="
+
orderNo
+
"--status=="
+
status
);
if
(
orderId
==
null
||
orderId
==
0
||
userId
==
null
||
userId
==
0
||
status
==
null
||
status
==
0
||
CollectionUtils
.
isEmpty
(
goodsDTOList
)
){
log
.
info
(
"
购买计算用户拥金----payOrderWater
----次数不能为空----orderId==="
+
orderId
);
return
;
}
AppUserRelation
relation
=
relationBiz
.
getRelationByUserId
(
userId
);
if
(
relation
==
null
||
relation
.
getParentId
()==
null
||
relation
.
getParentId
()==
0
){
log
.
info
(
"
计算用户拥金----doWaterByUserId
--------userId==="
+
userId
+
"---无上线"
);
log
.
info
(
"
购买计算用户拥金----payOrderWater
--------userId==="
+
userId
+
"---无上线"
);
return
;
}
Integer
parentId
=
relation
.
getParentId
();
/* //商品id
Integer goodId=orderWaterDTO.getGoodId();
Integer
parentId
=
relation
.
getParentId
();
log
.
info
(
"购买计算用户拥金----payOrderWater--------userId==="
+
userId
+
"---parentId==="
+
parentId
);
for
(
OrderGoodsDTO
goodsDto:
goodsDTOList
){
//商品id
Integer
goodId
=
goodsDto
.
getGoodId
();
//商品价格
Long price=orderWaterDTO.getPrice();*/
BigDecimal
price
=
goodsDto
.
getPrice
();
//商品类型
Integer
type
=
goodsDto
.
getType
();
//商品比例
Integer
extract
=
commissionBiz
.
getExtract
(
type
,
goodId
);
AppUserVo
userVo
=
detailBiz
.
getUserInfoById
(
parentId
);
Integer
positionId
=
6
;
if
(
userVo
!=
null
){
positionId
=
userVo
.
getPositionId
();
}
if
(
extract
==
null
||
extract
==
0
){
extract
=
positionBiz
.
getExtract
(
parentId
);
}
log
.
info
(
"购买计算用户拥金----payOrderWater--------userId==="
+
userId
+
"---extract==="
+
extract
);
if
(
extract
!=
null
&&
extract
>
0
){
AppUserSellingWater
sellingWater
=
new
AppUserSellingWater
();
sellingWater
.
setOrderId
(
orderId
);
sellingWater
.
setGoodId
(
goodId
);
sellingWater
=
selectOne
(
sellingWater
);
if
(
sellingWater
!=
null
){
continue
;
}
BigDecimal
commission
=
price
.
multiply
(
new
BigDecimal
(
extract
+
""
)).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_HALF_UP
);
log
.
info
(
"购买计算用户拥金----payOrderWater--------userId==="
+
userId
+
"---commission==="
+
commission
);
sellingWater
=
new
AppUserSellingWater
();
sellingWater
.
setUserId
(
parentId
);
sellingWater
.
setSourceId
(
userId
);
sellingWater
.
setPositionId
(
positionId
);
sellingWater
.
setOrderId
(
orderId
);
sellingWater
.
setOrderNo
(
orderNo
);
sellingWater
.
setGoodId
(
goodId
);
sellingWater
.
setTitle
(
goodsDto
.
getTitle
());
sellingWater
.
setImg
(
goodsDto
.
getImg
());
sellingWater
.
setPrice
(
price
);
sellingWater
.
setExtract
(
extract
);
sellingWater
.
setCommission
(
commission
);
insertSelective
(
sellingWater
);
log
.
info
(
"购买计算用户拥成功----payOrderWater--------userId==="
+
userId
);
}
}
}
//订单完成计算用户拥金
public
void
finishOrderWater
(
OrderWaterDTO
orderWaterDTO
){
//订单id
Integer
orderId
=
orderWaterDTO
.
getOrderId
();
log
.
info
(
"订单完成计算用户拥金----finishOrderWater----orderId===="
+
orderId
);
if
(
orderId
==
null
||
orderId
==
0
){
return
;
}
List
<
AppUserSellingWater
>
list
=
getWaterList
(
orderId
);
BigDecimal
amount
=
new
BigDecimal
(
"0.00"
);
if
(
list
.
size
()>
0
){
for
(
AppUserSellingWater
sellingWater:
list
){
Integer
id
=
sellingWater
.
getId
();
sellingWater
.
setWaiting
(
1
);
updateById
(
sellingWater
);
BigDecimal
commission
=
sellingWater
.
getCommission
();
log
.
info
(
"订单完成计算用户拥金----finishOrderWater----id===="
+
id
+
"---commission=="
+
commission
);
amount
.
add
(
commission
);
}
}
}
//获取拥金列表
public
List
<
AppUserSellingWater
>
getWaterList
(
Integer
orderId
){
Example
example
=
new
Example
(
AppUserSellingWater
.
class
);
example
.
createCriteria
().
andEqualTo
(
"orderId"
,
orderId
).
andEqualTo
(
"waiting"
,
0
).
andEqualTo
(
"status"
,
0
);
return
mapper
.
selectByExample
(
example
);
}
public
Map
<
Integer
,
BigDecimal
>
findMemberIdAndIncomeMapByMemberIds
(
List
<
Integer
>
memberIds
)
{
Map
<
Integer
,
BigDecimal
>
memberIdAndIncomeMap
=
new
HashMap
<>();
...
...
@@ -79,4 +163,5 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper,Ap
}
return
memberIdAndIncomeMap
;
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseGoodCommissionBiz.java
0 → 100644
View file @
43d42d0c
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
biz
;
import
org.springframework.stereotype.Service
;
import
com.github.wxiaoqi.security.admin.entity.BaseGoodCommission
;
import
com.github.wxiaoqi.security.admin.mapper.BaseGoodCommissionMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
/**
* 商品拥金表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-11 18:34:39
*/
@Service
public
class
BaseGoodCommissionBiz
extends
BaseBiz
<
BaseGoodCommissionMapper
,
BaseGoodCommission
>
{
public
Integer
getExtract
(
Integer
type
,
Integer
goodId
){
Example
example
=
new
Example
(
BaseGoodCommission
.
class
);
example
.
createCriteria
().
andEqualTo
(
"goodId"
,
goodId
).
andEqualTo
(
"type"
,
type
).
andEqualTo
(
"isReckon"
,
1
);
List
<
BaseGoodCommission
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
!=
null
&&
list
.
size
()
!=
0
)
{
return
list
.
get
(
0
).
getExtract
();
}
return
0
;
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/mapper/AppUserPositionMapper.java
View file @
43d42d0c
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
mapper
;
import
com.github.wxiaoqi.security.admin.entity.AppUserPosition
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
/**
...
...
@@ -12,4 +13,7 @@ import tk.mybatis.mapper.common.Mapper;
*/
public
interface
AppUserPositionMapper
extends
Mapper
<
AppUserPosition
>
{
Integer
getExtractByUserId
(
@Param
(
"userId"
)
Integer
userId
);
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/mapper/BaseGoodCommissionMapper.java
0 → 100644
View file @
43d42d0c
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
mapper
;
import
com.github.wxiaoqi.security.admin.entity.BaseGoodCommission
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* 商品拥金表
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-11 18:34:39
*/
public
interface
BaseGoodCommissionMapper
extends
Mapper
<
BaseGoodCommission
>
{
}
ace-modules/ace-admin/src/main/resources/mapper/AppUserPositionMapper.xml
0 → 100644
View file @
43d42d0c
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.github.wxiaoqi.security.admin.mapper.AppUserPositionMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.github.wxiaoqi.security.admin.entity.AppUserPosition"
id=
"appUserPositionMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"level"
column=
"level"
/>
<result
property=
"number"
column=
"number"
/>
<result
property=
"extract"
column=
"extract"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"updTime"
column=
"upd_time"
/>
<result
property=
"isDel"
column=
"is_del"
/>
</resultMap>
<select
id=
"getExtractByUserId"
resultType=
"Integer"
>
SELECT p.extract FROM app_user_detail d LEFT JOIN app_user_position p
ON d.position_id=p.id
WHERE d.userid=#{userId} LIMIT 1
</select>
</mapper>
\ 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