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
3c9d128c
Commit
3c9d128c
authored
Mar 13, 2020
by
huluobin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug fix
parent
33362ce2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
498 additions
and
302 deletions
+498
-302
CouponCustomerRelevanceService.java
...rl/application/market/CouponCustomerRelevanceService.java
+32
-0
CouponService.java
...ain/java/com/gogirl/application/market/CouponService.java
+0
-21
CouponCustomerRelevanceServiceImpl.java
...ation/market/impl/CouponCustomerRelevanceServiceImpl.java
+108
-0
CouponServiceImpl.java
...com/gogirl/application/market/impl/CouponServiceImpl.java
+0
-53
IChargeOrderService.java
.../gogirl/application/order/member/IChargeOrderService.java
+4
-0
OrderManageService.java
...om/gogirl/application/order/serve/OrderManageService.java
+7
-0
OrderManageServiceImpl.java
.../application/order/serve/impl/OrderManageServiceImpl.java
+39
-1
CustomerBalanceService.java
...irl/application/user/customer/CustomerBalanceService.java
+10
-10
CustomerService.java
...com/gogirl/application/user/customer/CustomerService.java
+39
-0
CustomerBalanceServiceImpl.java
...cation/user/customer/impl/CustomerBalanceServiceImpl.java
+53
-15
CustomerServiceImpl.java
...l/application/user/customer/impl/CustomerServiceImpl.java
+122
-0
CustomerMessageServiceImpl.java
...girl/application/xcx/impl/CustomerMessageServiceImpl.java
+4
-0
CustomerOrderDetail.java
...ain/java/com/gogirl/dto/customer/CustomerOrderDetail.java
+16
-0
CustomerBalanceRecordMapper.java
...ure/mapper/user/customer/CustomerBalanceRecordMapper.java
+1
-1
CouponController.java
...ain/java/com/gogirl/interfaces/user/CouponController.java
+2
-64
CouponCustomerRelevanceController.java
...rl/interfaces/user/CouponCustomerRelevanceController.java
+50
-6
CustomerController.java
...n/java/com/gogirl/interfaces/user/CustomerController.java
+0
-0
DiscountConfigController.java
.../com/gogirl/interfaces/user/DiscountConfigController.java
+1
-1
TestPaperController.java
.../java/com/gogirl/interfaces/user/TestPaperController.java
+1
-3
TimesCardController.java
.../java/com/gogirl/interfaces/user/TimesCardController.java
+0
-2
MessageController.java
...ain/java/com/gogirl/interfaces/xcx/MessageController.java
+0
-5
PayController.java
src/main/java/com/gogirl/interfaces/xcx/PayController.java
+6
-80
TimeNodeController.java
...in/java/com/gogirl/interfaces/xcx/TimeNodeController.java
+0
-20
WeekConfigController.java
.../java/com/gogirl/interfaces/xcx/WeekConfigController.java
+0
-20
ConsumerCommand.java
.../java/com/gogirl/shared/user/command/ConsumerCommand.java
+3
-0
No files found.
src/main/java/com/gogirl/application/market/CouponCustomerRelevanceService.java
View file @
3c9d128c
package
com
.
gogirl
.
application
.
market
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.domain.market.coupon.CouponCustomerRelevance
;
import
java.util.List
;
public
interface
CouponCustomerRelevanceService
extends
IService
<
CouponCustomerRelevance
>
{
/**
* 获取订单可用卡券
*
* @param currentCustomerId
* @param orderId
* @return
*/
List
<
CouponCustomerRelevance
>
getOrderCoupon
(
Integer
currentCustomerId
,
Integer
orderId
);
/**
* 获取我的优惠券列表
*
* @param customerId
* @param pageNum
* @param pageSize
* @param state
* @param containRemoveCoupon
* @return
*/
PageInfo
<
CouponCustomerRelevance
>
selectMyCoupon
(
Integer
customerId
,
Integer
pageNum
,
Integer
pageSize
,
Integer
state
,
Boolean
containRemoveCoupon
);
/**
* 美甲师提交外部券
*
* @param orderId
* @param idList
*/
void
techSubmitCoupons
(
Integer
orderId
,
List
<
Integer
>
idList
);
}
src/main/java/com/gogirl/application/market/CouponService.java
View file @
3c9d128c
...
...
@@ -41,27 +41,6 @@ public interface CouponService extends IService<Coupon> {
*/
List
<
CouponCustomerRelevance
>
selectMyNewCustomerCoupon
(
Integer
customerId
,
List
<
Integer
>
couponIdList
);
/**
* 获取订单可用卡券
*
* @param currentCustomerId
* @param orderId
* @return
*/
List
<
CouponCustomerRelevance
>
getOrderCoupon
(
Integer
currentCustomerId
,
Integer
orderId
);
/**
* 查询我的卡券
*
* @param customerId
* @param pageNum
* @param pageSize
* @param state
* @param containRemoveCoupon
* @return
*/
PageInfo
<
CouponCustomerRelevance
>
selectMyCoupon
(
Integer
customerId
,
Integer
pageNum
,
Integer
pageSize
,
Integer
state
,
Boolean
containRemoveCoupon
);
/**
* 是否新人
...
...
src/main/java/com/gogirl/application/market/impl/CouponCustomerRelevanceServiceImpl.java
View file @
3c9d128c
package
com
.
gogirl
.
application
.
market
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.application.market.CouponCustomerRelevanceService
;
import
com.gogirl.application.market.MarketService
;
import
com.gogirl.domain.market.coupon.Coupon
;
import
com.gogirl.domain.market.coupon.CouponCustomerRelevance
;
import
com.gogirl.domain.order.serve.OrderManage
;
import
com.gogirl.domain.order.serve.OrderServe
;
import
com.gogirl.infrastructure.common.util.ListUtil
;
import
com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper
;
import
com.gogirl.infrastructure.mapper.market.coupon.CouponMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper
;
import
com.gogirl.shared.market.command.SetUpOuterCouponCommand
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Service
@AllArgsConstructor
@Slf4j
public
class
CouponCustomerRelevanceServiceImpl
extends
ServiceImpl
<
CouponCustomerRelevanceMapper
,
CouponCustomerRelevance
>
implements
CouponCustomerRelevanceService
{
private
final
OrderServeMapper
orderServeMapper
;
private
final
OrderManageMapper
orderManageMapper
;
private
final
CouponCustomerRelevanceMapper
couponCustomerRelevanceMapper
;
private
final
CouponMapper
couponMapper
;
private
final
MarketService
marketService
;
@Override
public
List
<
CouponCustomerRelevance
>
getOrderCoupon
(
Integer
currentCustomerId
,
Integer
orderId
)
{
List
<
OrderServe
>
orderServeList
=
orderServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
OrderServe
>().
eq
(
OrderServe:
:
getOrderId
,
orderId
));
OrderManage
orderManage
=
orderManageMapper
.
selectById
(
orderId
);
return
couponCustomerRelevanceMapper
.
selectList
(
new
LambdaQueryWrapper
<
CouponCustomerRelevance
>()
.
eq
(
CouponCustomerRelevance:
:
getCustomerId
,
currentCustomerId
)
.
eq
(
CouponCustomerRelevance:
:
getSourceType
,
0
)
.
ne
(
CouponCustomerRelevance:
:
getState
,
2
)
.
ne
(
CouponCustomerRelevance:
:
getState
,
3
))
.
stream
()
//过滤所有可用在服务上的
.
filter
(
couponCustomerRelevance
->
{
List
<
Integer
>
canUserServeIds
=
couponCustomerRelevanceMapper
.
queryCouponCustomerServeRelevance
(
couponCustomerRelevance
.
getCouponId
());
canUserServeIds
.
retainAll
(
orderServeList
.
stream
().
map
(
OrderServe:
:
getServeId
).
collect
(
Collectors
.
toList
()));
return
ListUtil
.
isNotEmpty
(
canUserServeIds
);
})
//过滤可用
.
filter
(
CouponCustomerRelevance:
:
isValid
)
//过滤达到可用金额
.
filter
(
couponCustomerRelevance
->
couponCustomerRelevance
.
getReachingAmount
().
compareTo
(
orderManage
.
getTotalPrice
())
<
0
)
.
collect
(
Collectors
.
toList
());
}
@Override
public
PageInfo
<
CouponCustomerRelevance
>
selectMyCoupon
(
Integer
customerId
,
Integer
pageNum
,
Integer
pageSize
,
Integer
state
,
Boolean
containRemoveCoupon
)
{
if
(
pageNum
!=
null
&&
pageSize
!=
null
)
{
PageHelper
.
startPage
(
pageNum
,
pageSize
);
}
List
<
CouponCustomerRelevance
>
couponCustomerRelevanceList
=
couponCustomerRelevanceMapper
.
selectList
(
new
LambdaQueryWrapper
<
CouponCustomerRelevance
>().
eq
(
CouponCustomerRelevance:
:
getCustomerId
,
customerId
));
this
.
joinCouponCustomerRelevanceMapper
(
couponCustomerRelevanceList
);
long
nowTime
=
new
Date
().
getTime
();
for
(
int
i
=
0
;
i
<
couponCustomerRelevanceList
.
size
();
i
++)
{
if
(
containRemoveCoupon
!=
null
&&
containRemoveCoupon
==
false
&&
couponCustomerRelevanceList
.
get
(
i
).
getCouponId
().
equals
(
66
))
{
couponCustomerRelevanceList
.
remove
(
i
);
i
--;
continue
;
}
CouponCustomerRelevance
couponCustomerRelevance
=
couponCustomerRelevanceList
.
get
(
i
);
if
(
nowTime
>
couponCustomerRelevance
.
getValidEndTime
().
getTime
()
&&
couponCustomerRelevance
.
getState
()
==
1
)
{
couponCustomerRelevance
.
setState
(
3
);
}
if
(
state
!=
null
&&
state
!=
0
&&
couponCustomerRelevance
!=
null
&&
couponCustomerRelevance
.
getState
()
!=
null
&&
!
couponCustomerRelevance
.
getState
().
equals
(
state
))
{
couponCustomerRelevanceList
.
remove
(
i
);
i
--;
}
}
PageInfo
<
CouponCustomerRelevance
>
pageInfo
=
new
PageInfo
<>(
couponCustomerRelevanceList
);
return
pageInfo
;
}
@Override
public
void
techSubmitCoupons
(
Integer
orderId
,
List
<
Integer
>
couponIds
)
{
//查询订单
OrderManage
orderManage
=
orderManageMapper
.
selectById
(
orderId
);
SetUpOuterCouponCommand
cmd
=
SetUpOuterCouponCommand
.
builder
()
.
customerId
(
orderManage
.
getOrderUser
())
.
orderId
(
orderId
)
.
outerCouponIds
(
couponIds
)
.
build
();
marketService
.
setUpOuterCoupon
(
cmd
);
marketService
.
setterOrder
(
orderId
);
}
private
void
joinCouponCustomerRelevanceMapper
(
List
<
CouponCustomerRelevance
>
couponCustomerRelevanceList
)
{
List
<
Integer
>
ids
=
couponCustomerRelevanceList
.
stream
().
map
(
CouponCustomerRelevance:
:
getCouponId
).
collect
(
Collectors
.
toList
());
List
<
Coupon
>
couponList
=
couponMapper
.
selectList
(
new
LambdaQueryWrapper
<
Coupon
>().
in
(
Coupon:
:
getId
,
ids
)
);
Map
<
Integer
,
List
<
Coupon
>>
couponMap
=
couponList
.
stream
().
collect
(
Collectors
.
groupingBy
(
Coupon:
:
getId
));
couponCustomerRelevanceList
.
forEach
(
couponCustomerRelevance
->
{
if
(
ListUtil
.
isNotEmpty
(
couponMap
.
get
(
couponCustomerRelevance
.
getCouponId
())))
{
couponCustomerRelevance
.
setCoupon
(
couponMap
.
get
(
couponCustomerRelevance
.
getCouponId
()).
stream
().
findAny
().
orElse
(
null
));
}
});
}
}
src/main/java/com/gogirl/application/market/impl/CouponServiceImpl.java
View file @
3c9d128c
...
...
@@ -91,59 +91,6 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
return
couponCustomerRelevanceList
;
}
@Override
public
List
<
CouponCustomerRelevance
>
getOrderCoupon
(
Integer
currentCustomerId
,
Integer
orderId
)
{
List
<
OrderServe
>
orderServeList
=
orderServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
OrderServe
>().
eq
(
OrderServe:
:
getOrderId
,
orderId
));
OrderManage
orderManage
=
orderManageMapper
.
selectById
(
orderId
);
return
couponCustomerRelevanceMapper
.
selectList
(
new
LambdaQueryWrapper
<
CouponCustomerRelevance
>()
.
eq
(
CouponCustomerRelevance:
:
getCustomerId
,
currentCustomerId
)
.
eq
(
CouponCustomerRelevance:
:
getSourceType
,
0
)
.
ne
(
CouponCustomerRelevance:
:
getState
,
2
)
.
ne
(
CouponCustomerRelevance:
:
getState
,
3
))
.
stream
()
//过滤所有可用在服务上的
.
filter
(
couponCustomerRelevance
->
{
List
<
Integer
>
canUserServeIds
=
couponCustomerRelevanceMapper
.
queryCouponCustomerServeRelevance
(
couponCustomerRelevance
.
getCouponId
());
canUserServeIds
.
retainAll
(
orderServeList
.
stream
().
map
(
OrderServe:
:
getServeId
).
collect
(
Collectors
.
toList
()));
return
ListUtil
.
isNotEmpty
(
canUserServeIds
);
})
//过滤可用
.
filter
(
CouponCustomerRelevance:
:
isValid
)
//过滤达到可用金额
.
filter
(
couponCustomerRelevance
->
couponCustomerRelevance
.
getReachingAmount
().
compareTo
(
orderManage
.
getTotalPrice
())
<
0
)
.
collect
(
Collectors
.
toList
());
}
@Override
public
PageInfo
<
CouponCustomerRelevance
>
selectMyCoupon
(
Integer
customerId
,
Integer
pageNum
,
Integer
pageSize
,
Integer
state
,
Boolean
containRemoveCoupon
)
{
if
(
pageNum
!=
null
&&
pageSize
!=
null
)
{
PageHelper
.
startPage
(
pageNum
,
pageSize
);
}
List
<
CouponCustomerRelevance
>
couponCustomerRelevanceList
=
couponCustomerRelevanceMapper
.
selectList
(
new
LambdaQueryWrapper
<
CouponCustomerRelevance
>().
eq
(
CouponCustomerRelevance:
:
getCustomerId
,
customerId
));
this
.
joinCouponCustomerRelevanceMapper
(
couponCustomerRelevanceList
);
long
nowTime
=
new
Date
().
getTime
();
for
(
int
i
=
0
;
i
<
couponCustomerRelevanceList
.
size
();
i
++)
{
if
(
containRemoveCoupon
!=
null
&&
containRemoveCoupon
==
false
&&
couponCustomerRelevanceList
.
get
(
i
).
getCouponId
().
equals
(
66
))
{
couponCustomerRelevanceList
.
remove
(
i
);
i
--;
continue
;
}
CouponCustomerRelevance
couponCustomerRelevance
=
couponCustomerRelevanceList
.
get
(
i
);
if
(
nowTime
>
couponCustomerRelevance
.
getValidEndTime
().
getTime
()
&&
couponCustomerRelevance
.
getState
()
==
1
)
{
couponCustomerRelevance
.
setState
(
3
);
}
if
(
state
!=
null
&&
state
!=
0
&&
couponCustomerRelevance
!=
null
&&
couponCustomerRelevance
.
getState
()
!=
null
&&
!
couponCustomerRelevance
.
getState
().
equals
(
state
))
{
couponCustomerRelevanceList
.
remove
(
i
);
i
--;
}
}
PageInfo
<
CouponCustomerRelevance
>
pageInfo
=
new
PageInfo
<>(
couponCustomerRelevanceList
);
return
pageInfo
;
}
@Override
public
Coupon
checkNewCustomer
(
Integer
customerId
)
{
...
...
src/main/java/com/gogirl/application/order/member/IChargeOrderService.java
View file @
3c9d128c
...
...
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult
;
import
com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult
;
import
com.github.binarywang.wxpay.exception.WxPayException
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.domain.order.member.ChargeOrder
;
import
com.gogirl.domain.user.customer.CustomerBalanceRecord
;
import
java.net.UnknownHostException
;
...
...
@@ -42,4 +44,6 @@ public interface IChargeOrderService extends IService<ChargeOrder> {
* @param remark
*/
void
chargeCustomerCard
(
String
name
,
String
phone
,
Double
amount
,
Integer
source
,
String
refereeId
,
String
remark
);
}
src/main/java/com/gogirl/application/order/serve/OrderManageService.java
View file @
3c9d128c
...
...
@@ -119,4 +119,11 @@ public interface OrderManageService extends IService<OrderManage> {
* @return
*/
OrderManage
queryOrderForComment
(
Integer
id
);
/**
* 朋友代付
* @param orderId
* @param phone
*/
void
friendPayOrder
(
Integer
orderId
,
String
phone
);
}
src/main/java/com/gogirl/application/order/serve/impl/OrderManageServiceImpl.java
View file @
3c9d128c
...
...
@@ -28,6 +28,7 @@ import com.gogirl.domain.product.serve.BaseType;
import
com.gogirl.domain.store.store.StoreTechnician
;
import
com.gogirl.domain.user.customer.Customer
;
import
com.gogirl.domain.user.customer.CustomerBalance
;
import
com.gogirl.domain.user.customer.CustomerMessage
;
import
com.gogirl.domain.xcx.GogirlToken
;
import
com.gogirl.infrastructure.common.exception.RRException
;
import
com.gogirl.infrastructure.common.util.JsonUtilByFsJson
;
...
...
@@ -40,8 +41,10 @@ import com.gogirl.infrastructure.mapper.product.serve.BaseServeMapper;
import
com.gogirl.infrastructure.mapper.product.serve.BaseTypeMapper
;
import
com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerMessageMapper
;
import
com.gogirl.infrastructure.subscribe.SubscribeService
;
import
com.gogirl.infrastructure.util.CheckUtil
;
import
com.gogirl.infrastructure.util.SessionUtils
;
import
com.gogirl.shared.member.order.command.CreateCommentCommand
;
import
com.gogirl.shared.member.order.command.OrderCommentCommand
;
import
com.gogirl.shared.order.serve.query.qry.ordermanage.ListOrderQuery
;
...
...
@@ -318,7 +321,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
orderManage
.
setScheduleManage
(
list
.
stream
().
findAny
().
orElse
(
null
));
}
orderManage
.
getListOrderServer
().
forEach
(
orderServe
->
{
if
(
orderServe
.
getEndTime
()!=
null
&&
orderServe
.
getStartTime
()!=
null
)
{
if
(
orderServe
.
getEndTime
()
!=
null
&&
orderServe
.
getStartTime
()
!=
null
)
{
orderServe
.
setActualServeDuration
((
int
)
(
orderServe
.
getEndTime
().
getTime
()
-
orderServe
.
getStartTime
().
getTime
())
/
1000
/
60
);
}
...
...
@@ -836,6 +839,41 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
}
private
final
CustomerMessageMapper
customerMessageMapper
;
@Override
public
void
friendPayOrder
(
Integer
orderId
,
String
phone
)
{
Integer
currentCustomerId
=
SessionUtils
.
getCustomerToken
().
getCustomerId
();
Customer
customer
=
customerService
.
selectByPhone
(
phone
);
if
(
customer
==
null
)
{
throw
new
RRException
(
500
,
"用户不存在"
);
}
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
CustomerMessage
.
PARAM_FRIEND_PAY_ORDER_ID
,
orderId
);
params
.
put
(
CustomerMessage
.
PARAM_FRIEND_PAY_CUSTOMER_ID
,
currentCustomerId
);
String
paramsJson
=
JsonUtilByFsJson
.
beanToJson
(
params
);
List
<
CustomerMessage
>
list
=
customerMessageMapper
.
selectList
(
new
LambdaQueryWrapper
<
CustomerMessage
>().
eq
(
CustomerMessage:
:
getParamsJson
,
paramsJson
)
);
//避免重复发送
if
(
ListUtil
.
isEmpty
(
list
))
{
CustomerMessage
customerMessage
=
CustomerMessage
.
builder
()
.
customerId
(
customer
.
getId
())
.
header
(
"代付订单提醒"
)
.
paramsJson
(
paramsJson
)
.
status
(
CustomerMessage
.
STATUS_UN_READ
)
.
type
(
CustomerMessage
.
TYPE_FRIEND_SCHEDULE_PAY
)
.
build
();
//保存消息
customerMessageMapper
.
insert
(
customerMessage
);
}
}
@Override
public
OrderManage
queryOrder
(
Integer
id
)
{
OrderManage
orderManage
=
this
.
getById
(
id
);
...
...
src/main/java/com/gogirl/application/user/customer/CustomerBalanceService.java
View file @
3c9d128c
package
com
.
gogirl
.
application
.
user
.
customer
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.domain.user.customer.CustomerBalance
;
import
com.gogirl.domain.user.customer.CustomerBalanceRecord
;
import
com.gogirl.shared.user.command.ConsumerCommand
;
import
java.util.List
;
public
interface
CustomerBalanceService
extends
IService
<
CustomerBalance
>
{
/**
...
...
@@ -19,18 +18,19 @@ public interface CustomerBalanceService extends IService<CustomerBalance> {
/**
*
查看消费记录
*
余额消费
*
* @param param param
* @return list
* @param consumerCmd
*/
List
<
CustomerBalanceRecord
>
getBalanceRecordCard
(
CustomerBalanceRecord
param
);
void
consumer
(
ConsumerCommand
consumerCmd
);
/**
*
余额消费
*
查看消费记录
*
* @param consumerCmd
* @param customerId
* @param pageNum
* @param pageSize
* @return
*/
void
consumer
(
ConsumerCommand
consumerCmd
);
PageInfo
<
CustomerBalanceRecord
>
getBalanceRecordCard
(
Integer
customerId
,
int
pageNum
,
int
pageSize
);
}
src/main/java/com/gogirl/application/user/customer/CustomerService.java
View file @
3c9d128c
...
...
@@ -2,8 +2,10 @@ package com.gogirl.application.user.customer;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.gogirl.domain.user.customer.Customer
;
import
com.gogirl.dto.customer.CustomerOrderDetail
;
import
java.security.InvalidAlgorithmParameterException
;
import
java.util.List
;
public
interface
CustomerService
extends
IService
<
Customer
>
{
...
...
@@ -68,8 +70,45 @@ public interface CustomerService extends IService<Customer> {
/**
* 根据token获取customer
*
* @param token
* @return
*/
Customer
getUserInfo
(
String
token
)
throws
Exception
;
/**
* 查询订单用户详情
*
* @param customerId 用户id
* @param orderId 订单id
* @return
*/
CustomerOrderDetail
queryCustomerDetail
(
Integer
customerId
,
Integer
orderId
);
/**
* 美甲师更新用户信息
*
* @param birthdayMonth
* @param birthdayDay
* @param ageGroup
* @param customerId
* @param orderId
* @param orderServeId
* @param storeRecordRealName
* @param sex
* @param age
* @param job
* @param preference
* @param character
* @param customerSource
*/
void
updateCustomerDetail
(
Integer
birthdayMonth
,
Integer
birthdayDay
,
String
ageGroup
,
Integer
customerId
,
Integer
orderId
,
Integer
orderServeId
,
String
storeRecordRealName
,
String
sex
,
Integer
age
,
String
job
,
String
preference
,
String
character
,
Integer
customerSource
);
/**
* 查询用户可选年龄段
*
* @return
*/
List
<
String
>
getAgeGroups
();
}
src/main/java/com/gogirl/application/user/customer/impl/CustomerBalanceServiceImpl.java
View file @
3c9d128c
...
...
@@ -2,26 +2,35 @@ package com.gogirl.application.user.customer.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.application.user.customer.CustomerBalanceService
;
import
com.gogirl.domain.store.store.StoreUser
;
import
com.gogirl.domain.user.customer.CustomerBalance
;
import
com.gogirl.domain.user.customer.CustomerBalanceRecord
;
import
com.gogirl.infrastructure.common.exception.RRException
;
import
com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper
;
import
com.gogirl.infrastructure.mapper.store.store.UserManageMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMapper
;
import
com.gogirl.shared.user.command.ConsumerCommand
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
@AllArgsConstructor
@Slf4j
@Transactional
public
class
CustomerBalanceServiceImpl
extends
ServiceImpl
<
CustomerBalanceMapper
,
CustomerBalance
>
implements
CustomerBalanceService
{
private
final
CustomerBalanceMapper
customerBalanceMapper
;
...
...
@@ -43,21 +52,6 @@ public class CustomerBalanceServiceImpl extends ServiceImpl<CustomerBalanceMappe
@Override
public
List
<
CustomerBalanceRecord
>
getBalanceRecordCard
(
CustomerBalanceRecord
customerBalanceRecord
)
{
List
<
CustomerBalanceRecord
>
list
=
balanceRecordDao
.
getBalanceRecordCard
(
customerBalanceRecord
);
list
.
stream
()
.
filter
(
balanceRecord
->
balanceRecord
.
getType
().
equals
(-
1
))
.
forEach
(
balanceRecord
->
{
balanceRecord
.
setOrderManage
(
orderManageMapper
.
selectById
(
Integer
.
valueOf
(
balanceRecord
.
getOrderId
())));
if
(
balanceRecord
.
getOrderAmount
()
!=
null
&&
balanceRecord
.
getOrderAmount
()
!=
0
&&
balanceRecord
.
getOrderManage
()
!=
null
)
{
balanceRecord
.
getOrderManage
().
setTotalPrice
(
new
BigDecimal
(
balanceRecord
.
getOrderAmount
()).
divide
(
new
BigDecimal
(
100
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
}
});
return
list
;
}
@Override
public
void
consumer
(
ConsumerCommand
cmd
)
{
CustomerBalance
customerBalance
=
customerBalanceMapper
.
selectOne
(
new
LambdaQueryWrapper
<
CustomerBalance
>()
.
eq
(
CustomerBalance:
:
getCustomerId
,
cmd
.
getCustomerId
()));
...
...
@@ -95,4 +89,48 @@ public class CustomerBalanceServiceImpl extends ServiceImpl<CustomerBalanceMappe
customerBalance
.
setTotalExpenditure
(
customerBalance
.
getTotalExpenditure
()
+
cmd
.
getAmount
());
customerBalanceMapper
.
updateById
(
customerBalance
);
}
private
final
UserManageMapper
userManageMapper
;
@Override
public
PageInfo
<
CustomerBalanceRecord
>
getBalanceRecordCard
(
Integer
customerId
,
int
pageNum
,
int
pageSize
)
{
CustomerBalanceRecord
param
=
new
CustomerBalanceRecord
();
param
.
setCustomerId
(
customerId
);
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
CustomerBalanceRecord
>
list
=
balanceRecordDao
.
getBalanceRecordCard
(
customerId
);
list
.
stream
()
.
filter
(
balanceRecord
->
balanceRecord
.
getType
().
equals
(-
1
))
.
forEach
(
balanceRecord
->
{
balanceRecord
.
setOrderManage
(
orderManageMapper
.
selectById
(
Integer
.
valueOf
(
balanceRecord
.
getOrderId
())));
if
(
balanceRecord
.
getOrderAmount
()
!=
null
&&
balanceRecord
.
getOrderAmount
()
!=
0
&&
balanceRecord
.
getOrderManage
()
!=
null
)
{
balanceRecord
.
getOrderManage
().
setTotalPrice
(
new
BigDecimal
(
balanceRecord
.
getOrderAmount
()).
divide
(
new
BigDecimal
(
100
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
}
});
//设置推荐人名字
List
<
StoreUser
>
allStoreUser
=
userManageMapper
.
selectList
(
new
QueryWrapper
<>());
Map
<
String
,
String
>
idMapName
=
new
HashMap
<>();
for
(
StoreUser
storeUser
:
allStoreUser
)
{
idMapName
.
put
(
String
.
valueOf
(
storeUser
.
getId
()),
storeUser
.
getName
());
}
for
(
CustomerBalanceRecord
customerBalanceRecord
:
list
)
{
String
refereeId
=
customerBalanceRecord
.
getRefereeId
();
if
(
refereeId
!=
null
&&
!
refereeId
.
isEmpty
())
{
String
[]
refereeIdArr
=
refereeId
.
split
(
","
);
StringBuilder
refereeName
=
new
StringBuilder
();
for
(
String
s
:
refereeIdArr
)
{
if
(
s
!=
null
&&
!
s
.
isEmpty
())
{
refereeName
.
append
(
","
).
append
(
idMapName
.
getOrDefault
(
s
,
s
));
}
}
customerBalanceRecord
.
setRefereeId
(
refereeName
.
substring
(
1
));
}
}
PageInfo
<
CustomerBalanceRecord
>
pageInfo
=
new
PageInfo
<>(
list
);
return
pageInfo
;
}
}
src/main/java/com/gogirl/application/user/customer/impl/CustomerServiceImpl.java
View file @
3c9d128c
...
...
@@ -3,24 +3,43 @@ package com.gogirl.application.user.customer.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.gogirl.application.order.serve.OrderManageService
;
import
com.gogirl.application.user.customer.CustomerDetailService
;
import
com.gogirl.application.user.customer.CustomerService
;
import
com.gogirl.application.xcx.GogirlTokenService
;
import
com.gogirl.application.xcx.QRCodeService
;
import
com.gogirl.application.xcx.WechatService
;
import
com.gogirl.domain.order.serve.OrderManage
;
import
com.gogirl.domain.order.serve.OrderRecord
;
import
com.gogirl.domain.order.serve.OrderServe
;
import
com.gogirl.domain.order.serve.ScheduleManage
;
import
com.gogirl.domain.product.serve.BaseServe
;
import
com.gogirl.domain.store.store.StoreManage
;
import
com.gogirl.domain.user.customer.Customer
;
import
com.gogirl.domain.user.customer.CustomerBalance
;
import
com.gogirl.domain.user.customer.CustomerDetail
;
import
com.gogirl.domain.xcx.GogirlConfig
;
import
com.gogirl.domain.xcx.GogirlToken
;
import
com.gogirl.dto.customer.CustomerOrderDetail
;
import
com.gogirl.infrastructure.common.exception.RRException
;
import
com.gogirl.infrastructure.common.util.ListUtil
;
import
com.gogirl.infrastructure.common.util.StringUtils
;
import
com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.OrderRecordMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.ScheduleManageMapper
;
import
com.gogirl.infrastructure.mapper.product.serve.BaseServeMapper
;
import
com.gogirl.infrastructure.mapper.store.store.StoreManageMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerDetailMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerMapper
;
import
com.gogirl.infrastructure.mapper.xcx.GogirlConfigMapper
;
import
com.gogirl.infrastructure.util.CheckUtil
;
import
com.gogirl.infrastructure.util.CountCustomerRate
;
import
com.gogirl.infrastructure.util.WXCore
;
import
com.gogirl.infrastructure.util.lock.Openid1Lock
;
import
com.gogirl.shared.member.wx.query.dto.Code2SessionResult
;
import
com.google.common.collect.Lists
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.sf.json.JSONObject
;
...
...
@@ -267,6 +286,109 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
return
customer
;
}
private
final
StoreManageMapper
storeManageMapper
;
private
final
OrderManageMapper
orderManageMapper
;
private
final
OrderServeMapper
orderServeMapper
;
private
final
BaseServeMapper
baseServeMapper
;
private
final
OrderRecordMapper
orderRecordMapper
;
@Override
public
CustomerOrderDetail
queryCustomerDetail
(
Integer
customerId
,
Integer
orderId
)
{
CustomerOrderDetail
customerOrderDetail
=
new
CustomerOrderDetail
();
//查询用户信息
Customer
customer
=
customerMapper
.
selectById
(
customerId
);
//查询用户注册店铺
StoreManage
storeManage
=
storeManageMapper
.
selectById
(
customer
.
getRegisterDepartment
());
customer
.
setStoreManage
(
storeManage
);
//查询余额
CustomerBalance
customerBalance
=
customerBalanceMapper
.
selectOne
(
new
LambdaQueryWrapper
<
CustomerBalance
>().
eq
(
CustomerBalance:
:
getCustomerId
,
customerId
));
customer
.
setCustomerBalance
(
customerBalance
);
//查询会员详情
CustomerDetail
customerDetail
=
customerDetailMapper
.
selectOne
(
new
LambdaQueryWrapper
<
CustomerDetail
>().
eq
(
CustomerDetail:
:
getCustomerId
,
customer
.
getId
()));
customer
.
setCustomerDetail
(
customerDetail
);
customerOrderDetail
.
setCustomer
(
customer
);
if
(
orderId
!=
null
)
{
//查询订单信息
OrderManage
orderManage
=
orderManageMapper
.
selectById
(
orderId
);
List
<
OrderServe
>
orderServeList
=
orderServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
OrderServe
>().
eq
(
OrderServe:
:
getOrderId
,
orderId
));
orderManage
.
setListOrderServer
(
orderServeList
);
orderServeList
.
forEach
(
orderServe
->
{
OrderRecord
orderRecord
=
orderRecordMapper
.
selectOne
(
new
LambdaQueryWrapper
<
OrderRecord
>().
eq
(
OrderRecord:
:
getOrderServeId
,
orderServe
.
getId
()));
BaseServe
baseServe
=
baseServeMapper
.
selectById
(
orderServe
.
getServeId
());
orderServe
.
setOrderRecord
(
orderRecord
);
orderServe
.
setServe
(
baseServe
);
});
customerOrderDetail
.
setOrderManage
(
orderManage
);
}
return
customerOrderDetail
;
}
private
final
CustomerDetailService
customerDetailService
;
private
final
OrderManageService
orderManageService
;
@Override
public
void
updateCustomerDetail
(
Integer
birthdayMonth
,
Integer
birthdayDay
,
String
ageGroup
,
Integer
customerId
,
Integer
orderId
,
Integer
orderServeId
,
String
storeRecordRealName
,
String
sex
,
Integer
age
,
String
job
,
String
preference
,
String
character
,
Integer
customerSource
)
{
//用户基本信息
Customer
customer
=
customerMapper
.
selectById
(
customerId
);
customer
.
setStoreRecordRealName
(
storeRecordRealName
);
customer
.
setSex
(
sex
);
customer
.
setCustomerSource
(
customerSource
);
customerMapper
.
updateById
(
customer
);
//用户详情信息
CustomerDetail
customerDetail
=
customerDetailMapper
.
selectOne
(
new
LambdaQueryWrapper
<
CustomerDetail
>().
eq
(
CustomerDetail:
:
getCustomerId
,
customer
.
getId
()));
if
(
customerDetail
==
null
)
{
customerDetail
=
new
CustomerDetail
();
}
customerDetail
.
setCustomerId
(
customerId
);
customerDetail
.
setAge
(
age
);
customerDetail
.
setJob
(
job
);
customerDetail
.
setPreference
(
preference
);
customerDetail
.
setCharacter
(
character
);
customerDetail
.
setBirthdayMonth
(
birthdayMonth
);
customerDetail
.
setBirthdayDay
(
birthdayDay
);
customerDetail
.
setAgeGroup
(
ageGroup
);
customerDetailService
.
saveOrUpdate
(
customerDetail
);
//更新数据完整度
customer
.
setDataIntegrity
(
new
CountCustomerRate
().
countDataCompleteRate
(
customer
,
customerDetail
));
customerMapper
.
updateById
(
customer
);
if
(
orderId
!=
null
)
{
OrderManage
om
=
orderManageService
.
queryOrder
(
orderId
);
double
dataRate
=
CheckUtil
.
countOrderDataRate
(
customer
,
om
);
om
.
setDataIntegrity
(
dataRate
);
orderManageService
.
updateOrderDataIntegrity
(
om
);
}
}
private
final
GogirlConfigMapper
gogirlConfigMapper
;
@Override
public
List
<
String
>
getAgeGroups
()
{
GogirlConfig
gogirlConfig
=
gogirlConfigMapper
.
selectByPrimaryKey
(
3
);
if
(
gogirlConfig
==
null
||
gogirlConfig
.
getValue
()
==
null
||
gogirlConfig
.
getValue
().
isEmpty
())
{
throw
new
RRException
(
"请联系管理员,在gogirl_config表中配置id=3的value,用英文逗号隔开多个选项"
);
}
String
[]
ageGroups
=
gogirlConfig
.
getValue
().
split
(
","
);
return
Lists
.
newArrayList
(
ageGroups
);
}
//todo 替换成hashcode
//字符串中所有字符相加得到一个int
private
int
openid1GetInt
(
String
openid1
)
{
...
...
src/main/java/com/gogirl/application/xcx/impl/CustomerMessageServiceImpl.java
View file @
3c9d128c
...
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.gogirl.application.xcx.CustomerMessageService
;
import
com.gogirl.domain.user.customer.CustomerMessage
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerMessageMapper
;
import
com.gogirl.infrastructure.util.SessionUtils
;
import
com.gogirl.shared.user.command.ReadMessageCommand
;
import
com.gogirl.shared.user.query.qry.CustomerMessagePageQuery
;
import
org.springframework.scheduling.annotation.Async
;
...
...
@@ -26,6 +27,9 @@ public class CustomerMessageServiceImpl extends ServiceImpl<CustomerMessageMappe
@Override
public
Page
<
CustomerMessage
>
queryPageMessage
(
CustomerMessagePageQuery
qry
)
{
//线程变量当前当前用户id
qry
.
setCustomerId
(
SessionUtils
.
getCustomerToken
().
getCustomerId
());
LambdaQueryWrapper
<
CustomerMessage
>
wrapper
=
new
LambdaQueryWrapper
<>();
if
(
qry
.
getCustomerId
()
!=
null
)
{
wrapper
.
eq
(
CustomerMessage:
:
getCustomerId
,
qry
.
getCustomerId
());
...
...
src/main/java/com/gogirl/dto/customer/CustomerOrderDetail.java
0 → 100644
View file @
3c9d128c
package
com
.
gogirl
.
dto
.
customer
;
import
com.gogirl.domain.order.serve.OrderManage
;
import
com.gogirl.domain.user.customer.Customer
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
CustomerOrderDetail
{
@ApiModelProperty
(
"会员"
)
private
Customer
customer
;
@ApiModelProperty
(
"会员"
)
private
OrderManage
orderManage
;
}
src/main/java/com/gogirl/infrastructure/mapper/user/customer/CustomerBalanceRecordMapper.java
View file @
3c9d128c
...
...
@@ -25,7 +25,7 @@ public interface CustomerBalanceRecordMapper extends BaseMapper<CustomerBalanceR
List
<
CustomerBalanceRecord
>
listPartPay
(
Integer
orderId
);
List
<
CustomerBalanceRecord
>
getBalanceRecordCard
(
CustomerBalanceRecord
customerBalanceRecor
d
);
List
<
CustomerBalanceRecord
>
getBalanceRecordCard
(
Integer
customerI
d
);
Page
<
CustomerBalanceRecord
>
queryPageAchieve
(
Page
<
CustomerBalanceRecord
>
page
,
Integer
technicianId
,
String
month
);
}
src/main/java/com/gogirl/interfaces/user/CouponController.java
View file @
3c9d128c
package
com
.
gogirl
.
interfaces
.
user
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.application.market.CouponService
;
import
com.gogirl.application.market.MarketService
;
import
com.gogirl.application.order.serve.OrderManageService
;
import
com.gogirl.application.xcx.GogirlTokenService
;
import
com.gogirl.domain.market.coupon.Coupon
;
import
com.gogirl.domain.market.coupon.CouponCustomerRelevance
;
import
com.gogirl.domain.xcx.GogirlToken
;
import
com.gogirl.infrastructure.common.base.JsonResult
;
import
com.gogirl.infrastructure.common.exception.RRException
;
import
com.gogirl.infrastructure.common.util.StringUtils
;
import
com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper
;
import
com.gogirl.infrastructure.mapper.market.coupon.CouponMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper
;
import
com.gogirl.infrastructure.mapper.xcx.GogirlConfigMapper
;
import
com.gogirl.infrastructure.util.SessionUtils
;
import
com.google.common.collect.Lists
;
import
io.swagger.annotations.Api
;
...
...
@@ -24,59 +15,28 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
@RestController
@Api
(
tags
=
{
"
version2.0: 优惠券"
},
value
=
"version2.0: 优惠券
"
)
@Api
(
tags
=
{
"
优惠券配置接口"
},
value
=
"优惠券配置接口
"
)
@AllArgsConstructor
@Slf4j
public
class
CouponController
{
private
final
CouponService
couponService
;
private
final
GogirlTokenService
gogirlTokenService
;
private
final
OrderManageService
orderManageService
;
private
final
GogirlConfigMapper
gogirlConfigMapper
;
private
final
CouponCustomerRelevanceMapper
couponCustomerRelevanceMapper
;
private
final
OrderServeMapper
orderServeMapper
;
private
final
MarketService
marketService
;
private
final
CouponMapper
couponMapper
;
@ApiOperation
(
value
=
"查询优惠券配置详情"
)
@ApiOperation
(
value
=
"
根据配置id
查询优惠券配置详情"
)
@GetMapping
(
"/customer/selectCouponByPrimaryKey"
)
public
JsonResult
<
Coupon
>
selectCouponByPrimaryKey
(
Integer
id
)
{
Coupon
coupon
=
couponService
.
getById
(
id
);
return
JsonResult
.
success
(
coupon
);
}
@ApiOperation
(
value
=
"用户根据订单号查询可用优惠券"
)
@GetMapping
(
"/customer/getOrderCoupon"
)
public
JsonResult
<
List
<
CouponCustomerRelevance
>>
getOrderCoupon
(
@RequestHeader
String
token
,
@RequestParam
Integer
orderId
)
{
Integer
currentCustomerId
=
Optional
.
ofNullable
(
gogirlTokenService
.
getByToken
(
token
).
getCustomerId
())
.
orElseThrow
(()
->
new
RRException
(
500
,
"token不存在"
));
List
<
CouponCustomerRelevance
>
list
=
couponService
.
getOrderCoupon
(
currentCustomerId
,
orderId
);
return
JsonResult
.
success
(
list
);
}
@ApiOperation
(
value
=
"我的优惠券列表"
)
@GetMapping
(
"/customer/getMyCoupon"
)
public
JsonResult
<
PageInfo
<
CouponCustomerRelevance
>>
getMyCoupon
(
String
token
,
Integer
pageNum
,
Integer
pageSize
,
Integer
state
,
Boolean
containRemoveCoupon
)
{
Integer
customerId
=
SessionUtils
.
getCustomerId
();
log
.
info
(
"查询领取优惠券的用户列表CouponCustomerRelevance:"
+
customerId
.
toString
());
PageInfo
<
CouponCustomerRelevance
>
pageInfo
=
couponService
.
selectMyCoupon
(
customerId
,
pageNum
,
pageSize
,
state
,
containRemoveCoupon
);
return
JsonResult
.
success
(
pageInfo
);
}
@ApiOperation
(
value
=
"查询是否可领新人优惠券,是新人返回券信息,不是新人返回null;"
)
@GetMapping
(
"/customer/checkNewCustomer"
)
public
JsonResult
<
Coupon
>
checkNewCustomer
(
String
token
)
{
GogirlToken
gogirlToken
=
gogirlTokenService
.
getByToken
(
token
);
//顾客id
Integer
customerId
=
SessionUtils
.
getCustomerId
();
Coupon
coupon
=
couponService
.
checkNewCustomer
(
customerId
);
...
...
@@ -86,9 +46,6 @@ public class CouponController {
@ApiOperation
(
value
=
"发放新人优惠券"
)
@PostMapping
(
"/customer/sendNewCustomerCouponXcx"
)
public
JsonResult
<
Coupon
>
sendNewCustomerCouponXcx
(
String
token
)
{
GogirlToken
gogirlToken
=
gogirlTokenService
.
getByToken
(
token
);
Integer
customerId
=
SessionUtils
.
getCustomerId
();
Coupon
coupon
=
couponService
.
sendNewCustomerCouponXcx
(
customerId
);
return
JsonResult
.
success
(
coupon
);
...
...
@@ -98,34 +55,15 @@ public class CouponController {
@PostMapping
(
"/customer/sendCouponXcx"
)
public
JsonResult
<
Coupon
>
sendCouponXcx
(
String
token
,
Integer
couponId
)
{
GogirlToken
gogirlToken
=
gogirlTokenService
.
getByToken
(
token
);
Integer
customerId
=
SessionUtils
.
getCustomerId
();
log
.
info
(
"发放优惠券customerId:"
+
customerId
.
toString
());
log
.
info
(
"发放优惠券couponId:"
+
couponId
.
toString
());
//返回消息
Coupon
coupon
=
couponService
.
sendCoupon
(
couponId
,
customerId
);
return
JsonResult
.
success
(
coupon
);
}
@ApiOperation
(
value
=
"美甲师提交外部券"
)
@PostMapping
(
"/technician/techSubmitCoupons"
)
public
JsonResult
<
Void
>
techSubmitCoupons
(
@RequestHeader
String
token
,
@RequestParam
Integer
orderId
,
@RequestParam
String
couponIds
)
{
GogirlToken
gogirlToken
=
SessionUtils
.
getTechnicianToken
();
log
.
info
(
"美甲师 {} 提交外部券,couponId"
,
gogirlToken
.
getTechnicianId
());
List
<
Integer
>
idList
=
StringUtils
.
isNotEmpty
(
couponIds
)
?
Lists
.
newArrayList
(
couponIds
.
split
(
","
)).
stream
().
map
(
Integer:
:
valueOf
).
collect
(
Collectors
.
toList
())
:
Lists
.
newArrayList
();
couponService
.
techSubmitCoupons
(
orderId
,
idList
);
return
JsonResult
.
success
();
}
@ApiOperation
(
value
=
"美甲师根据订单号查询可用外部券"
)
@GetMapping
(
"/technician/getOrderExternalCoupon"
)
...
...
src/main/java/com/gogirl/interfaces/user/Coupon
Ord
erRelevanceController.java
→
src/main/java/com/gogirl/interfaces/user/Coupon
Custom
erRelevanceController.java
View file @
3c9d128c
package
com
.
gogirl
.
interfaces
.
user
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.application.market.CouponCustomerRelevanceService
;
import
com.gogirl.application.market.CouponService
;
import
com.gogirl.application.market.MarketService
;
import
com.gogirl.domain.market.coupon.CouponCustomerRelevance
;
import
com.gogirl.domain.xcx.GogirlToken
;
import
com.gogirl.infrastructure.common.base.JsonResult
;
import
com.gogirl.infrastructure.common.util.StringUtils
;
import
com.gogirl.infrastructure.util.SessionUtils
;
import
com.gogirl.shared.market.command.SetTimesCardCommand
;
import
com.gogirl.shared.market.command.SetUpInnerCouponCommand
;
import
com.google.common.collect.Lists
;
...
...
@@ -10,18 +16,55 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@RestController
@Api
(
tags
=
{
"version 3.0: 优惠券"
})
@Slf4j
@AllArgsConstructor
public
class
CouponOrderRelevanceController
{
@Slf4j
@Api
(
tags
=
{
"优惠券接口"
},
value
=
"优惠券接口"
)
public
class
CouponCustomerRelevanceController
{
private
final
CouponService
couponService
;
private
final
CouponCustomerRelevanceService
couponCustomerRelevanceService
;
@ApiOperation
(
value
=
"用户根据订单号查询可用优惠券"
)
@GetMapping
(
"/customer/getOrderCoupon"
)
public
JsonResult
<
List
<
CouponCustomerRelevance
>>
getOrderCoupon
(
@RequestHeader
String
token
,
@RequestParam
Integer
orderId
)
{
Integer
currentCustomerId
=
SessionUtils
.
getCustomerToken
().
getCustomerId
();
List
<
CouponCustomerRelevance
>
list
=
couponCustomerRelevanceService
.
getOrderCoupon
(
currentCustomerId
,
orderId
);
return
JsonResult
.
success
(
list
);
}
@ApiOperation
(
value
=
"我的优惠券列表"
)
@GetMapping
(
"/customer/getMyCoupon"
)
public
JsonResult
<
PageInfo
<
CouponCustomerRelevance
>>
getMyCoupon
(
String
token
,
Integer
pageNum
,
Integer
pageSize
,
Integer
state
,
Boolean
containRemoveCoupon
)
{
Integer
customerId
=
SessionUtils
.
getCustomerId
();
log
.
info
(
"查询领取优惠券的用户列表CouponCustomerRelevance:"
+
customerId
.
toString
());
PageInfo
<
CouponCustomerRelevance
>
pageInfo
=
couponCustomerRelevanceService
.
selectMyCoupon
(
customerId
,
pageNum
,
pageSize
,
state
,
containRemoveCoupon
);
return
JsonResult
.
success
(
pageInfo
);
}
@ApiOperation
(
value
=
"美甲师提交外部券"
)
@PostMapping
(
"/technician/techSubmitCoupons"
)
public
JsonResult
<
Void
>
techSubmitCoupons
(
@RequestHeader
String
token
,
@RequestParam
Integer
orderId
,
@RequestParam
String
couponIds
)
{
GogirlToken
gogirlToken
=
SessionUtils
.
getTechnicianToken
();
log
.
info
(
"美甲师 {} 提交外部券,couponId"
,
gogirlToken
.
getTechnicianId
());
List
<
Integer
>
idList
=
StringUtils
.
isNotEmpty
(
couponIds
)
?
Lists
.
newArrayList
(
couponIds
.
split
(
","
)).
stream
().
map
(
Integer:
:
valueOf
).
collect
(
Collectors
.
toList
())
:
Lists
.
newArrayList
();
couponCustomerRelevanceService
.
techSubmitCoupons
(
orderId
,
idList
);
return
JsonResult
.
success
();
}
private
final
MarketService
marketService
;
...
...
@@ -54,4 +97,5 @@ public class CouponOrderRelevanceController {
marketService
.
setterOrder
(
orderId
);
return
JsonResult
.
success
();
}
}
src/main/java/com/gogirl/interfaces/user/CustomerController.java
View file @
3c9d128c
This diff is collapsed.
Click to expand it.
src/main/java/com/gogirl/interfaces/user/DiscountConfigController.java
View file @
3c9d128c
...
...
@@ -16,7 +16,7 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
@Api
(
tags
=
{
"
version2.0: 店铺"
},
value
=
"version2.0: 店铺
"
)
@Api
(
tags
=
{
"
折扣接口"
},
value
=
"折扣接口
"
)
@RestController
@Slf4j
@AllArgsConstructor
...
...
src/main/java/com/gogirl/interfaces/user/TestPaperController.java
View file @
3c9d128c
...
...
@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*;
import
java.util.List
;
import
java.util.Optional
;
@Api
(
tags
=
"
version3.0:问卷调查接口"
,
value
=
"version3.0:
问卷调查接口"
)
@Api
(
tags
=
"
问卷调查接口"
,
value
=
"
问卷调查接口"
)
@RestController
@AllArgsConstructor
public
class
TestPaperController
{
...
...
@@ -44,9 +44,7 @@ public class TestPaperController {
List
<
OrderQuestionOption
>
list
=
cmd
.
getList
();
list
.
forEach
(
orderQuestionOption
->
orderQuestionOption
.
setCustomerId
(
currentCustomerId
));
baseQuestionService
.
submitTestPaper
(
currentCustomerId
,
list
);
return
JsonResult
.
success
();
}
}
src/main/java/com/gogirl/interfaces/user/TimesCardController.java
View file @
3c9d128c
...
...
@@ -150,8 +150,6 @@ public class TimesCardController {
//次卡使用记录
timesCardCustomerRelevance
.
setTimesCardUsedRecordList
(
usedRecordList
);
return
JsonResult
.
success
(
timesCardCustomerRelevance
);
}
...
...
src/main/java/com/gogirl/interfaces/xcx/MessageController.java
View file @
3c9d128c
...
...
@@ -34,11 +34,6 @@ public class MessageController {
@PostMapping
(
"/customer/message/queryPageMessage"
)
public
JsonResult
<
Page
<
CustomerMessage
>>
queryPageMessage
(
@RequestHeader
String
token
,
@RequestBody
CustomerMessagePageQuery
qry
)
{
GogirlToken
gt
=
gogirlTokenService
.
getByToken
(
token
);
if
(
SessionUtils
.
getCustomerToken
()
==
null
)
{
throw
new
RRException
(
2000
,
"token失效,请重新登陆"
);
}
qry
.
setCustomerId
(
gt
.
getCustomerId
());
Page
<
CustomerMessage
>
customerMessagePage
=
customerMessageService
.
queryPageMessage
(
qry
);
return
JsonResult
.
success
(
customerMessagePage
);
}
...
...
src/main/java/com/gogirl/interfaces/xcx/PayController.java
View file @
3c9d128c
package
com
.
gogirl
.
interfaces
.
xcx
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult
;
import
com.github.binarywang.wxpay.exception.WxPayException
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.gogirl.application.market.DiscountConfigService
;
import
com.gogirl.application.order.member.IChargeOrderService
;
...
...
@@ -15,17 +11,10 @@ import com.gogirl.application.store.store.CustomerDepartmentRelevanceService;
import
com.gogirl.application.user.customer.CustomerBalanceService
;
import
com.gogirl.application.user.customer.CustomerService
;
import
com.gogirl.application.xcx.GogirlTokenService
;
import
com.gogirl.domain.market.discount.DiscountConfig
;
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.domain.user.customer.CustomerMessage
;
import
com.gogirl.domain.xcx.GogirlToken
;
import
com.gogirl.infrastructure.common.base.JsonResult
;
import
com.gogirl.infrastructure.common.exception.RRException
;
import
com.gogirl.infrastructure.common.util.JsonUtilByFsJson
;
import
com.gogirl.infrastructure.common.util.ListUtil
;
import
com.gogirl.infrastructure.config.GogirlProperties
;
import
com.gogirl.infrastructure.feign.wx.WxPayControllerFeign
;
import
com.gogirl.infrastructure.mapper.store.store.UserManageMapper
;
...
...
@@ -40,12 +29,11 @@ import io.swagger.annotations.ApiOperation;
import
io.swagger.annotations.ApiParam
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
import
java.net.UnknownHostException
;
import
java.util.
*
;
import
java.util.
Optional
;
@RestController
...
...
@@ -168,79 +156,21 @@ public class PayController {
public
JsonResult
<
Integer
>
friendPayOrder
(
@RequestHeader
String
token
,
@PathVariable
Integer
orderId
,
@ApiParam
(
"朋友手机号"
)
@RequestParam
String
phone
)
{
Integer
currentCustomerId
=
Optional
.
ofNullable
(
gogirlTokenService
.
getByToken
(
token
).
getCustomerId
())
.
orElseThrow
(()
->
new
RRException
(
500
,
"token不存在"
));
Customer
customer
=
customerService
.
selectByPhone
(
phone
);
if
(
customer
==
null
)
{
throw
new
RRException
(
500
,
"用户不存在"
);
}
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
CustomerMessage
.
PARAM_FRIEND_PAY_ORDER_ID
,
orderId
);
params
.
put
(
CustomerMessage
.
PARAM_FRIEND_PAY_CUSTOMER_ID
,
currentCustomerId
);
String
paramsJson
=
JsonUtilByFsJson
.
beanToJson
(
params
);
List
<
CustomerMessage
>
list
=
customerMessageMapper
.
selectList
(
new
LambdaQueryWrapper
<
CustomerMessage
>().
eq
(
CustomerMessage:
:
getParamsJson
,
paramsJson
)
);
//避免重复发送
if
(
ListUtil
.
isEmpty
(
list
))
{
CustomerMessage
customerMessage
=
CustomerMessage
.
builder
()
.
customerId
(
customer
.
getId
())
.
header
(
"代付订单提醒"
)
.
paramsJson
(
paramsJson
)
.
status
(
CustomerMessage
.
STATUS_UN_READ
)
.
type
(
CustomerMessage
.
TYPE_FRIEND_SCHEDULE_PAY
)
.
build
();
//保存消息
customerMessageMapper
.
insert
(
customerMessage
);
return
JsonResult
.
success
();
}
orderManageService
.
friendPayOrder
(
orderId
,
phone
);
return
JsonResult
.
success
();
}
@ApiOperation
(
value
=
"查看消费记录"
)
@GetMapping
(
"/customer/pay/getBalanceRecordCard"
)
public
JsonResult
<
PageInfo
<
CustomerBalanceRecord
>>
getBalanceRecordCard
(
Integer
customerId
,
int
pageNum
,
int
pageSize
)
{
CustomerBalanceRecord
param
=
new
CustomerBalanceRecord
();
param
.
setCustomerId
(
customerId
);
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
CustomerBalanceRecord
>
list
=
balanceService
.
getBalanceRecordCard
(
param
);
//设置推荐人名字
List
<
StoreUser
>
allStoreUser
=
userManageMapper
.
selectList
(
new
QueryWrapper
<>());
Map
<
String
,
String
>
idMapName
=
new
HashMap
<>();
for
(
StoreUser
storeUser
:
allStoreUser
)
{
idMapName
.
put
(
String
.
valueOf
(
storeUser
.
getId
()),
storeUser
.
getName
());
}
for
(
CustomerBalanceRecord
customerBalanceRecord
:
list
)
{
String
refereeId
=
customerBalanceRecord
.
getRefereeId
();
if
(
refereeId
!=
null
&&
!
refereeId
.
isEmpty
())
{
String
[]
refereeIdArr
=
refereeId
.
split
(
","
);
StringBuilder
refereeName
=
new
StringBuilder
();
for
(
String
s
:
refereeIdArr
)
{
if
(
s
!=
null
&&
!
s
.
isEmpty
())
{
refereeName
.
append
(
","
).
append
(
idMapName
.
getOrDefault
(
s
,
s
));
}
}
customerBalanceRecord
.
setRefereeId
(
refereeName
.
substring
(
1
));
}
}
PageInfo
<
CustomerBalanceRecord
>
pageInfo
=
new
PageInfo
<>(
list
);
PageInfo
<
CustomerBalanceRecord
>
pageInfo
=
balanceService
.
getBalanceRecordCard
(
customerId
,
pageNum
,
pageSize
);
return
JsonResult
.
success
(
pageInfo
);
}
/**
* 5美甲师端收款。发券
*/
@ApiOperation
(
value
=
"美甲师端确认收款。2:会员卡收款;5:刷pos机;7:大众点评团购,8.微信扫二维码支付"
)
@PostMapping
(
"/technician/pay/receiveMoney"
)
public
JsonResult
<
Void
>
receiveMoney
(
@RequestHeader
String
token
,
...
...
@@ -254,10 +184,7 @@ public class PayController {
return
JsonResult
.
success
();
}
/**
* 美甲师端,充值会员卡
*/
@Transactional
@ApiOperation
(
value
=
"美甲师端,充值会员卡"
)
@PostMapping
(
"/technician/pay/chargeCustomerCard"
)
public
JsonResult
<
Void
>
chargeCustomerCard
(
@RequestHeader
String
token
,
...
...
@@ -267,7 +194,6 @@ public class PayController {
Integer
source
,
String
refereeId
,
String
remark
)
{
chargeOrderService
.
chargeCustomerCard
(
name
,
phone
,
amount
,
source
,
refereeId
,
remark
);
return
JsonResult
.
success
();
}
...
...
src/main/java/com/gogirl/interfaces/xcx/TimeNodeController.java
deleted
100644 → 0
View file @
33362ce2
package
com
.
gogirl
.
interfaces
.
xcx
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* <p>
* 前端控制器
* </p>
*
* @author robbendev
* @since 2020-03-09
*/
@RestController
@RequestMapping
(
"/time-node"
)
public
class
TimeNodeController
{
}
src/main/java/com/gogirl/interfaces/xcx/WeekConfigController.java
deleted
100644 → 0
View file @
33362ce2
package
com
.
gogirl
.
interfaces
.
xcx
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* <p>
* 前端控制器
* </p>
*
* @author robbendev
* @since 2020-03-09
*/
@RestController
@RequestMapping
(
"/week-config"
)
public
class
WeekConfigController
{
}
src/main/java/com/gogirl/shared/user/command/ConsumerCommand.java
View file @
3c9d128c
...
...
@@ -13,12 +13,15 @@ import lombok.NoArgsConstructor;
public
class
ConsumerCommand
{
private
Integer
customerId
;
@ApiModelProperty
(
"订单id"
)
private
Integer
orderId
;
@ApiModelProperty
(
"订单金额: 单位分"
)
private
Integer
amount
;
@ApiModelProperty
(
"订单状态"
)
private
Integer
orderStatus
;
@ApiModelProperty
(
"店铺id"
)
private
Integer
departmentId
;
}
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