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
7f1ea3df
Commit
7f1ea3df
authored
Jul 05, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
活码链接
parent
5db14b82
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
153 additions
and
20 deletions
+153
-20
HmLinkStoreDTO.java
...java/com/gic/haoban/manage/api/dto/hm/HmLinkStoreDTO.java
+9
-0
KeyDataApiService.java
.../com/gic/haoban/manage/api/service/KeyDataApiService.java
+1
-4
HmLinkApiService.java
...om/gic/haoban/manage/api/service/hm/HmLinkApiService.java
+3
-1
KeyDataService.java
...com/gic/haoban/manage/service/service/KeyDataService.java
+4
-0
KeyDataServiceImpl.java
...aoban/manage/service/service/impl/KeyDataServiceImpl.java
+21
-0
KeyDataApiServiceImpl.java
...anage/service/service/out/impl/KeyDataApiServiceImpl.java
+1
-12
HmLinkApiServiceImpl.java
...age/service/service/out/impl/hm/HmLinkApiServiceImpl.java
+114
-3
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/hm/HmLinkStoreDTO.java
View file @
7f1ea3df
...
...
@@ -21,6 +21,7 @@ public class HmLinkStoreDTO implements Serializable {
private
String
storeId
;
private
String
storeCode
;
private
String
storeName
;
private
String
storeAddress
;
/**1正常 0删除*/
private
Integer
statusFlag
;
/**活码链接ID*/
...
...
@@ -30,6 +31,14 @@ public class HmLinkStoreDTO implements Serializable {
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
public
String
getStoreAddress
()
{
return
storeAddress
;
}
public
void
setStoreAddress
(
String
storeAddress
)
{
this
.
storeAddress
=
storeAddress
;
}
public
java
.
util
.
Date
getCreateTime
()
{
return
createTime
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/KeyDataApiService.java
View file @
7f1ea3df
package
com
.
gic
.
haoban
.
manage
.
api
.
service
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.KeyDataDTO
;
import
com.gic.haoban.manage.api.enums.KeyDataEnum
;
public
interface
KeyDataApiService
{
public
ServiceResponse
<
String
>
saveMobileData
(
Long
linkId
,
String
mobile
);
public
ServiceResponse
<
KeyDataDTO
>
saveHmData
(
String
unionid
,
Long
linkId
,
Long
hmId
);
public
ServiceResponse
<
String
>
getDataByKey
(
String
key
,
KeyDataEnum
dataEnum
);
public
ServiceResponse
<
String
>
getMobile
(
Long
linkId
,
String
key
);
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/hm/HmLinkApiService.java
View file @
7f1ea3df
...
...
@@ -6,6 +6,7 @@ import com.gic.api.base.commons.BasePageInfo;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO
;
import
com.gic.haoban.manage.api.dto.qdto.hm.HmLinkSearchQDTO
;
/**
...
...
@@ -45,5 +46,6 @@ public interface HmLinkApiService {
* @return
* @throws
*/
public
ServiceResponse
<
HmLinkDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
String
wxaLinkId
);
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
String
storeId
,
String
clerkId
,
String
linkId
,
String
mixPhone
,
String
unionid
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/KeyDataService.java
View file @
7f1ea3df
...
...
@@ -6,7 +6,11 @@ import com.gic.haoban.manage.api.enums.KeyDataEnum;
public
interface
KeyDataService
{
public
KeyDataDTO
saveData
(
String
relationId
,
String
data
,
KeyDataEnum
dataEnum
);
public
String
saveHmData
(
String
unionid
,
Long
linkId
,
Long
hmId
);
public
KeyDataDTO
getDataByKey
(
String
key
,
KeyDataEnum
dataEnum
,
String
relationId
);
public
String
getMobile
(
String
key
,
String
relationId
)
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/KeyDataServiceImpl.java
View file @
7f1ea3df
...
...
@@ -7,6 +7,8 @@ import java.util.Set;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.ToolUtil
;
import
com.gic.commons.util.UniqueIdUtils
;
...
...
@@ -40,6 +42,16 @@ public class KeyDataServiceImpl implements KeyDataService {
this
.
tabKeyDataMapper
.
insert
(
entity
);
return
dto
;
}
@Override
public
String
saveHmData
(
String
unionid
,
Long
linkId
,
Long
hmId
)
{
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"unid"
,
unionid
);
json
.
put
(
"ljid"
,
linkId
);
json
.
put
(
"hmid"
,
hmId
);
KeyDataDTO
data
=
this
.
saveData
(
String
.
valueOf
(
linkId
),
json
.
toString
(),
KeyDataEnum
.
DYNAMIC_HM
);
return
data
.
getDataKey
();
}
@Override
public
KeyDataDTO
getDataByKey
(
String
key
,
KeyDataEnum
dataEnum
,
String
relationId
)
{
...
...
@@ -49,6 +61,15 @@ public class KeyDataServiceImpl implements KeyDataService {
}
return
null
;
}
@Override
public
String
getMobile
(
String
key
,
String
relationId
)
{
KeyDataDTO
data
=
this
.
getDataByKey
(
key
,
KeyDataEnum
.
MOBILE
,
relationId
)
;
if
(
null
!=
data
)
{
return
JSON
.
parseObject
(
data
.
getData
()).
getString
(
"ph"
)
;
}
return
null
;
}
public
static
String
generateKey
(
KeyDataEnum
dataEnum
)
{
if
(
dataEnum
.
equals
(
KeyDataEnum
.
MOBILE
))
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/KeyDataApiServiceImpl.java
View file @
7f1ea3df
...
...
@@ -19,22 +19,12 @@ public class KeyDataApiServiceImpl implements KeyDataApiService {
private
KeyDataService
keyDataService
;
@Override
public
ServiceResponse
<
KeyDataDTO
>
saveHmData
(
String
unionid
,
Long
linkId
,
Long
hmId
)
{
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"unid"
,
unionid
);
json
.
put
(
"ljid"
,
linkId
);
json
.
put
(
"hmid"
,
hmId
);
return
ServiceResponse
.
success
(
this
.
keyDataService
.
saveData
(
String
.
valueOf
(
linkId
),
json
.
toString
(),
KeyDataEnum
.
DYNAMIC_HM
));
}
@Override
public
ServiceResponse
<
String
>
saveMobileData
(
Long
linkId
,
String
mobile
)
{
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"ph"
,
mobile
);
json
.
put
(
"ljid"
,
linkId
);
KeyDataDTO
keyData
=
this
.
keyDataService
.
saveData
(
String
.
valueOf
(
linkId
),
json
.
toString
(),
KeyDataEnum
.
MOBILE
);
return
ServiceResponse
.
success
(
keyData
.
getDataKey
()
.
split
(
"_"
)[
1
]
);
return
ServiceResponse
.
success
(
keyData
.
getDataKey
());
}
@Override
...
...
@@ -48,7 +38,6 @@ public class KeyDataApiServiceImpl implements KeyDataApiService {
@Override
public
ServiceResponse
<
String
>
getMobile
(
Long
linkId
,
String
key
)
{
key
=
linkId
+
"_"
+
key
;
KeyDataDTO
data
=
this
.
keyDataService
.
getDataByKey
(
key
,
KeyDataEnum
.
MOBILE
,
String
.
valueOf
(
linkId
));
if
(
null
!=
data
)
{
JSONObject
json
=
JSON
.
parseObject
(
data
.
getData
());
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/hm/HmLinkApiServiceImpl.java
View file @
7f1ea3df
...
...
@@ -2,29 +2,53 @@ package com.gic.haoban.manage.service.service.out.impl.hm;
import
java.util.List
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSONObject
;
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.enterprise.api.service.StoreService
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkStoreSettingDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO
;
import
com.gic.haoban.manage.api.dto.qdto.hm.HmLinkSearchQDTO
;
import
com.gic.haoban.manage.api.service.hm.HmLinkApiService
;
import
com.gic.haoban.manage.service.entity.hm.TabHmLink
;
import
com.gic.haoban.manage.service.errorcode.HaoBanErrCode
;
import
com.gic.haoban.manage.service.service.KeyDataService
;
import
com.gic.haoban.manage.service.service.hm.HmLinkService
;
import
com.gic.haoban.manage.service.service.hm.HmLinkStoreService
;
import
com.gic.member.api.dto.es.MemberDataDTO
;
import
com.gic.member.api.dto.es.MemberStoreClerkDataDTO
;
import
com.gic.member.api.service.MemberService
;
import
com.gic.search.engine.api.dto.ESResponseQuerySingle
;
import
com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO
;
import
com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService
;
@Service
(
"hmLinkApiService"
)
public
class
HmLinkApiServiceImpl
implements
HmLinkApiService
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
HmLinkApiService
.
class
);
@Autowired
private
HmLinkService
hmLinkService
;
@Autowired
private
HmLinkStoreService
hmLinkStoreService
;
@Autowired
private
KeyDataService
keyDataService
;
@Autowired
private
MemberService
memberService
;
@Autowired
private
ESDataDynamicOperationApiService
esApiService
;
@Autowired
private
StoreService
storeService
;
@Override
public
ServiceResponse
<
HmLinkDTO
>
getByLinkId
(
String
wxEnterpriseId
,
String
enterpriseId
,
Long
linkId
)
{
...
...
@@ -55,10 +79,97 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
}
@Override
public
ServiceResponse
<
HmLinkDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
String
wxaLinkId
)
{
// hm_hmlinkid_xxx
wxaLinkId
.
split
(
"_"
)
;
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
String
storeId
,
String
clerkId
,
String
linkId
,
String
mixPhone
,
String
unionid
)
{
log
.
info
(
"小程序获取活码={},linkId={},mixPhone={}"
,
enterpriseId
,
linkId
,
mixPhone
);
Long
hmLinkId
=
Long
.
parseLong
(
linkId
);
TabHmLink
link
=
this
.
hmLinkService
.
getByLinkId
(
null
,
null
,
hmLinkId
);
// 判断导购是否有活码,如果没有返回错误
if
(
StringUtils
.
isNotBlank
(
clerkId
))
{
}
// 直接返回门店的导购活码,如果没有返回错误
if
(
StringUtils
.
isNotBlank
(
storeId
))
{
}
HmLinkStoreSettingDTO
fwStore
=
null
;
HmLinkStoreSettingDTO
xgStore
=
null
;
if
(
StringUtils
.
isNotBlank
(
link
.
getStoreRuleJson
()))
{
String
storeRuleJson
=
link
.
getStoreRuleJson
();
JSONObject
storeRuleObj
=
JSONObject
.
parseObject
(
storeRuleJson
);
fwStore
=
storeRuleObj
.
getObject
(
"fw_store"
,
HmLinkStoreSettingDTO
.
class
);
if
(
null
==
fwStore
||
fwStore
.
getOpen
()
==
0
)
{
fwStore
=
null
;
}
xgStore
=
storeRuleObj
.
getObject
(
"xg_store"
,
HmLinkStoreSettingDTO
.
class
);
if
(
null
==
xgStore
||
xgStore
.
getOpen
()
==
0
)
{
xgStore
=
null
;
}
}
// 会员门店
if
(
StringUtils
.
isNotEmpty
(
mixPhone
)
&&
(
null
!=
fwStore
||
null
!=
xgStore
))
{
String
mobile
=
this
.
keyDataService
.
getMobile
(
mixPhone
,
linkId
);
log
.
info
(
"小程序获取活码mobile={}"
,
mobile
);
String
memberId
=
this
.
memberService
.
getMemberIdByPhoneNumber
(
mobile
,
enterpriseId
);
log
.
info
(
"小程序获取活码memberId={}"
,
memberId
);
MemberDataDTO
member
=
this
.
getMemberClerk
(
enterpriseId
,
memberId
);
String
mainClerkId
=
member
.
getMainClerkId
();
List
<
MemberStoreClerkDataDTO
>
list
=
member
.
getStoreClerkRel
()
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
}
}
if
(
StringUtils
.
isNotBlank
(
link
.
getCustomRuleJson
()))
{
String
customRuleJson
=
link
.
getCustomRuleJson
();
JSONObject
storeRuleObj
=
JSONObject
.
parseObject
(
customRuleJson
);
int
openFlag
=
storeRuleObj
.
getIntValue
(
"open"
);
if
(
openFlag
==
1
)
{
HmLinkStoreSettingDTO
cityStore
=
storeRuleObj
.
getObject
(
"city_store"
,
HmLinkStoreSettingDTO
.
class
);
}
}
// 查询活码
Long
hmId
=
null
;
String
key
=
this
.
keyDataService
.
saveHmData
(
unionid
,
hmLinkId
,
hmId
);
// 生成动态活码
return
null
;
}
// 冗余会员信息
private
MemberDataDTO
getMemberClerk
(
String
enterpriseId
,
String
memberId
)
{
String
returnFields
=
"memberId,mainClerkId,storeClerkRel"
;
JSONObject
memberObj
=
this
.
queryDataSingle
(
enterpriseId
,
memberId
,
returnFields
);
if
(
null
==
memberObj
)
{
return
null
;
}
log
.
info
(
"会员信息={}"
,
memberObj
.
toJSONString
());
MemberDataDTO
memberDataDTO
=
memberObj
.
toJavaObject
(
MemberDataDTO
.
class
);
return
memberDataDTO
;
}
public
JSONObject
queryDataSingle
(
String
enterpriseId
,
String
memberId
,
String
returnFields
)
{
JSONObject
searchRes
=
null
;
try
{
JSONObject
searchJson
=
new
JSONObject
();
DynamicSearchDTO
search
=
new
DynamicSearchDTO
();
searchJson
.
put
(
"id"
,
memberId
);
search
.
setSearchJson
(
searchJson
);
search
.
setEnterpriseId
(
enterpriseId
);
search
.
setColumnCategoryCode
(
"member"
);
if
(
StringUtils
.
isNotBlank
(
returnFields
))
{
search
.
setReturnFileds
(
returnFields
);
}
ESResponseQuerySingle
single
=
esApiService
.
queryDataSingle
(
search
);
searchRes
=
single
.
getRes
();
}
catch
(
Exception
e
)
{
log
.
warn
(
"从搜索引擎搜索会员数据异常memberId: {}"
,
memberId
,
e
);
}
return
searchRes
;
}
}
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