Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
e1059dbb
提交
e1059dbb
authored
1月 13, 2026
作者:
douxy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CP计划小程序改造,新增模板改造,导出飞书文件改造
上级
e5ea8462
全部展开
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
157 行增加
和
5 行删除
+157
-5
TemporaryActivityCoreController.java
...r/activity/temporary/TemporaryActivityCoreController.java
+12
-1
PromPlanCoreController.java
...ion/controller/activityplanv2/PromPlanCoreController.java
+1
-0
TencentLocationController.java
...n/controller/user/location/TencentLocationController.java
+35
-0
ActivityPlanInfoVo.java
...promotion/pojo/activity/manage/vo/ActivityPlanInfoVo.java
+1
-0
ActivityPlanInfoDto.java
...omotion/pojo/activity/planv2/dto/ActivityPlanInfoDto.java
+12
-2
ActivityPlanOperVo.java
...promotion/pojo/activity/planv2/vo/ActivityPlanOperVo.java
+11
-2
TemporaryActivityCoreServiceImpl.java
...vity/temporary/impl/TemporaryActivityCoreServiceImpl.java
+4
-0
PromPlanCoreServiceImpl.java
.../service/activityplanv2/impl/PromPlanCoreServiceImpl.java
+0
-0
TencentLocationQueryService.java
...u/promotion/service/user/TencentLocationQueryService.java
+17
-0
TencentLocationQueryServiceImpl.java
...on/service/user/impl/TencentLocationQueryServiceImpl.java
+52
-0
WeChatUserQueryService.java
...aolu/promotion/service/wechat/WeChatUserQueryService.java
+7
-0
WeChatUserQueryServiceImpl.java
...otion/service/wechat/impl/WeChatUserQueryServiceImpl.java
+5
-0
TencentMapUtil.java
...n/java/com/wangxiaolu/promotion/utils/TencentMapUtil.java
+0
-0
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityCoreController.java
浏览文件 @
e1059dbb
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
temporary
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
temporary
;
import
com.wangxiaolu.promotion.controller.user.tem.TemporaryInfoQueryController
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.enums.activity.TemActApproveStatus
;
import
com.wangxiaolu.promotion.enums.activity.TemActApproveStatus
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.exception.DataException
;
...
@@ -14,6 +15,7 @@ import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCloc
...
@@ -14,6 +15,7 @@ import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCloc
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityQueryService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityQueryService
;
import
com.wangxiaolu.promotion.service.wechat.WeChatUserQueryService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -41,6 +43,9 @@ public class TemporaryActivityCoreController {
...
@@ -41,6 +43,9 @@ public class TemporaryActivityCoreController {
@Autowired
@Autowired
private
TemporaryActivityClockCoreService
tempActivityClockCoreService
;
private
TemporaryActivityClockCoreService
tempActivityClockCoreService
;
@Autowired
private
WeChatUserQueryService
weChatUserQueryService
;
/**
/**
* 促销员[今日活动]数据保存
* 促销员[今日活动]数据保存
* 返回活动生成id
* 返回活动生成id
...
@@ -54,6 +59,11 @@ public class TemporaryActivityCoreController {
...
@@ -54,6 +59,11 @@ public class TemporaryActivityCoreController {
TemporaryActivityReportedDto
temActDto
=
new
TemporaryActivityReportedDto
();
TemporaryActivityReportedDto
temActDto
=
new
TemporaryActivityReportedDto
();
BeanUtils
.
copyProperties
(
activityVo
,
temActDto
);
BeanUtils
.
copyProperties
(
activityVo
,
temActDto
);
temActDto
.
setId
(
activityVo
.
getActivityReportedId
());
temActDto
.
setId
(
activityVo
.
getActivityReportedId
());
//保存促销员电话号码
String
temporaryPhone
=
weChatUserQueryService
.
findUserPhoneByID
(
activityVo
.
getTemporaryId
());
temActDto
.
setTemporaryPhone
(
temporaryPhone
);
/**
/**
* 已有id,修改任务
* 已有id,修改任务
*/
*/
...
@@ -78,7 +88,8 @@ public class TemporaryActivityCoreController {
...
@@ -78,7 +88,8 @@ public class TemporaryActivityCoreController {
.
setActivityPatternId
(
clockDto
.
getActivityPatternId
())
.
setActivityPatternId
(
clockDto
.
getActivityPatternId
())
.
setActivityPattern
(
clockDto
.
getActivityPattern
())
.
setActivityPattern
(
clockDto
.
getActivityPattern
())
.
setProvince
(
clockDto
.
getClockProvince
())
.
setProvince
(
clockDto
.
getClockProvince
())
.
setCity
(
clockDto
.
getClockCity
());
.
setCity
(
clockDto
.
getClockCity
()).
setTemporaryPhone
(
clockDto
.
getPhone
())
;
long
reportedId
=
tempActivityCoreService
.
activityDataReportedSave
(
temActDto
);
long
reportedId
=
tempActivityCoreService
.
activityDataReportedSave
(
temActDto
);
...
...
src/main/java/com/wangxiaolu/promotion/controller/activityplanv2/PromPlanCoreController.java
浏览文件 @
e1059dbb
...
@@ -17,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -17,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.io.File
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.YearMonth
;
import
java.time.YearMonth
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/user/location/TencentLocationController.java
0 → 100644
浏览文件 @
e1059dbb
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
.
location
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.user.TencentLocationQueryService
;
import
com.wangxiaolu.promotion.utils.TencentMapUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @Author: DouXinYu
* @Date: 2026-01-12 11:10
* @Description:
*/
@RestController
@RequestMapping
(
"/user/location/query"
)
public
class
TencentLocationController
{
@Autowired
TencentLocationQueryService
tencentLocationQueryService
;
@GetMapping
(
"/reverse"
)
public
R
getDefaultLocation
(
@RequestParam
(
"lng"
)
double
lng
,
@RequestParam
(
"lat"
)
double
lat
){
TencentMapUtil
.
AddressInfo
addressByLngLat
=
tencentLocationQueryService
.
getAddressByLngLat
(
lng
,
lat
);
return
R
.
success
(
addressByLngLat
);
}
@GetMapping
(
"/list"
)
public
R
getProvinceDistinctList
(){
return
R
.
success
(
tencentLocationQueryService
.
getAddressList
());
}
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/manage/vo/ActivityPlanInfoVo.java
浏览文件 @
e1059dbb
...
@@ -77,4 +77,5 @@ public class ActivityPlanInfoVo {
...
@@ -77,4 +77,5 @@ public class ActivityPlanInfoVo {
private
String
lineName
;
private
String
lineName
;
}
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/planv2/dto/ActivityPlanInfoDto.java
浏览文件 @
e1059dbb
...
@@ -158,14 +158,24 @@ public class ActivityPlanInfoDto implements Serializable {
...
@@ -158,14 +158,24 @@ public class ActivityPlanInfoDto implements Serializable {
*/
*/
// private BigDecimal incidentals;
// private BigDecimal incidentals;
/**
/**
*
是否有
试吃台
*
门店是否已配
试吃台
*/
*/
private
String
temWlSct
;
private
String
temWlSct
;
/**
/**
* 活动品项:老品/黑鸭/散称
* 活动品项:老品/黑鸭/散称
/礼盒
*/
*/
private
String
prdClass
;
private
String
prdClass
;
/**
* 活动执行方式:经销商/第三方
*/
private
String
planExecuteMode
;
/**
* 门店是否允许使用试吃台
*/
private
String
isCanUseTasteCounter
;
/**
/**
* 是否执行:1:执行;0:未执行;
* 是否执行:1:执行;0:未执行;
*/
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/planv2/vo/ActivityPlanOperVo.java
浏览文件 @
e1059dbb
...
@@ -80,12 +80,21 @@ public class ActivityPlanOperVo {
...
@@ -80,12 +80,21 @@ public class ActivityPlanOperVo {
private
LocalDateTime
noonClockInTime
;
private
LocalDateTime
noonClockInTime
;
/**
/**
* 是否有试吃台
* 门店是否可用试吃台
*/
private
String
isCanUseTasteCounter
;
/**
* 门店是否配有试吃台
*/
*/
private
String
temWlSct
;
private
String
temWlSct
;
/**
/**
* 活动品项:老品/黑鸭/散称
* 活动品项:老品/黑鸭/散称
/礼盒
*/
*/
private
String
prdClass
;
private
String
prdClass
;
/**
* 执行方式
*/
private
String
planExecuteMode
;
private
List
<
Long
>
planIds
;
private
List
<
Long
>
planIds
;
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityCoreServiceImpl.java
浏览文件 @
e1059dbb
...
@@ -18,6 +18,7 @@ import com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto;
...
@@ -18,6 +18,7 @@ import com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityMarketCellVo
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityMarketCellVo
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService
;
...
@@ -88,6 +89,7 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
...
@@ -88,6 +89,7 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
// 保存图片
// 保存图片
saveActivityPhotoV2
(
temActDto
);
saveActivityPhotoV2
(
temActDto
);
// 售卖单元新增保存
// 售卖单元新增保存
// String key = temMarketCellRedisKey(temActDto.getTemporaryId());
// String key = temMarketCellRedisKey(temActDto.getTemporaryId());
// temporaryActivityMarketCellDao.saveList(reportedId,redisCache.getToJsonArray(key));
// temporaryActivityMarketCellDao.saveList(reportedId,redisCache.getToJsonArray(key));
...
@@ -113,6 +115,8 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
...
@@ -113,6 +115,8 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
}
else
{
}
else
{
temActDto
.
setApproveStatus
(
TemActApproveStatus
.
SUBMITTED
);
temActDto
.
setApproveStatus
(
TemActApproveStatus
.
SUBMITTED
);
}
}
WxTemporaryInfoDto
wxTemporaryInfoDto
=
temporaryInfoDao
.
selectOneById
(
temActDto
.
getTemporaryId
());
temActDto
.
setTemporaryPhone
(
wxTemporaryInfoDto
.
getPhone
());
temporaryActivityReportedDao
.
updateById
(
temActDto
);
temporaryActivityReportedDao
.
updateById
(
temActDto
);
// 售卖单元新增保存
// 售卖单元新增保存
...
...
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/impl/PromPlanCoreServiceImpl.java
浏览文件 @
e1059dbb
差异被折叠。
点击展开。
src/main/java/com/wangxiaolu/promotion/service/user/TencentLocationQueryService.java
0 → 100644
浏览文件 @
e1059dbb
package
com
.
wangxiaolu
.
promotion
.
service
.
user
;
import
com.wangxiaolu.promotion.utils.TencentMapUtil
;
import
java.util.List
;
/**
* @Author: DouXinYu
* @Date: 2026-01-12 11:17
* @Description:
*/
public
interface
TencentLocationQueryService
{
TencentMapUtil
.
AddressInfo
getAddressByLngLat
(
double
lng
,
double
lat
);
List
<
TencentMapUtil
.
RegionNode
>
getAddressList
();
}
src/main/java/com/wangxiaolu/promotion/service/user/impl/TencentLocationQueryServiceImpl.java
0 → 100644
浏览文件 @
e1059dbb
package
com
.
wangxiaolu
.
promotion
.
service
.
user
.
impl
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
import
com.wangxiaolu.promotion.service.user.TencentLocationQueryService
;
import
com.wangxiaolu.promotion.utils.TencentMapUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Service
;
import
java.lang.reflect.Type
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
/**
* @Author: DouXinYu
* @Date: 2026-01-12 11:16
* @Description: 腾讯位置查询服务实现类
*/
@Service
public
class
TencentLocationQueryServiceImpl
implements
TencentLocationQueryService
{
private
static
final
String
TRIPLE_REGION_CACHE_KEY
=
"promotion:district:triple_level"
;
private
static
final
long
CACHE_EXPIRE
=
86400L
;
private
static
final
Type
REGION_NODE_TYPE
=
new
TypeToken
<
List
<
TencentMapUtil
.
RegionNode
>>()
{}.
getType
();
private
static
final
Gson
GSON
=
new
Gson
();
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Autowired
TencentMapUtil
tencentMapUtil
;
@Override
public
TencentMapUtil
.
AddressInfo
getAddressByLngLat
(
double
lng
,
double
lat
)
{
return
tencentMapUtil
.
getAddressByLngLat
(
lng
,
lat
);
}
@Override
public
List
<
TencentMapUtil
.
RegionNode
>
getAddressList
()
{
String
cacheJson
=
stringRedisTemplate
.
opsForValue
().
get
(
TRIPLE_REGION_CACHE_KEY
);
if
(
cacheJson
!=
null
&&
!
cacheJson
.
isEmpty
())
{
return
GSON
.
fromJson
(
cacheJson
,
REGION_NODE_TYPE
);
}
List
<
TencentMapUtil
.
RegionNode
>
regionList
=
tencentMapUtil
.
getTripleLevelRegion
();
if
(!
regionList
.
isEmpty
())
{
stringRedisTemplate
.
opsForValue
().
set
(
TRIPLE_REGION_CACHE_KEY
,
GSON
.
toJson
(
regionList
),
CACHE_EXPIRE
,
TimeUnit
.
SECONDS
);
}
return
regionList
;
}
}
src/main/java/com/wangxiaolu/promotion/service/wechat/WeChatUserQueryService.java
浏览文件 @
e1059dbb
...
@@ -18,4 +18,11 @@ public interface WeChatUserQueryService {
...
@@ -18,4 +18,11 @@ public interface WeChatUserQueryService {
LoginVo
temporaryLoginByPhone
(
String
phone
);
LoginVo
temporaryLoginByPhone
(
String
phone
);
List
<
Map
<
String
,
String
>>
findStoreList
(
TemporaryRegisterVo
temporaryRegisterVo
);
List
<
Map
<
String
,
String
>>
findStoreList
(
TemporaryRegisterVo
temporaryRegisterVo
);
/**
* 根据临时ID查询手机号
* @param temporaryId 临时ID
* @return 手机号
*/
String
findUserPhoneByID
(
Long
temporaryId
);
}
}
src/main/java/com/wangxiaolu/promotion/service/wechat/impl/WeChatUserQueryServiceImpl.java
浏览文件 @
e1059dbb
...
@@ -94,4 +94,9 @@ public class WeChatUserQueryServiceImpl implements WeChatUserQueryService {
...
@@ -94,4 +94,9 @@ public class WeChatUserQueryServiceImpl implements WeChatUserQueryService {
public
List
<
Map
<
String
,
String
>>
findStoreList
(
TemporaryRegisterVo
temporaryRegisterVo
)
{
public
List
<
Map
<
String
,
String
>>
findStoreList
(
TemporaryRegisterVo
temporaryRegisterVo
)
{
return
activityPlanInfoDao
.
findThisMonthStoreListByLocation
(
temporaryRegisterVo
);
return
activityPlanInfoDao
.
findThisMonthStoreListByLocation
(
temporaryRegisterVo
);
}
}
@Override
public
String
findUserPhoneByID
(
Long
temporaryId
)
{
return
temporaryInfoDao
.
selectOneById
(
temporaryId
).
getPhone
();
}
}
}
src/main/java/com/wangxiaolu/promotion/utils/TencentMapUtil.java
0 → 100644
浏览文件 @
e1059dbb
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论