Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mall-server
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
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
yimu
mall-server
Commits
b5966081
Commit
b5966081
authored
Mar 08, 2022
by
wlx@33.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
积分支付订单时,增加积分使用流水
parent
8d609c80
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
270 additions
and
8 deletions
+270
-8
MerchantIntegralMapper.java
.../server/front/merchant/mapper/MerchantIntegralMapper.java
+16
-0
MerchantIntegral.java
...zm/mall/server/front/merchant/model/MerchantIntegral.java
+96
-0
PlatformIntegral.java
...zm/mall/server/front/merchant/model/PlatformIntegral.java
+82
-0
Pay.java
.../main/java/com/fzm/mall/server/front/order/model/Pay.java
+5
-0
IPayService.java
.../com/fzm/mall/server/front/order/service/IPayService.java
+2
-0
OrderServiceImpl.java
...all/server/front/order/service/impl/OrderServiceImpl.java
+37
-8
PayServiceImpl.java
.../mall/server/front/order/service/impl/PayServiceImpl.java
+7
-0
MerchantIntegralMapper.xml
...main/resources/mapper/merchant/MerchantIntegralMapper.xml
+25
-0
No files found.
mall-server-front/src/main/java/com/fzm/mall/server/front/merchant/mapper/MerchantIntegralMapper.java
0 → 100644
View file @
b5966081
package
com
.
fzm
.
mall
.
server
.
front
.
merchant
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.fzm.mall.server.front.merchant.model.MerchantIntegral
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @author wangp
* @date 2021/4/27 15:53
* @description Mapper 接口
* @since JDK 1.8
*/
@Mapper
public
interface
MerchantIntegralMapper
extends
BaseMapper
<
MerchantIntegral
>
{
}
mall-server-front/src/main/java/com/fzm/mall/server/front/merchant/model/MerchantIntegral.java
0 → 100644
View file @
b5966081
package
com
.
fzm
.
mall
.
server
.
front
.
merchant
.
model
;
import
com.baomidou.mybatisplus.annotation.*
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author wangp
* @date 2021/4/27 16:06
* @description 积分
* @since JDK 1.8
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"merchant_integral"
)
@ApiModel
(
value
=
"MerchantIntegral"
,
description
=
"积分"
)
public
class
MerchantIntegral
extends
PlatformIntegral
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 平台积分
*/
public
static
final
Integer
MERCHAN_TINTEGRAL_TYPE_PLAT
=
2
;
/**
* 5;可用
*/
public
static
final
Integer
MERCHAN_TINTEGRAL_STATUS_EFFECTIVE
=
5
;
@ApiModelProperty
(
value
=
"自增主键"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
@ApiModelProperty
(
value
=
"商户号"
)
private
String
merchantId
;
@ApiModelProperty
(
value
=
"标识"
)
private
String
label
;
@ApiModelProperty
(
value
=
"名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"标志"
)
private
String
logo
;
@ApiModelProperty
(
value
=
"发行量"
)
private
BigDecimal
issueNum
;
@ApiModelProperty
(
value
=
"余额"
)
private
BigDecimal
balanceNum
;
@ApiModelProperty
(
value
=
"TOKEN发行地址"
)
private
String
issueAddr
;
@ApiModelProperty
(
value
=
"描述"
)
private
String
description
;
@ApiModelProperty
(
value
=
"商户兑换比例基(分子)"
)
private
Integer
merchantRatio
;
@ApiModelProperty
(
value
=
"平台兑换比例基(分母)"
)
private
Integer
baseRatio
;
@ApiModelProperty
(
value
=
"类别(1.商户积分 2.平台积分)"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"状态(0.删除 1.发行中 2.发行失败 3.待审核 4.审核失败 5.可用 6.禁用)"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"审核失败原因"
)
private
String
failReason
;
@ApiModelProperty
(
value
=
"发行错误信息"
)
private
String
errMsg
;
@ApiModelProperty
(
value
=
"是否删除(0.否 1.是)"
)
@TableField
(
"is_delete"
)
private
Integer
isDel
;
@ApiModelProperty
(
value
=
"创建时间"
)
@TableField
(
fill
=
FieldFill
.
INSERT
)
private
Long
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Long
updateTime
;
}
mall-server-front/src/main/java/com/fzm/mall/server/front/merchant/model/PlatformIntegral.java
0 → 100644
View file @
b5966081
package
com
.
fzm
.
mall
.
server
.
front
.
merchant
.
model
;
import
com.baomidou.mybatisplus.annotation.*
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* <p>
*
* </p>
*
* @author fzm
* @since 2021-05-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"platform_integral"
)
@ApiModel
(
value
=
"PlatformIntegral对象"
,
description
=
""
)
public
class
PlatformIntegral
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"自增主键"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
@ApiModelProperty
(
value
=
"标识"
)
private
String
label
;
@ApiModelProperty
(
value
=
"名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"积分账户"
)
private
String
account
;
@ApiModelProperty
(
value
=
"回收地址"
)
private
String
recoverAddr
;
@ApiModelProperty
(
value
=
"账户私钥"
)
private
String
addrKey
;
@ApiModelProperty
(
value
=
"积分价格"
)
private
BigDecimal
price
;
@ApiModelProperty
(
value
=
"发行量"
)
private
BigDecimal
issueNum
;
@ApiModelProperty
(
value
=
"余额"
)
private
BigDecimal
balanceNum
;
@ApiModelProperty
(
value
=
"类别(1.平台积分 2.平台基础积分)"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"状态(1.可用 2.禁用)"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"创建时间"
)
@TableField
(
fill
=
FieldFill
.
INSERT
)
private
Long
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Long
updateTime
;
public
PlatformIntegral
()
{
}
public
PlatformIntegral
(
String
label
,
String
name
,
BigDecimal
price
,
BigDecimal
issueNum
,
BigDecimal
balanceNum
,
Integer
type
,
Integer
status
)
{
this
.
label
=
label
;
this
.
name
=
name
;
this
.
price
=
price
;
this
.
issueNum
=
issueNum
;
this
.
balanceNum
=
balanceNum
;
this
.
type
=
type
;
this
.
status
=
status
;
}
}
mall-server-front/src/main/java/com/fzm/mall/server/front/order/model/Pay.java
View file @
b5966081
...
...
@@ -31,6 +31,11 @@ public class Pay implements Serializable {
*/
public
static
final
Integer
PAY_STATE_TO_PAY
=
6
;
/**
* 4:积分支付
*/
public
static
final
Integer
PAY_TYPE_INTEGRAL
=
4
;
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"主键自增编号"
)
...
...
mall-server-front/src/main/java/com/fzm/mall/server/front/order/service/IPayService.java
View file @
b5966081
...
...
@@ -25,4 +25,6 @@ public interface IPayService extends IService<Pay> {
int
payRest
(
String
uid
,
PayRestVO
pid
);
String
getGoodsName
(
Pay
payId
);
Pay
readByOid
(
String
oid
);
}
mall-server-front/src/main/java/com/fzm/mall/server/front/order/service/impl/OrderServiceImpl.java
View file @
b5966081
...
...
@@ -25,7 +25,9 @@ import com.fzm.mall.server.front.goods.model.*;
import
com.fzm.mall.server.front.goods.model.vo.GoodsVo
;
import
com.fzm.mall.server.front.goods.model.vo.SkuVo
;
import
com.fzm.mall.server.front.goods.service.*
;
import
com.fzm.mall.server.front.merchant.mapper.MerchantIntegralMapper
;
import
com.fzm.mall.server.front.merchant.model.Merchant
;
import
com.fzm.mall.server.front.merchant.model.MerchantIntegral
;
import
com.fzm.mall.server.front.merchant.service.IMerchantService
;
import
com.fzm.mall.server.front.mq.MsgProducer
;
import
com.fzm.mall.server.front.order.mapper.OrderSkuMapper
;
...
...
@@ -105,7 +107,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
private
final
ISpuService
ispuService
;
private
final
IRedisService
redisService
;
private
final
IOrderBindBoxService
orderBindBoxService
;
private
final
MerchantIntegralMapper
merchantIntegralMapper
;
@Autowired
private
ChainUtil
chainUtil
;
...
...
@@ -719,6 +721,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
log
.
error
(
"skuVo+++"
+
skuVo
.
toString
());
//String hash = paraChainUtil.evmTransfer(, null, user.getAddress(), , orderDetail.getCoin());
//String replace = orderDetail.getCoin().replace(MALLGlobalConfig.GOODS_NFT_PREFIX,"");
saveOrderIntegralRecord
(
orderDetail
.
getOid
());
int
commodity
=
spuService
.
getCommodityBySkuId
(
orderDetail
.
getSkuId
());
if
(
commodity
==
1
)
{
//打币
...
...
@@ -794,7 +798,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
TranDto
tranDto
=
new
TranDto
();
tranDto
.
setId
(
userAssetRecord
.
getId
());
tranDto
.
setAmount
(
new
BigDecimal
(
orderDetail
.
getNumber
()));
//tranDto.setCoin(aLong.toString()
);
tranDto
.
setCoin
(
coinName
);
tranDto
.
setFromAddr
(
m
.
getNftAddr
());
tranDto
.
setHash
(
hash
);
tranDto
.
setToAddr
(
user
.
getAddress
());
...
...
@@ -838,7 +842,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
TranDto
tranDto
=
new
TranDto
();
tranDto
.
setId
(
userAssetRecord
.
getId
());
tranDto
.
setAmount
(
new
BigDecimal
(
orderDetail
.
getNumber
()));
//tranDto.setCoin(aLong.toString()
);
tranDto
.
setCoin
(
coinName
);
tranDto
.
setFromAddr
(
m
.
getNftAddr
());
tranDto
.
setHash
(
hash
);
tranDto
.
setToAddr
(
user
.
getAddress
());
...
...
@@ -882,7 +886,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
TranDto
tranDto
=
new
TranDto
();
tranDto
.
setId
(
userAssetRecord
.
getId
());
tranDto
.
setAmount
(
new
BigDecimal
(
orderDetail
.
getNumber
()));
//tranDto.setCoin(aLong
.toString());
tranDto
.
setCoin
(
o
.
toString
());
tranDto
.
setFromAddr
(
m
.
getNftAddr
());
tranDto
.
setHash
(
hash
);
tranDto
.
setToAddr
(
user
.
getAddress
());
...
...
@@ -936,7 +940,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
TranDto
tranDto
=
new
TranDto
();
tranDto
.
setId
(
userAssetRecord
.
getId
());
tranDto
.
setAmount
(
new
BigDecimal
(
orderDetail
.
getNumber
()));
//tranDto.setCoin(aLong.toString()
);
tranDto
.
setCoin
(
coinName
);
tranDto
.
setFromAddr
(
m
.
getNftAddr
());
tranDto
.
setHash
(
hash
);
tranDto
.
setToAddr
(
user
.
getAddress
());
...
...
@@ -1004,7 +1008,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
TranDto
tranDto
=
new
TranDto
();
tranDto
.
setId
(
userAssetRecord
.
getId
());
tranDto
.
setAmount
(
new
BigDecimal
(
orderDetail
.
getNumber
()));
//tranDto.setCoin(aLong.toString()
);
tranDto
.
setCoin
(
coinName
);
tranDto
.
setFromAddr
(
m
.
getNftAddr
());
tranDto
.
setHash
(
hash
);
tranDto
.
setToAddr
(
user
.
getAddress
());
...
...
@@ -1075,7 +1079,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
TranDto
tranDto
=
new
TranDto
();
tranDto
.
setId
(
userAssetRecord
.
getId
());
tranDto
.
setAmount
(
new
BigDecimal
(
orderDetail
.
getNumber
()));
//tranDto.setCoin(aLong.toString()
);
tranDto
.
setCoin
(
coinName
);
tranDto
.
setFromAddr
(
m
.
getNftAddr
());
tranDto
.
setHash
(
hash
);
tranDto
.
setToAddr
(
user
.
getAddress
());
...
...
@@ -1145,7 +1149,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
TranDto
tranDto
=
new
TranDto
();
tranDto
.
setId
(
userAssetRecord
.
getId
());
tranDto
.
setAmount
(
new
BigDecimal
(
orderDetail
.
getNumber
()));
//tranDto.setCoin(aLong
.toString());
tranDto
.
setCoin
(
o
.
toString
());
tranDto
.
setFromAddr
(
m
.
getNftAddr
());
tranDto
.
setHash
(
hash
);
tranDto
.
setToAddr
(
user
.
getAddress
());
...
...
@@ -1197,6 +1201,31 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
/**
* 用积分支付时,生成积分支付流水记录
* @param oid
*/
private
void
saveOrderIntegralRecord
(
String
oid
)
{
Pay
pay
=
payService
.
readByOid
(
oid
);
if
(
pay
.
getPayType
()
!=
Pay
.
PAY_TYPE_INTEGRAL
){
return
;
}
/**
* 生成用户资产变更记录-支出
*/
QueryWrapper
<
MerchantIntegral
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"type"
,
MerchantIntegral
.
MERCHAN_TINTEGRAL_TYPE_PLAT
)
.
eq
(
"status"
,
MerchantIntegral
.
MERCHAN_TINTEGRAL_STATUS_EFFECTIVE
);
MerchantIntegral
merchantIntegral
=
merchantIntegralMapper
.
selectOne
(
queryWrapper
);
User
user
=
userService
.
getByUid
(
pay
.
getUid
());
String
hash
=
chainUtil
.
tranToken
(
user
.
getAddress
(),
null
,
merchantIntegral
.
getIssueAddr
(),
pay
.
getPaidAmount
(),
merchantIntegral
.
getLabel
());
UserAssetRecord
record
=
new
UserAssetRecord
();
record
.
init
(
pay
.
getUid
(),
merchantIntegral
.
getLabel
(),
AssetRecordTypeEnum
.
INTEGRAL_DEDUCTION
.
getType
(),
pay
.
getPaidAmount
(),
2
,
"平台"
,
hash
,
pay
.
getPayId
());
userAssetRecordService
.
save
(
record
);
}
@Override
@Transactional
public
void
close
(
Object
oid
)
{
...
...
mall-server-front/src/main/java/com/fzm/mall/server/front/order/service/impl/PayServiceImpl.java
View file @
b5966081
...
...
@@ -276,4 +276,11 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements IPayS
return
sb
.
substring
(
0
,
sb
.
length
()-
1
);
}
@Override
public
Pay
readByOid
(
String
oid
)
{
QueryWrapper
<
Pay
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
like
(
"oids_json"
,
oid
);
return
getOne
(
queryWrapper
);
}
}
mall-server-front/src/main/resources/mapper/merchant/MerchantIntegralMapper.xml
0 → 100644
View file @
b5966081
<?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.fzm.mall.server.front.merchant.mapper.MerchantIntegralMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.fzm.mall.server.front.merchant.model.MerchantIntegral"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"merchant_id"
property=
"merchantId"
/>
<result
column=
"label"
property=
"label"
/>
<result
column=
"name"
property=
"name"
/>
<result
column=
"logo"
property=
"logo"
/>
<result
column=
"issue_num"
property=
"issueNum"
/>
<result
column=
"balance_num"
property=
"balanceNum"
/>
<result
column=
"issue_addr"
property=
"issueAddr"
/>
<result
column=
"description"
property=
"description"
/>
<result
column=
"type"
property=
"type"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"fail_reason"
property=
"failReason"
/>
<result
column=
"err_msg"
property=
"errMsg"
/>
<result
column=
"is_delete"
property=
"idDel"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
</resultMap>
</mapper>
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