Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gogirl-miniapp-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
huluobin
gogirl-miniapp-backend
Commits
d5b3927d
Commit
d5b3927d
authored
Oct 17, 2020
by
huluobin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
经营端
parent
f48b2f01
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
128 additions
and
11 deletions
+128
-11
pom.xml
pom.xml
+1
-8
CustomerBalanceService.java
...irl/application/user/customer/CustomerBalanceService.java
+11
-0
CustomerBalanceServiceImpl.java
...cation/user/customer/impl/CustomerBalanceServiceImpl.java
+51
-0
CustomerBalanceRecord.java
...om/gogirl/domain/user/customer/CustomerBalanceRecord.java
+6
-3
CustomerBalanceMapper.java
...structure/mapper/user/customer/CustomerBalanceMapper.java
+9
-0
AchievementsPersonaResultPageApiRequest.java
...in/techcnian/AchievementsPersonaResultPageApiRequest.java
+2
-0
GetTechnicianPageRequest.java
...girl/shared/admin/techcnian/GetTechnicianPageRequest.java
+2
-0
CustomerBalanceMapper.xml
src/main/resources/mapper/user/CustomerBalanceMapper.xml
+7
-0
Test.java
src/test/java/com/gogirl/Test.java
+5
-0
CustomerBalanceServiceImplTest.java
...on/user/customer/impl/CustomerBalanceServiceImplTest.java
+34
-0
No files found.
pom.xml
View file @
d5b3927d
...
...
@@ -191,7 +191,6 @@
</dependency>
<!--apache lang 工具包-->
<dependency>
<groupId>
org.apache.commons
</groupId>
...
...
@@ -254,13 +253,6 @@
<version>
1.5.21
</version>
</dependency>
<!-- <!– 自动生成接口文档 –>-->
<!-- <dependency>-->
<!-- <groupId>io.springfox</groupId>-->
<!-- <artifactId>springfox-swagger-ui</artifactId>-->
<!-- <version>${springfox-swagger-ui.version}</version>-->
<!-- </dependency>-->
<dependency>
<groupId>
com.github.xiaoymin
</groupId>
<artifactId>
swagger-bootstrap-ui
</artifactId>
...
...
@@ -444,4 +436,5 @@
</resource>
</resources>
</build>
</project>
src/main/java/com/gogirl/application/user/customer/CustomerBalanceService.java
View file @
d5b3927d
...
...
@@ -33,4 +33,15 @@ public interface CustomerBalanceService extends IService<CustomerBalance> {
* @return 用户消费记录分页查询结果
*/
IPage
<
CustomerBalanceRecord
>
getBalanceRecordCard
(
Integer
customerId
,
int
pageNum
,
int
pageSize
);
/**
* <p>
* 会员余额迁移
* </p>
*
* @param sourcePhone
* @param targetPhone
*/
void
transferBalance
(
String
sourcePhone
,
String
targetPhone
);
}
src/main/java/com/gogirl/application/user/customer/impl/CustomerBalanceServiceImpl.java
View file @
d5b3927d
...
...
@@ -10,6 +10,7 @@ import com.gogirl.application.order.serve.OrderManageService;
import
com.gogirl.application.user.customer.CustomerBalanceService
;
import
com.gogirl.domain.order.serve.OrderManage
;
import
com.gogirl.domain.store.store.StoreUser
;
import
com.gogirl.domain.user.customer.Customer
;
import
com.gogirl.domain.user.customer.CustomerBalance
;
import
com.gogirl.domain.user.customer.CustomerBalanceRecord
;
import
com.gogirl.infrastructure.common.exception.ErrorCode
;
...
...
@@ -147,4 +148,54 @@ public class CustomerBalanceServiceImpl extends ServiceImpl<CustomerBalanceMappe
}
return
page
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
transferBalance
(
String
sourcePhone
,
String
targetPhone
)
{
Customer
sourceCustomer
=
customerMapper
.
selectByPhone
(
sourcePhone
);
Customer
targetCustomer
=
customerMapper
.
selectByPhone
(
targetPhone
);
if
(
sourceCustomer
==
null
||
targetCustomer
==
null
)
{
throw
new
RRException
(
"用户不存在"
);
}
CustomerBalance
sourceCustomerBalance
=
customerBalanceMapper
.
getByCustomerId
(
sourceCustomer
.
getId
());
if
(
sourceCustomerBalance
==
null
)
{
throw
new
RRException
(
"源用户异常"
);
}
Integer
transferAmount
=
sourceCustomerBalance
.
getBalance
();
CustomerBalanceRecord
sourceCustomerBalanceRecord
=
new
CustomerBalanceRecord
();
sourceCustomerBalanceRecord
.
setCustomerId
(
sourceCustomer
.
getId
());
sourceCustomerBalanceRecord
.
setOrderAmount
(
transferAmount
);
sourceCustomerBalanceRecord
.
setSource
(
CustomerBalanceRecord
.
SOURCE_TRANSFER
);
sourceCustomerBalanceRecord
.
setType
(
CustomerBalanceRecord
.
TYPE_TRANSFER_OUT
);
customerBalanceRecordMapper
.
insert
(
sourceCustomerBalanceRecord
);
sourceCustomerBalance
.
setBalance
(
0
);
customerBalanceMapper
.
updateById
(
sourceCustomerBalance
);
CustomerBalance
targetCustomerBalance
=
customerBalanceMapper
.
getByCustomerId
(
targetCustomer
.
getId
());
if
(
targetCustomerBalance
==
null
)
{
targetCustomerBalance
=
new
CustomerBalance
();
targetCustomerBalance
.
setCustomerId
(
targetCustomer
.
getId
());
customerBalanceMapper
.
insert
(
targetCustomerBalance
);
}
CustomerBalanceRecord
targetCustomerBalanceRecord
=
new
CustomerBalanceRecord
();
targetCustomerBalanceRecord
.
setCustomerId
(
targetCustomer
.
getId
());
targetCustomerBalanceRecord
.
setOrderAmount
(
transferAmount
);
targetCustomerBalanceRecord
.
setSource
(
CustomerBalanceRecord
.
SOURCE_TRANSFER
);
targetCustomerBalanceRecord
.
setType
(
CustomerBalanceRecord
.
TYPE_TRANSFER_IN
);
customerBalanceRecordMapper
.
insert
(
targetCustomerBalanceRecord
);
targetCustomerBalance
.
setBalance
(
targetCustomerBalance
.
getBalance
()
+
transferAmount
);
customerBalanceMapper
.
updateById
(
targetCustomerBalance
);
}
}
src/main/java/com/gogirl/domain/user/customer/CustomerBalanceRecord.java
View file @
d5b3927d
...
...
@@ -3,7 +3,6 @@ package com.gogirl.domain.user.customer;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.gogirl.domain.order.serve.OrderManage
;
import
com.gogirl.domain.store.store.StoreUser
;
...
...
@@ -18,24 +17,27 @@ import java.util.Date;
@ApiModel
(
"会员卡消费记录"
)
@TableName
(
"customer_balance_record"
)
@Data
@Builder
@AllArgsConstructor
public
class
CustomerBalanceRecord
implements
Serializable
{
public
static
final
Integer
TYPE_MALL_ORDER
=
3
;
/*类型:1:充值,2:首次充值,3:商城订单扣款:,-1:预约订单扣款*/
/*类型:1:充值,2:首次充值,3:商城订单扣款:,-1:预约订单扣款
4余额迁移
*/
public
static
final
Integer
TYPE_CHARGE
=
1
;
public
static
final
Integer
TYPE_FIRST_CHARGE
=
2
;
public
static
final
Integer
TYPE_MALL_ORDER_CONSUME
=
3
;
public
static
final
Integer
TYPE_SCHEDULE_ORDER_CONSUME
=
-
1
;
public
static
final
Integer
TYPE_TRANSFER_IN
=
4
;
public
static
final
Integer
TYPE_TRANSFER_OUT
=
5
;
/*钱去到哪里了:1:用户端微信支付,2:会员卡收款,3:其他(目前没用到),4:用户端微信支付充值,5:pos收款,6:现金收款,7:大众点评收款,8:微信扫码支付,9:团购,10:免*/
public
static
final
Integer
SOURCE_WX
=
1
;
public
static
final
Integer
SOURCE_BALANCE
=
2
;
public
static
final
Integer
SOURCE_OTHER
=
3
;
/*12余额迁移*/
public
static
final
Integer
SOURCE_TRANSFER
=
12
;
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
...
...
@@ -64,6 +66,7 @@ public class CustomerBalanceRecord implements Serializable {
private
Integer
newOrderId
;
private
Double
discount
;
@ApiModelProperty
(
"赠送金额"
)
private
Integer
bestowAmount
;
...
...
src/main/java/com/gogirl/infrastructure/mapper/user/customer/CustomerBalanceMapper.java
View file @
d5b3927d
...
...
@@ -6,5 +6,14 @@ import com.gogirl.domain.user.customer.CustomerBalance;
public
interface
CustomerBalanceMapper
extends
BaseMapper
<
CustomerBalance
>
{
/**
* <p>
* 根据会员id查询会员余额
* </p>
*
* @param customerId 会员Id
* @return
*/
CustomerBalance
getByCustomerId
(
Integer
customerId
);
}
src/main/java/com/gogirl/shared/admin/techcnian/AchievementsPersonaResultPageApiRequest.java
View file @
d5b3927d
...
...
@@ -31,4 +31,6 @@ public class AchievementsPersonaResultPageApiRequest implements Serializable {
private
Integer
page_store_id
;
private
Integer
api_brand_id
=
1
;
}
src/main/java/com/gogirl/shared/admin/techcnian/GetTechnicianPageRequest.java
View file @
d5b3927d
...
...
@@ -56,5 +56,7 @@ public class GetTechnicianPageRequest implements Serializable {
private
Integer
page_store_id
;
private
Integer
api_brand_id
=
1
}
src/main/resources/mapper/user/CustomerBalanceMapper.xml
View file @
d5b3927d
...
...
@@ -29,10 +29,17 @@
customer_id, balance, current_discount, first_charge_time, update_time, total_charge,
total_bestow, total_expenditure, version, level,discount_rate
</sql>
<select
id=
"selectByCustomerId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Integer"
>
select
<include
refid=
"Base_Column_List"
/>
from customer_balance cb
where customer_id = #{customerId,jdbcType=INTEGER}
</select>
<select
id=
"getByCustomerId"
resultType=
"com.gogirl.domain.user.customer.CustomerBalance"
>
select *
from customer_balance
where customer_id = #{customerId}
</select>
</mapper>
src/test/java/com/gogirl/Test.java
View file @
d5b3927d
...
...
@@ -12,6 +12,7 @@ import com.gogirl.application.market.timescard.TimesCardUsedRecordService;
import
com.gogirl.application.order.member.impl.ChargeOrderServiceImpl
;
import
com.gogirl.application.order.serve.OrderManageService
;
import
com.gogirl.application.store.store.StoreTechnicianService
;
import
com.gogirl.application.user.customer.CustomerBalanceService
;
import
com.gogirl.domain.common.xcx.GogirlToken
;
import
com.gogirl.domain.common.xcx.TimeNode
;
import
com.gogirl.domain.common.xcx.WeekConfig
;
...
...
@@ -760,4 +761,8 @@ public class Test {
couponService
.
sendCoupon
(
154
,
23508
);
}
@Resource
CustomerBalanceService
customerBalanceService
;
}
src/test/java/com/gogirl/application/user/customer/impl/CustomerBalanceServiceImplTest.java
0 → 100644
View file @
d5b3927d
package
com
.
gogirl
.
application
.
user
.
customer
.
impl
;
import
com.gogirl.application.user.customer.CustomerBalanceService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.ActiveProfiles
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
javax.annotation.Resource
;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/10/12 6:01 下午
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
@Slf4j
@ActiveProfiles
(
"prod"
)
public
class
CustomerBalanceServiceImplTest
{
@Resource
CustomerBalanceService
customerBalanceService
;
@org
.
junit
.
Test
public
void
transferBalance
()
{
customerBalanceService
.
transferBalance
(
"18021011577"
,
"18221011577"
);
customerBalanceService
.
transferBalance
(
"14714400703"
,
"59347034"
);
}
}
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