Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
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
haoban3.0
haoban-manage3.0
Commits
12e0286b
Commit
12e0286b
authored
Jun 24, 2024
by
xiongjiangtao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into 202406_chat_data
parents
b988b13e
7377271d
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1029 additions
and
102 deletions
+1029
-102
HoloDataSource.java
...anage/service/dao/mapper/content/holo/HoloDataSource.java
+3
-3
StaffClerkRelationServiceImpl.java
...e/service/service/impl/StaffClerkRelationServiceImpl.java
+22
-2
EventTrackingController.java
...haoban/manage/web/controller/EventTrackingController.java
+27
-17
WechatEventTrackingClerkDetailHandle.java
...nage/web/handle/WechatEventTrackingClerkDetailHandle.java
+2
-0
WechatEventTrackingStoreGroupHandle.java
...anage/web/handle/WechatEventTrackingStoreGroupHandle.java
+2
-3
WechatEventTrackingClerkDetailQO.java
...eb/qo/eventtracking/WechatEventTrackingClerkDetailQO.java
+1
-1
WechatEventTrackingStoreGroupQO.java
...web/qo/eventtracking/WechatEventTrackingStoreGroupQO.java
+1
-1
StoreGroupCommonQO.java
...c/haoban/manage/web/qo/wechatwork/StoreGroupCommonQO.java
+6
-0
StoreAuthUtils.java
.../com/gic/haoban/manage/web/utils/data/StoreAuthUtils.java
+43
-43
DateExpandUtils.java
...aoban/manage/web/utils/eventtracking/DateExpandUtils.java
+38
-1
TrendVO.java
...a/com/gic/haoban/manage/web/vo/eventtracking/TrendVO.java
+2
-0
WechatEventTrackingClerkVO.java
...nage/web/vo/eventtracking/WechatEventTrackingClerkVO.java
+2
-30
WechatEventTrackingOverviewVO.java
...e/web/vo/eventtracking/WechatEventTrackingOverviewVO.java
+88
-0
CouponController.java
...haoban/manage/web/controller/coupon/CouponController.java
+140
-0
GicOrderController.java
...aoban/manage/web/controller/order/GicOrderController.java
+1
-1
ScanController.java
...gic/haoban/manage/web/controller/scan/ScanController.java
+135
-0
CoupCardClerkLogCountVO.java
.../haoban/manage/web/vo/coupon/CoupCardClerkLogCountVO.java
+49
-0
CoupCardClerkLogVO.java
...m/gic/haoban/manage/web/vo/coupon/CoupCardClerkLogVO.java
+191
-0
CoupCardVO.java
.../java/com/gic/haoban/manage/web/vo/coupon/CoupCardVO.java
+198
-0
ScanDetailVO.java
.../java/com/gic/haoban/manage/web/vo/scan/ScanDetailVO.java
+77
-0
dubbo-haoban-manage-wx.xml
...ge3-wx/src/main/webapp/WEB-INF/dubbo-haoban-manage-wx.xml
+1
-0
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/content/holo/HoloDataSource.java
View file @
12e0286b
...
...
@@ -107,10 +107,10 @@ public class HoloDataSource implements InitializingBean, DisposableBean {
}
private
Pair
<
String
,
String
>
getHoloAuth
()
{
//{"appId":"ops_key","cluster":"default","namespaceName":"
application","configurations":{"aliyun-key":"{\n\"LTAI5tGn2YicKmgcyTiJDV59\":\"iOp7cICESPZIvIjJRtTmLnCd4gT1Qy\"\n}"},"releaseKey":"20240412153514-b260f04ffbe11f4e
"}
String
result
=
HttpUtil
.
get
(
"http://
proapollo.gicdev.com:7080/configs/ops_key/default/application?key=aliyun-key
"
,
10000
);
//{"appId":"ops_key","cluster":"default","namespaceName":"
key_config","configurations":{"demo_aliyun_key":"{\n \"LTAI5tMF2pZGShdULEYbyntc\": \"pC16FjCeklpXg18duNhJsEF91FvxpE\"\n}"},"releaseKey":"20240604165817-7632f04ffbe11f53
"}
String
result
=
HttpUtil
.
get
(
"http://
10.0.100.2:7080/configs/ops_key/default/key_config
"
,
10000
);
JSON
json
=
JSONUtil
.
parse
(
result
);
String
authInfo
=
json
.
getByPath
(
"configurations.
aliyun-
key"
,
String
.
class
);
String
authInfo
=
json
.
getByPath
(
"configurations.
demo_aliyun_
key"
,
String
.
class
);
JSON
authJson
=
JSONUtil
.
parseObj
(
authInfo
);
Map
<
String
,
String
>
map
=
authJson
.
toBean
(
new
TypeReference
<
Map
<
String
,
String
>>()
{});
for
(
Map
.
Entry
<
String
,
String
>
entry
:
map
.
entrySet
())
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkRelationServiceImpl.java
View file @
12e0286b
...
...
@@ -99,14 +99,32 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
public
List
<
StaffClerkRelationDTO
>
listBindCodeByStaffId
(
List
<
String
>
enterpriseIdList
,
String
staffId
)
{
return
this
.
filterDelClerkList
(
mapper
.
listBindCodeByStaffId
(
enterpriseIdList
,
staffId
));
}
private
String
changeExistClerk
(
String
wxEnterpriseId
,
String
staffId
,
String
newClerkId
)
{
if
(
StringUtils
.
isBlank
(
newClerkId
))
{
return
newClerkId
;
}
ClerkDTO
clerkDTO
=
this
.
clerkService
.
getclerkById
(
newClerkId
)
;
String
storeId
=
clerkDTO
.
getStoreId
()
;
List
<
StaffClerkRelationDTO
>
relationList
=
this
.
listByStaffId
(
wxEnterpriseId
,
staffId
)
;
if
(
CollectionUtils
.
isEmpty
(
relationList
))
{
return
newClerkId
;
}
relationList
=
relationList
.
stream
().
filter
(
o
->
o
.
getStoreId
().
equals
(
storeId
)).
collect
(
Collectors
.
toList
())
;
if
(
CollectionUtils
.
isEmpty
(
relationList
))
{
return
newClerkId
;
}
return
relationList
.
get
(
0
).
getClerkId
()
;
}
/*
* 导购进行解绑/换导购,更新好友和导购关联关系
*/
@Override
public
boolean
delBind
(
String
oldClerkId
,
String
optStaffId
,
int
channelCode
,
String
newClerkId
,
String
wxEnterpriseId
)
{
boolean
changeClerkFlag
=
StringUtils
.
isNotEmpty
(
newClerkId
)
;
logger
.
info
(
"导购解绑/换导购={},oldClerkId={},optStaffId={}
"
,
changeClerkFlag
,
oldClerkId
,
optStaffId
);
logger
.
info
(
"导购解绑/换导购={},oldClerkId={},optStaffId={}
,newClerkId={},channelCode={}"
,
changeClerkFlag
,
oldClerkId
,
optStaffId
,
newClerkId
,
channelCode
);
if
(
StringUtils
.
isNotEmpty
(
optStaffId
)
&&
!
"-1"
.
equals
(
optStaffId
))
{
TabHaobanStaff
staff
=
this
.
staffService
.
selectById
(
optStaffId
)
;
if
(
null
!=
staff
)
{
...
...
@@ -119,6 +137,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
logger
.
info
(
"老的绑定关联不存在,oldClerkId={}"
,
oldClerkId
);
return
true
;
}
newClerkId
=
this
.
changeExistClerk
(
clerkRelation
.
getWxEnterpriseId
()
,
clerkRelation
.
getStaffId
()
,
newClerkId
)
;
logger
.
info
(
"转换后的新导购={}"
,
newClerkId
);
// 如果是区经
if
(
clerkRelation
.
getManageFlag
()==
1
)
{
this
.
mapper
.
changeStatusByClerkId
(
oldClerkId
,
0
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/EventTrackingController.java
View file @
12e0286b
...
...
@@ -20,10 +20,7 @@ import com.gic.haoban.manage.web.utils.data.ConcurrencyUtils;
import
com.gic.haoban.manage.web.utils.data.MapThreadHandlerRequest
;
import
com.gic.haoban.manage.web.utils.data.StoreAuthUtils
;
import
com.gic.haoban.manage.web.utils.eventtracking.DateExpandUtils
;
import
com.gic.haoban.manage.web.vo.eventtracking.TrendVO
;
import
com.gic.haoban.manage.web.vo.eventtracking.ViewModuleVO
;
import
com.gic.haoban.manage.web.vo.eventtracking.WechatEventTrackingClerkVO
;
import
com.gic.haoban.manage.web.vo.eventtracking.WechatEventTrackingStoreGroupVO
;
import
com.gic.haoban.manage.web.vo.eventtracking.*
;
import
com.gic.haoban.manage.web.vo.wechatwork.DataPageVO
;
import
com.gic.qcloud.BucketNameEnum
;
import
com.gic.web.common.controller.NewBaseController
;
...
...
@@ -66,10 +63,10 @@ public class EventTrackingController extends NewBaseController {
* @return
*/
@RequestMapping
(
value
=
"overview"
)
public
RestResponse
overview
(
@RequestBody
WechatOverviewQO
qo
)
{
public
RestResponse
<
WechatEventTrackingOverviewVO
>
overview
(
@RequestBody
WechatOverviewQO
qo
)
{
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
getOverviewParam
(
qo
).
toJSONString
(),
"data_point_anal_hb_app_overview"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getDataList
(
res
);
return
RestResponse
.
successResult
(
CollectionUtils
.
isEmpty
(
list
)
?
n
ull
:
list
.
get
(
0
));
return
RestResponse
.
successResult
(
CollectionUtils
.
isEmpty
(
list
)
?
n
ew
WechatEventTrackingOverviewVO
()
:
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
list
.
get
(
0
)),
WechatEventTrackingOverviewVO
.
class
));
}
/**
...
...
@@ -113,11 +110,11 @@ public class EventTrackingController extends NewBaseController {
JSONObject
jsonParam
=
getOverviewParam
(
qo
);
List
<
MapThreadHandlerRequest
>
list
=
new
ArrayList
<>();
// 1 访问次数 2 访问人数 3 访问时长
jsonParam
.
put
(
"orderByField"
,
1
);
jsonParam
.
put
(
"orderByField
s
"
,
1
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonParam
,
"data_point_anal_hb_app_module"
,
"1_visitCnt"
));
jsonParam
.
put
(
"orderByField"
,
2
);
jsonParam
.
put
(
"orderByField
s
"
,
2
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonParam
,
"data_point_anal_hb_app_module"
,
"2_visitNum"
));
jsonParam
.
put
(
"orderByField"
,
3
);
jsonParam
.
put
(
"orderByField
s
"
,
3
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonParam
,
"data_point_anal_hb_app_module"
,
"3_visitTime"
));
Map
<
String
,
List
<
JSONObject
>>
map
=
ConcurrencyUtils
.
concurrencyDataForMap
(
list
);
...
...
@@ -151,10 +148,11 @@ public class EventTrackingController extends NewBaseController {
public
RestResponse
<
DataPageVO
<
WechatEventTrackingStoreGroupVO
>>
storeGroup
(
@RequestBody
WechatEventTrackingStoreGroupQO
qo
)
{
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
qo
);
List
<
String
>
statusList
=
new
ArrayList
<>();
statusList
.
add
(
"2"
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
qo
.
setStatusList
(
statusList
));
jsonObject
.
put
(
"apolloKey"
,
"data_point_anal_hb_app_store"
);
DataPageVO
vo
=
storeAuthUtils
.
getDataCommon
(
jsonObject
.
toJSONString
(),
qo
.
getPageNum
(),
"data_point_anal_hb_app_store"
,
qo
.
getPageSize
(),
true
);
storeAuthUtils
.
deleteTotalData
(
vo
);
DataPageVO
vo
=
storeAuthUtils
.
getDataCommonParent
(
jsonObject
.
toJSONString
(),
qo
.
getPageNum
(),
"data_point_anal_hb_app_store"
,
qo
.
getPageSize
(),
true
,
true
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getRows
()))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
WechatEventTrackingStoreGroupVO
.
class
));
}
...
...
@@ -178,7 +176,9 @@ public class EventTrackingController extends NewBaseController {
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
qo
);
List
<
String
>
statusList
=
new
ArrayList
<>();
statusList
.
add
(
"2"
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
qo
.
setStatusList
(
statusList
));
jsonObject
.
put
(
"apolloKey"
,
"data_point_anal_hb_app_store"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
...
...
@@ -231,8 +231,10 @@ public class EventTrackingController extends NewBaseController {
public
RestResponse
<
DataPageVO
<
WechatEventTrackingClerkVO
>>
clerk
(
@RequestBody
WechatEventTrackingClerkDetailQO
qo
)
{
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
List
<
String
>
statusList
=
new
ArrayList
<>();
statusList
.
add
(
"2"
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
new
StoreGroupCommonQO
()
.
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
()));
.
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
())
.
setStatusList
(
statusList
)
);
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_point_anal_hb_app_clerk"
);
DataPageVO
<
WechatEventTrackingClerkVO
>
vo
=
new
DataPageVO
<>();
...
...
@@ -255,7 +257,10 @@ public class EventTrackingController extends NewBaseController {
@RequestMapping
(
value
=
"get-unaffiliated-store"
)
public
RestResponse
<
List
<
String
>>
getUnaffiliatedStoreByStoreGroupId
(
String
storeGroupId
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
return
RestResponse
.
successResult
(
storeAuthUtils
.
getPreStoreIdList
(
storeGroupId
,
login
.
getEnterpriseId
()));
List
<
String
>
statusList
=
new
ArrayList
<>();
statusList
.
add
(
"2"
);
return
RestResponse
.
successResult
(
storeAuthUtils
.
getPreStoreIdListCommon
(
storeGroupId
,
login
.
getEnterpriseId
(),
statusList
));
}
/**
...
...
@@ -275,8 +280,10 @@ public class EventTrackingController extends NewBaseController {
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
List
<
String
>
statusList
=
new
ArrayList
<>();
statusList
.
add
(
"2"
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
new
StoreGroupCommonQO
()
.
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
()));
.
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
())
.
setStatusList
(
statusList
)
);
jsonObject
.
put
(
"apolloKey"
,
"data_point_anal_hb_app_clerk"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
...
...
@@ -318,7 +325,10 @@ public class EventTrackingController extends NewBaseController {
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
qo
);
jsonObject
.
remove
(
"storeGroupId"
);
jsonObject
.
remove
(
"storeId"
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
().
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
()));
List
<
String
>
statusList
=
new
ArrayList
<>();
statusList
.
add
(
"2"
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
().
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
()).
setStatusList
(
statusList
));
return
jsonObject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/WechatEventTrackingClerkDetailHandle.java
View file @
12e0286b
...
...
@@ -32,6 +32,8 @@ public class WechatEventTrackingClerkDetailHandle extends DownloadHandlerAbstrac
LOGGER
.
info
(
"数据-登录数据-好办使用导购详情导出日志"
);
}
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_point_anal_hb_app_clerk"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/WechatEventTrackingStoreGroupHandle.java
View file @
12e0286b
...
...
@@ -26,9 +26,8 @@ public class WechatEventTrackingStoreGroupHandle extends DownloadHandlerAbstract
@Override
public
List
<
WechatEventTrackingStoreGroupVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
List
<
JSONObject
>
list
=
storeAuthUtils
.
getDataCommon
(
searchDataParams
,
currentPage
,
"数据-登录数据-好办使用详情导出日志进来"
,
getPageSize
(),
false
).
getRows
();
list
=
storeAuthUtils
.
deleteTotalData
(
list
);
List
<
JSONObject
>
list
=
storeAuthUtils
.
getDataCommonParent
(
searchDataParams
,
currentPage
,
"数据-登录数据-好办使用详情导出日志进来"
,
getPageSize
(),
false
,
true
).
getRows
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
WechatEventTrackingStoreGroupVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
WechatEventTrackingStoreGroupVO
.
class
);
return
result
;
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/eventtracking/WechatEventTrackingClerkDetailQO.java
View file @
12e0286b
...
...
@@ -101,7 +101,7 @@ public class WechatEventTrackingClerkDetailQO implements Serializable {
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
()
);
jsonObject
.
put
(
"orderByFields"
,
orderByFields
);
}
if
(
isLogin
!=
null
)
{
jsonObject
.
put
(
"isLogin"
,
isLogin
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/eventtracking/WechatEventTrackingStoreGroupQO.java
View file @
12e0286b
...
...
@@ -82,7 +82,7 @@ public class WechatEventTrackingStoreGroupQO extends StoreGroupCommonQO implemen
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
()
);
jsonObject
.
put
(
"orderByFields"
,
orderByFields
);
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/wechatwork/StoreGroupCommonQO.java
View file @
12e0286b
...
...
@@ -4,6 +4,7 @@ import lombok.Data;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @Author guojx
...
...
@@ -42,6 +43,11 @@ public class StoreGroupCommonQO implements Serializable {
*/
private
Integer
showStore
;
/**
* 门店状态
*/
private
List
<
String
>
statusList
;
public
boolean
isRecycle
()
{
return
"-3"
.
equals
(
nextStoreGroupId
);
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/utils/data/StoreAuthUtils.java
View file @
12e0286b
...
...
@@ -55,6 +55,11 @@ public class StoreAuthUtils {
List
<
String
>
storeIdList
=
new
ArrayList
<>();
List
<
String
>
statusList
=
getAllStoreStatus
();
List
<
String
>
statusListParam
=
storeCommonQO
.
getStatusList
();
if
(
CollectionUtils
.
isNotEmpty
(
statusListParam
))
{
statusList
.
retainAll
(
statusListParam
);
}
if
(
StringUtils
.
isNotBlank
(
storeId
))
{
storeIdList
.
addAll
(
Arrays
.
stream
(
storeId
.
split
(
","
)).
collect
(
Collectors
.
toList
()));
}
...
...
@@ -156,6 +161,10 @@ public class StoreAuthUtils {
}
public
DataPageVO
getDataCommon
(
String
searchDataParams
,
Integer
currentPage
,
String
logStr
,
Integer
pageSize
,
boolean
hasCountPerPage
)
{
return
getDataCommonParent
(
searchDataParams
,
currentPage
,
logStr
,
pageSize
,
hasCountPerPage
,
false
);
}
public
DataPageVO
getDataCommonParent
(
String
searchDataParams
,
Integer
currentPage
,
String
logStr
,
Integer
pageSize
,
boolean
hasCountPerPage
,
boolean
noTotal
)
{
boolean
isFirst
=
currentPage
!=
null
&&
currentPage
==
1
;
if
(
isFirst
)
{
log
.
info
(
logStr
);
...
...
@@ -180,55 +189,37 @@ public class StoreAuthUtils {
Integer
totalCount
=
page
.
getTotalCount
();
vo
.
setTotalNum
(
totalCount
);
//调用一次合计
if
(
hasCountPerPage
||
(
isFirst
&&
CollectionUtils
.
isNotEmpty
(
list
)))
{
if
(
hasCountPerPage
&&
CollectionUtils
.
isEmpty
(
list
))
{
list
=
new
ArrayList
<>();
}
jsonObject
.
put
(
"pageNum"
,
1
);
if
(!
noTotal
)
{
//调用一次合计
if
(
hasCountPerPage
||
(
isFirst
&&
CollectionUtils
.
isNotEmpty
(
list
)))
{
if
(
hasCountPerPage
&&
CollectionUtils
.
isEmpty
(
list
))
{
list
=
new
ArrayList
<>();
}
jsonObject
.
put
(
"pageNum"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
String
totalApolloKey
=
apolloKey
;
if
(
StringUtils
.
isNotBlank
(
allApolloKey
))
{
totalApolloKey
=
allApolloKey
;
}
JSONObject
total
=
getTotalJson
(
jsonObject
,
totalApolloKey
);
if
(
total
==
null
)
{
total
=
new
JSONObject
();
}
if
(
isStore
)
{
total
.
put
(
"storeName"
,
"合计("
+
totalCount
+
")"
);
}
else
{
total
.
put
(
"storeGroupName"
,
"合计("
+
totalCount
+
")"
);
}
total
.
put
(
"storeGroupId"
,
"all"
);
jsonObject
.
put
(
"storeGroup"
,
8
);
String
totalApolloKey
=
apolloKey
;
if
(
StringUtils
.
isNotBlank
(
allApolloKey
))
{
totalApolloKey
=
allApolloKey
;
}
JSONObject
total
=
getTotalJson
(
jsonObject
,
totalApolloKey
);
if
(
total
==
null
)
{
total
=
new
JSONObject
();
}
if
(
isStore
)
{
total
.
put
(
"storeName"
,
"合计("
+
totalCount
+
")"
);
}
else
{
total
.
put
(
"storeGroupName"
,
"合计("
+
totalCount
+
")"
);
}
total
.
put
(
"storeGroupId"
,
"all"
);
list
.
add
(
0
,
total
);
list
.
add
(
0
,
total
);
}
}
vo
.
setRows
(
list
);
return
vo
;
}
/**
* 删除合计的那条数据
* @param vo
*/
public
void
deleteTotalData
(
DataPageVO
vo
)
{
deleteTotalData
(
vo
.
getRows
());
}
public
List
<
JSONObject
>
deleteTotalData
(
List
<
JSONObject
>
list
)
{
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
if
(
list
.
size
()
==
1
&&
"all"
.
equals
(
list
.
get
(
0
).
getString
(
"storeGroupId"
)))
{
return
Collections
.
EMPTY_LIST
;
}
else
{
//删除合计的那条数据
list
.
remove
(
0
);
}
}
return
list
;
}
private
List
<
String
>
getStore
(
String
enterpriseId
,
String
userId
,
String
search
,
List
<
String
>
storeGroupIdList
,
List
<
String
>
status
,
List
<
String
>
storeIdList
)
{
StoreSearchDTO
storeSearchDTO
=
new
StoreSearchDTO
();
storeSearchDTO
.
setEnterpriseId
(
enterpriseId
);
...
...
@@ -260,10 +251,19 @@ public class StoreAuthUtils {
}
public
List
<
String
>
getPreStoreIdList
(
String
preStoreGroupId
,
String
enterpriseId
)
{
return
getPreStoreIdListCommon
(
preStoreGroupId
,
enterpriseId
,
null
);
}
public
List
<
String
>
getPreStoreIdListCommon
(
String
preStoreGroupId
,
String
enterpriseId
,
List
<
String
>
statusList
)
{
preStoreGroupId
=
getPreStoreGroupId
(
preStoreGroupId
,
enterpriseId
);
String
[]
queryArr
=
new
String
[]{
preStoreGroupId
};
List
<
String
>
defaultStatusList
=
getAllStoreStatus
();
if
(
CollectionUtils
.
isNotEmpty
(
statusList
))
{
defaultStatusList
.
retainAll
(
statusList
);
}
List
<
String
>
storeIdList
=
storeService
.
getStoreIdListByGroupId
(
queryArr
,
getAllStoreStatus
()
.
stream
().
mapToInt
(
e
->
Integer
.
parseInt
(
e
)).
boxed
().
collect
(
Collectors
.
toList
()));
defaultStatusList
.
stream
().
mapToInt
(
e
->
Integer
.
parseInt
(
e
)).
boxed
().
collect
(
Collectors
.
toList
()));
if
(
CollectionUtils
.
isEmpty
(
storeIdList
))
{
storeIdList
.
add
(
NO_EXIST_STORE_ID
);
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/utils/eventtracking/DateExpandUtils.java
View file @
12e0286b
...
...
@@ -35,8 +35,12 @@ public class DateExpandUtils {
list
=
DateUtil
.
getBetweenDates
(
df
.
format
(
calendar
.
getTime
()),
dateType
==
1
?
startDate
:
endDate
);
break
;
case
4
:
calendar
.
setTime
(
DateUtil
.
strToDate
(
startDate
,
"yyyy-MM-dd"
));
calendar
.
add
(
Calendar
.
WEEK_OF_YEAR
,
-
11
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"startDate"
,
startDate
);
jsonObject
.
put
(
"startDate"
,
df
.
format
(
calendar
.
getTime
()));
jsonObject
.
put
(
"endDate"
,
startDate
);
jsonObject
.
put
(
"pageNum"
,
1
);
jsonObject
.
put
(
"pageSize"
,
100
);
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_pub_date_week"
);
...
...
@@ -60,4 +64,37 @@ public class DateExpandUtils {
}
return
list
;
}
public
static
String
getVisitTimeStr
(
Long
avgVisitTime
)
{
if
(
avgVisitTime
!=
null
)
{
int
hour
=
(
int
)
(
avgVisitTime
/
3600
);
String
str
=
getTimeStr
(
hour
);
if
(
hour
>
0
)
{
avgVisitTime
=
avgVisitTime
-
(
3600
*
hour
);
}
int
minute
=
(
int
)
(
avgVisitTime
/
60
);
str
=
str
+
":"
+
getTimeStr
(
minute
);
if
(
minute
>
0
)
{
avgVisitTime
=
avgVisitTime
-
(
60
*
minute
);
}
str
=
str
+
":"
+
getTimeStr
(
avgVisitTime
.
shortValue
());
return
str
;
}
return
null
;
}
private
static
String
getTimeStr
(
int
time
)
{
String
str
=
""
;
if
(
time
==
0
)
{
str
=
"00"
;
}
else
if
(
time
<
10
)
{
str
=
"0"
+
time
+
""
;
}
else
{
str
=
""
+
time
;
}
return
str
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/eventtracking/TrendVO.java
View file @
12e0286b
...
...
@@ -11,6 +11,8 @@ import java.io.Serializable;
@Data
public
class
TrendVO
implements
Serializable
{
private
Integer
avgVisitTime
;
/**
* 员工总人数
*/
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/eventtracking/WechatEventTrackingClerkVO.java
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
eventtracking
;
import
com.gic.haoban.manage.web.utils.eventtracking.DateExpandUtils
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
lombok.Data
;
...
...
@@ -52,35 +53,6 @@ public class WechatEventTrackingClerkVO extends StoreGroupCommonVO implements Se
private
String
clerkCode
;
public
String
getVisitTimeStr
()
{
if
(
avgVisitTime
!=
null
)
{
int
hour
=
(
int
)
(
avgVisitTime
/
3600
);
String
str
=
getTimeStr
(
hour
);
if
(
hour
>
0
)
{
avgVisitTime
=
avgVisitTime
-
(
3600
*
hour
);
}
int
minute
=
(
int
)
(
avgVisitTime
/
60
);
str
=
str
+
":"
+
getTimeStr
(
minute
);
if
(
minute
>
0
)
{
avgVisitTime
=
avgVisitTime
-
(
60
*
minute
);
}
str
=
str
+
":"
+
getTimeStr
(
avgVisitTime
.
shortValue
());
return
str
;
}
return
visitTimeStr
;
}
private
static
String
getTimeStr
(
int
time
)
{
String
str
=
""
;
if
(
time
==
0
)
{
str
=
"00"
;
}
else
if
(
time
<
10
)
{
str
=
"0"
+
time
+
""
;
}
else
{
str
=
""
+
time
;
}
return
str
;
return
DateExpandUtils
.
getVisitTimeStr
(
avgVisitTime
);
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/eventtracking/WechatEventTrackingOverviewVO.java
0 → 100644
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
eventtracking
;
import
com.gic.haoban.manage.web.utils.eventtracking.DateExpandUtils
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @Author guojx
* @Date 2024/5/21 15:56
*/
@Data
public
class
WechatEventTrackingOverviewVO
implements
Serializable
{
/**
* 次均访问时长 单位秒
*/
private
Long
avgVisitTime
;
/**
* 次均访问时长较前一期
*/
private
Double
avgVisitTimeSply
;
/**
* 次均访问时长 00:00:00格式
*/
private
String
visitTimeStr
;
/**
* 访问次数
*/
private
Integer
visitCnt
;
/**
* 访问次数较前一期
*/
private
Double
visitCntSply
;
/**
* 活跃率
*/
private
Double
visitRate
;
/**
* 活跃率较前一期
*/
private
Double
visitRateSply
;
/**
* 活跃人数
*/
private
Integer
visitNum
;
/**
* 活跃人数较前一期
*/
private
Double
visitNumSply
;
/**
* 绑定率
*/
private
Double
bindingRate
;
/**
* 绑定率较前一期
*/
private
Double
bindingRateSply
;
/**
* 绑定人数
*/
private
Integer
bindingNum
;
/**
* 绑定人数较前一期
*/
private
Double
bindingSply
;
/**
* 员工总人数
*/
private
Integer
clerkNum
;
public
String
getVisitTimeStr
()
{
return
DateExpandUtils
.
getVisitTimeStr
(
avgVisitTime
);
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/coupon/CouponController.java
0 → 100644
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
coupon
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.manage.web.vo.coupon.CoupCardClerkLogCountVO
;
import
com.gic.haoban.manage.web.vo.coupon.CoupCardClerkLogVO
;
import
com.gic.haoban.manage.web.vo.coupon.CoupCardVO
;
import
com.gic.marketing.api.dto.CoupCardDTO
;
import
com.gic.marketing.api.dto.card.CoupCardClerkLogDTO
;
import
com.gic.marketing.api.out.service.CouponHBOuterService
;
import
com.gic.marketing.api.qdto.card.HaobanWriteOffCardQDTO
;
import
org.apache.logging.log4j.LogManager
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 卡券
*/
@RestController
@RequestMapping
(
"/coupon"
)
public
class
CouponController
{
private
static
final
org
.
apache
.
logging
.
log4j
.
Logger
logger
=
LogManager
.
getLogger
(
CouponController
.
class
);
@Autowired
private
CouponHBOuterService
couponHBOuterService
;
/**
* 卡券导购核销
* @param cardLogId 卡券日志id
* @param enterpriseId 企业id
* @param clerkId 导购id
* @return
*/
@RequestMapping
(
"/clerk-write-off"
)
public
RestResponse
<
CoupCardVO
>
writeOff
(
String
cardLogId
,
String
enterpriseId
,
String
clerkId
)
{
HaobanWriteOffCardQDTO
writeOffCardQDTO
=
new
HaobanWriteOffCardQDTO
();
writeOffCardQDTO
.
setEnterpriseId
(
enterpriseId
);
writeOffCardQDTO
.
setCardLogId
(
cardLogId
);
writeOffCardQDTO
.
setClerkId
(
clerkId
);
writeOffCardQDTO
.
setCardType
(
2
);
ServiceResponse
<
CoupCardClerkLogDTO
>
response
=
couponHBOuterService
.
scanWriteOff
(
writeOffCardQDTO
);
if
(!
response
.
isSuccess
())
{
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
}
CoupCardVO
cardVO
=
getCardVO
(
response
.
getResult
());
return
RestResponse
.
successResult
(
cardVO
);
}
/**
* 卡券导购核销列表
* @param pageInfo 分页参数
* @param enterpriseId 企业id
* @param clerkId 导购id
* @param writeOffType 核销类型 1客户核销2导购核销
* @return
*/
@RequestMapping
(
"/clerk-list"
)
public
RestResponse
<
Page
<
CoupCardClerkLogVO
>>
list
(
BasePageInfo
pageInfo
,
String
enterpriseId
,
String
clerkId
,
Integer
writeOffType
)
{
Page
<
CoupCardClerkLogDTO
>
page
=
new
Page
<>();
page
.
setCurrentPage
(
pageInfo
.
getPageNum
());
page
.
setPageSize
(
pageInfo
.
getPageSize
());
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"clerkId"
,
clerkId
);
params
.
put
(
"writeOffType"
,
writeOffType
);
page
.
setParams
(
params
);
ServiceResponse
<
Page
<
CoupCardClerkLogDTO
>>
response
=
couponHBOuterService
.
pageClerkLog
(
enterpriseId
,
page
);
if
(!
response
.
isSuccess
())
{
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
}
Page
<
CoupCardClerkLogVO
>
retPage
=
PageHelperUtils
.
changePageToCurrentPage
(
response
.
getResult
(),
CoupCardClerkLogVO
.
class
);
return
RestResponse
.
successResult
(
retPage
);
}
/**
* 卡券导购核销详情
* @param clerkLogId
* @return
*/
@RequestMapping
(
"/clerk-get"
)
public
RestResponse
<
CoupCardVO
>
get
(
String
clerkLogId
)
{
ServiceResponse
<
CoupCardClerkLogDTO
>
response
=
couponHBOuterService
.
getClerkLogById
(
clerkLogId
);
if
(!
response
.
isSuccess
())
{
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
}
if
(
response
.
getResult
()
==
null
)
{
return
RestResponse
.
successResult
();
}
CoupCardVO
coupCardVO
=
getCardVO
(
response
.
getResult
());
return
RestResponse
.
successResult
(
coupCardVO
);
}
private
static
CoupCardVO
getCardVO
(
CoupCardClerkLogDTO
result
)
{
if
(
result
==
null
)
{
return
null
;
}
CoupCardVO
coupCardVO
=
EntityUtil
.
changeEntityNew
(
CoupCardVO
.
class
,
result
);
CoupCardDTO
coupCardDTO
=
result
.
getCoupCardDTO
();
if
(
coupCardDTO
!=
null
)
{
coupCardVO
.
setUseCondition
(
coupCardDTO
.
getUseCondition
());
coupCardVO
.
setEffectTime
(
coupCardDTO
.
getEffectTime
());
coupCardVO
.
setLimitTime
(
coupCardDTO
.
getLimitTime
());
coupCardVO
.
setStatus
(
coupCardDTO
.
getStatus
());
coupCardVO
.
setThirdName
(
coupCardDTO
.
getThirdName
());
coupCardVO
.
setMemberName
(
coupCardDTO
.
getMemberName
());
coupCardVO
.
setPhoneNum
(
coupCardDTO
.
getPhoneNum
());
coupCardVO
.
setCardNum
(
coupCardDTO
.
getCardNum
());
}
coupCardVO
.
setUseTime
(
result
.
getCreateTime
());
return
coupCardVO
;
}
/**
* 卡券核销数量
* @param enterpriseId 企业id
* @param clerkId 导购id
* @return
*/
@RequestMapping
(
"/clerk-count"
)
public
RestResponse
<
CoupCardClerkLogCountVO
>
get
(
String
enterpriseId
,
String
clerkId
)
{
ServiceResponse
<
Integer
>
memberResponse
=
couponHBOuterService
.
countClerkLog
(
enterpriseId
,
clerkId
,
1
);
ServiceResponse
<
Integer
>
clerkResponse
=
couponHBOuterService
.
countClerkLog
(
enterpriseId
,
clerkId
,
2
);
Integer
memberCount
=
memberResponse
.
getResult
();
Integer
clerkCount
=
clerkResponse
.
getResult
();
CoupCardClerkLogCountVO
countVO
=
new
CoupCardClerkLogCountVO
();
countVO
.
setMemberCount
(
memberCount
==
null
?
0
:
memberCount
);
countVO
.
setClerkCount
(
clerkCount
==
null
?
0
:
clerkCount
);
return
RestResponse
.
successResult
(
countVO
);
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/order/GicOrderController.java
View file @
12e0286b
...
...
@@ -495,7 +495,7 @@ public class GicOrderController {
}
// 订单详情
p
rivate
OrderDetailVO
getOrderDetail
(
String
enterpriseId
,
OrderInfoDTO
orderInfo
,
p
ublic
OrderDetailVO
getOrderDetail
(
String
enterpriseId
,
OrderInfoDTO
orderInfo
,
List
<
ListOrderItemDTO
>
orderItemDTOList
,
String
storeId
)
{
OrderDetailVO
orderDetailVO
=
EntityUtil
.
changeEntityByJSON
(
OrderDetailVO
.
class
,
orderInfo
);
orderDetailVO
.
setUsePoint
(
orderInfo
.
getUsePoints
());
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/scan/ScanController.java
0 → 100644
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
scan
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.business.order.dto.ordermanage.OrderDetailDTO
;
import
com.gic.business.order.qdto.ordermanage.QueryOrderDetailQDTO
;
import
com.gic.business.order.service.ordermanage.WebOrderManageApiService
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.GlobalInfo
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.manage.web.controller.order.GicOrderController
;
import
com.gic.haoban.manage.web.vo.coupon.CoupCardVO
;
import
com.gic.haoban.manage.web.vo.order.OrderDetailVO
;
import
com.gic.haoban.manage.web.vo.scan.ScanDetailVO
;
import
com.gic.marketing.api.dto.CoupCardDTO
;
import
com.gic.marketing.api.out.service.CouponHBOuterService
;
import
com.gic.marketing.api.qdto.card.HaobanWriteOffCardQDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 工作台
*/
@RestController
@RequestMapping
(
"/scan"
)
public
class
ScanController
{
private
static
final
org
.
apache
.
logging
.
log4j
.
Logger
logger
=
LogManager
.
getLogger
(
ScanController
.
class
);
@Autowired
GicOrderController
getOrderDetail
;
@Autowired
private
WebOrderManageApiService
webOrderManageApiService
;
@Autowired
private
CouponHBOuterService
couponHBOuterService
;
@Autowired
private
ClerkService
clerkService
;
/**
* 原有扫码接口聚合
* @see GicOrderController#scan(String, String, String)
* @param enterpriseId 企业id
* @param writeOffCode 核销码
* @param storeId 门店id
* @param clerkId 导购id
* @param analysisFlag 是否扫码 1是 0否
* @return
*/
@RequestMapping
(
"/all"
)
public
RestResponse
<
ScanDetailVO
>
scan
(
String
enterpriseId
,
String
writeOffCode
,
String
storeId
,
String
clerkId
,
Integer
analysisFlag
)
{
if
(
StringUtils
.
isEmpty
(
writeOffCode
))
{
return
RestResponse
.
failure
(
"9999"
,
"核销码为空"
);
}
ScanDetailVO
scanDetailVO
=
new
ScanDetailVO
();
// 通过核销码查询
QueryOrderDetailQDTO
qdto
=
new
QueryOrderDetailQDTO
();
qdto
.
setEnterpriseId
(
enterpriseId
);
qdto
.
setWriteOffCode
(
writeOffCode
);
ServiceResponse
<
OrderDetailDTO
>
ret
=
webOrderManageApiService
.
getOrderDetail
(
qdto
);
OrderDetailDTO
detail
=
ret
.
getResult
();
logger
.
info
(
"订单信息={}"
,
JSON
.
toJSONString
(
ret
));
//订单
if
(
ret
.
isSuccess
()
&&
detail
!=
null
)
{
// 已核销,且不是好办核销的
if
(
null
!=
detail
.
getOrderInfo
().
getDeliveryOptType
()
&&
detail
.
getOrderInfo
().
getDeliveryOptType
()
!=
1
)
{
logger
.
info
(
"已核销,且不是好办核销的={}"
,
writeOffCode
);
scanDetailVO
.
setOrderError
(
"此自提点无法核销"
);
}
if
(!
storeId
.
equals
(
detail
.
getOrderInfo
().
getPickUpStoreId
()))
{
scanDetailVO
.
setOrderError
(
"此自提点无法核销"
);
}
OrderDetailVO
orderDetailVO
=
getOrderDetail
.
getOrderDetail
(
enterpriseId
,
ret
.
getResult
().
getOrderInfo
(),
ret
.
getResult
().
getOrderItemList
(),
storeId
);
if
(!(
orderDetailVO
.
getOrderStep
().
equals
(
"2"
)
||
orderDetailVO
.
getOrderStep
().
equals
(
"4"
)))
{
scanDetailVO
.
setOrderError
(
"核销订单不存在"
);
}
Date
pickOverTime
=
detail
.
getOrderInfo
().
getPickUpOverTime
();
if
(
null
!=
pickOverTime
&&
pickOverTime
.
before
(
new
Date
()))
{
scanDetailVO
.
setOrderError
(
"此订单自提时间已截止"
);
}
scanDetailVO
.
setOrderDetailVO
(
orderDetailVO
);
}
//卡券
HaobanWriteOffCardQDTO
writeOffCardQDTO
=
new
HaobanWriteOffCardQDTO
();
writeOffCardQDTO
.
setEnterpriseId
(
enterpriseId
);
writeOffCardQDTO
.
setCardCode
(
writeOffCode
);
writeOffCardQDTO
.
setClerkId
(
clerkId
);
writeOffCardQDTO
.
setCardType
(
2
);
writeOffCardQDTO
.
setAnalysisFlag
(
analysisFlag
);
ServiceResponse
<
List
<
CoupCardDTO
>>
couponRet
=
couponHBOuterService
.
getCardLogByCode
(
writeOffCardQDTO
);
if
(
couponRet
.
isSuccess
()
&&
CollectionUtils
.
isNotEmpty
(
couponRet
.
getResult
()))
{
List
<
CoupCardDTO
>
couponList
=
couponRet
.
getResult
();
CoupCardDTO
coupCardDTO
=
couponList
.
get
(
0
);
if
(
couponList
.
size
()
>
1
)
{
scanDetailVO
.
setCouponError
(
"识别到多张兑换券,为防止核销错误,请协助会员,在会员小程序中进行兑换券核销"
);
scanDetailVO
.
setCouponErrorType
(
1
);
}
else
{
boolean
checkStore
=
coupCardDTO
.
isCheckStore
();
if
(!
checkStore
)
{
scanDetailVO
.
setCouponError
(
"兑换券在本店不可用"
);
}
Integer
verificationType
=
coupCardDTO
.
getVerificationType
();
if
(!
Objects
.
equals
(
verificationType
,
0
))
{
scanDetailVO
.
setCouponError
(
"请通过收银台核销此兑换券"
);
}
}
CoupCardVO
cardVO
=
EntityUtil
.
changeEntityNew
(
CoupCardVO
.
class
,
coupCardDTO
);
if
(
Objects
.
equals
(
GlobalInfo
.
COUPON_STATUS_USED
,
coupCardDTO
.
getStatus
()))
{
cardVO
.
setStoreName
(
coupCardDTO
.
getOrderStoreName
());
cardVO
.
setClerkName
(
coupCardDTO
.
getOrderClerkName
());
}
else
{
ClerkDTO
clerkDTO
=
clerkService
.
getclerkById
(
clerkId
);
if
(
clerkDTO
!=
null
)
{
cardVO
.
setStoreName
(
clerkDTO
.
getStoreName
());
cardVO
.
setClerkName
(
clerkDTO
.
getClerkName
());
}
}
cardVO
.
setUseTime
(
coupCardDTO
.
getUseTime
());
scanDetailVO
.
setCardVO
(
cardVO
);
}
return
RestResponse
.
successResult
(
scanDetailVO
);
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/coupon/CoupCardClerkLogCountVO.java
0 → 100644
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
coupon
;
import
java.io.Serializable
;
import
java.util.Date
;
public
class
CoupCardClerkLogCountVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
707322017107902L
;
/**
* 导购核销数量
*/
private
Integer
clerkCount
=
0
;
/**
* 会员核销数量
*/
private
Integer
memberCount
=
0
;
/**
* 总核销数量
*/
private
Integer
totalCount
=
0
;
public
Integer
getClerkCount
()
{
return
clerkCount
;
}
public
void
setClerkCount
(
Integer
clerkCount
)
{
this
.
clerkCount
=
clerkCount
;
}
public
Integer
getMemberCount
()
{
return
memberCount
;
}
public
void
setMemberCount
(
Integer
memberCount
)
{
this
.
memberCount
=
memberCount
;
}
public
Integer
getTotalCount
()
{
return
this
.
memberCount
+
clerkCount
;
}
public
void
setTotalCount
(
Integer
totalCount
)
{
this
.
totalCount
=
totalCount
;
}
}
\ No newline at end of file
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/coupon/CoupCardClerkLogVO.java
0 → 100644
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
coupon
;
import
java.io.Serializable
;
import
java.util.Date
;
public
class
CoupCardClerkLogVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
707322017107902L
;
/**主键*/
private
String
clerkLogId
;
/**企业id*/
private
String
enterpriseId
;
/** 会员id */
private
String
memberId
;
/** 卡券日志id */
private
String
cardLogId
;
/**
* 卡券编码
*/
private
String
cardCode
;
/**
* 卡券名称
*/
private
String
cardName
;
/** 卡券id */
private
String
coupCardId
;
/** 门店id */
private
String
storeId
;
/** 门店code */
private
String
storeCode
;
/** 门店名称 */
private
String
storeName
;
/** 导购id */
private
String
clerkId
;
/** 导购名称 */
private
String
clerkName
;
/** 导购code */
private
String
clerkCode
;
/**
* 核销类型1客户核销2导购核销
*/
private
Integer
writeOffType
;
private
Date
updateTime
;
private
Date
createTime
;
/**
* 核销时间
*/
private
Date
useTime
;
public
String
getClerkLogId
()
{
return
clerkLogId
;
}
public
void
setClerkLogId
(
String
clerkLogId
)
{
this
.
clerkLogId
=
clerkLogId
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getCardLogId
()
{
return
cardLogId
;
}
public
void
setCardLogId
(
String
cardLogId
)
{
this
.
cardLogId
=
cardLogId
;
}
public
String
getCardName
()
{
return
cardName
;
}
public
void
setCardName
(
String
cardName
)
{
this
.
cardName
=
cardName
;
}
public
String
getCardCode
()
{
return
cardCode
;
}
public
void
setCardCode
(
String
cardCode
)
{
this
.
cardCode
=
cardCode
;
}
public
String
getCoupCardId
()
{
return
coupCardId
;
}
public
void
setCoupCardId
(
String
coupCardId
)
{
this
.
coupCardId
=
coupCardId
;
}
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
Integer
getWriteOffType
()
{
return
writeOffType
;
}
public
void
setWriteOffType
(
Integer
writeOffType
)
{
this
.
writeOffType
=
writeOffType
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUseTime
()
{
return
createTime
;
}
public
void
setUseTime
(
Date
useTime
)
{
this
.
useTime
=
useTime
;
}
}
\ No newline at end of file
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/coupon/CoupCardVO.java
0 → 100644
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
coupon
;
import
java.io.Serializable
;
import
java.util.Date
;
public
class
CoupCardVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5868328668312616015L
;
/**
* 卡券日志id
*/
private
String
cardLogId
;
/**
* 卡券id
*/
private
String
coupCardId
;
/**
* 卡券名称
*/
private
String
cardName
;
/**
* 使用条件
*/
private
String
useCondition
;
/**
* 券号
*/
private
String
cardCode
;
/**
* 生效时间
*/
private
Date
effectTime
;
/**
* 截止时间
*/
private
Date
limitTime
;
/**
* 状态 待领取:3; 待核销:4; 已核销:5; 已过期:6; 已销毁:7; 已占用:8; 转赠中:9 ;已转赠:10
*/
private
Integer
status
;
/**
* 会员昵称
*/
private
String
thirdName
;
/**
* 会员名称
*/
private
String
memberName
;
/**
* 会员手机号码
*/
private
String
phoneNum
;
/**
* 会员卡号
*/
private
String
cardNum
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 导购名称
*/
private
String
clerkName
;
/**
* 核销时间
*/
private
Date
useTime
;
public
String
getCardLogId
()
{
return
cardLogId
;
}
public
void
setCardLogId
(
String
cardLogId
)
{
this
.
cardLogId
=
cardLogId
;
}
public
String
getCoupCardId
()
{
return
coupCardId
;
}
public
void
setCoupCardId
(
String
coupCardId
)
{
this
.
coupCardId
=
coupCardId
;
}
public
String
getCardName
()
{
return
cardName
;
}
public
void
setCardName
(
String
cardName
)
{
this
.
cardName
=
cardName
;
}
public
String
getUseCondition
()
{
return
useCondition
;
}
public
void
setUseCondition
(
String
useCondition
)
{
this
.
useCondition
=
useCondition
;
}
public
String
getCardCode
()
{
return
cardCode
;
}
public
void
setCardCode
(
String
cardCode
)
{
this
.
cardCode
=
cardCode
;
}
public
Date
getEffectTime
()
{
return
effectTime
;
}
public
void
setEffectTime
(
Date
effectTime
)
{
this
.
effectTime
=
effectTime
;
}
public
Date
getLimitTime
()
{
return
limitTime
;
}
public
void
setLimitTime
(
Date
limitTime
)
{
this
.
limitTime
=
limitTime
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
public
String
getThirdName
()
{
return
thirdName
;
}
public
void
setThirdName
(
String
thirdName
)
{
this
.
thirdName
=
thirdName
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getPhoneNum
()
{
return
phoneNum
;
}
public
void
setPhoneNum
(
String
phoneNum
)
{
this
.
phoneNum
=
phoneNum
;
}
public
String
getCardNum
()
{
return
cardNum
;
}
public
void
setCardNum
(
String
cardNum
)
{
this
.
cardNum
=
cardNum
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
Date
getUseTime
()
{
return
useTime
;
}
public
void
setUseTime
(
Date
useTime
)
{
this
.
useTime
=
useTime
;
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/scan/ScanDetailVO.java
0 → 100644
View file @
12e0286b
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
scan
;
import
com.gic.haoban.manage.web.vo.coupon.CoupCardVO
;
import
com.gic.haoban.manage.web.vo.order.OrderDetailVO
;
import
com.gic.marketing.api.dto.CoupCardDTO
;
import
java.io.Serializable
;
public
class
ScanDetailVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5215230055823016992L
;
/**
* 订单详情
*/
private
OrderDetailVO
orderDetailVO
;
/**
* 卡券详情
*/
private
CoupCardVO
cardVO
;
/**
* 订单错误信息
*/
private
String
orderError
;
/**
* 卡券错误信息
*/
private
String
couponError
;
/**
* 错误信息类型 1弹窗
*/
private
Integer
couponErrorType
=
0
;
public
OrderDetailVO
getOrderDetailVO
()
{
return
orderDetailVO
;
}
public
void
setOrderDetailVO
(
OrderDetailVO
orderDetailVO
)
{
this
.
orderDetailVO
=
orderDetailVO
;
}
public
CoupCardVO
getCardVO
()
{
return
cardVO
;
}
public
void
setCardVO
(
CoupCardVO
cardVO
)
{
this
.
cardVO
=
cardVO
;
}
public
String
getOrderError
()
{
return
orderError
;
}
public
void
setOrderError
(
String
orderError
)
{
this
.
orderError
=
orderError
;
}
public
String
getCouponError
()
{
return
couponError
;
}
public
void
setCouponError
(
String
couponError
)
{
this
.
couponError
=
couponError
;
}
public
Integer
getCouponErrorType
()
{
return
couponErrorType
;
}
public
void
setCouponErrorType
(
Integer
couponErrorType
)
{
this
.
couponErrorType
=
couponErrorType
;
}
}
haoban-manage3-wx/src/main/webapp/WEB-INF/dubbo-haoban-manage-wx.xml
View file @
12e0286b
...
...
@@ -21,6 +21,7 @@
<dubbo:reference
interface=
"com.gic.marketing.api.service.WechatMarketingService"
id=
"wechatMarketingService"
/>
<dubbo:reference
interface=
"com.gic.marketing.pro.api.service.ai.AiMemberLogApiService"
id=
"aiMemberLogApiService"
/>
<dubbo:reference
interface=
"com.gic.marketing.api.service.CouponCardService"
id=
"couponCardService"
/>
<dubbo:reference
interface=
"com.gic.marketing.api.out.service.CouponHBOuterService"
id=
"couponHBOuterService"
/>
<dubbo:reference
interface=
"com.gic.game.api.service.GameService"
id=
"gameService"
/>
<dubbo:reference
interface=
"com.gic.enterprise.service.CustomSettingApiService"
id=
"customSettingApiService"
/>
<dubbo:reference
interface=
"com.gic.marketing.pro.api.service.game.GameApiService"
id=
"gameApiService"
/>
...
...
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