Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
3b6d6ce0
提交
3b6d6ce0
authored
1月 16, 2026
作者:
douxy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CP计划小程序改造,新增页面修改促销员门店
上级
fed2fa70
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
86 行增加
和
7 行删除
+86
-7
TemporaryInfoCoreController.java
...tion/controller/user/tem/TemporaryInfoCoreController.java
+6
-2
TemporaryInfoQueryController.java
...ion/controller/user/tem/TemporaryInfoQueryController.java
+12
-0
ActivityPlanInfoDao.java
...motion/domain/activityplanv2/dao/ActivityPlanInfoDao.java
+2
-2
ActivityPlanInfoDaoImpl.java
...main/activityplanv2/dao/impl/ActivityPlanInfoDaoImpl.java
+10
-3
TemporaryInfoDao.java
...angxiaolu/promotion/domain/user/dao/TemporaryInfoDao.java
+2
-0
TemporaryInfoDaoImpl.java
.../promotion/domain/user/dao/impl/TemporaryInfoDaoImpl.java
+13
-0
TemporaryWrapper.java
...olu/promotion/domain/user/wrapperQo/TemporaryWrapper.java
+6
-0
WxTemporaryEnrollVo.java
...angxiaolu/promotion/pojo/user/vo/WxTemporaryEnrollVo.java
+6
-0
PromPlanCoreServiceImpl.java
.../service/activityplanv2/impl/PromPlanCoreServiceImpl.java
+17
-0
WeChatUserQueryService.java
...aolu/promotion/service/wechat/WeChatUserQueryService.java
+2
-0
WeChatUserQueryServiceImpl.java
...otion/service/wechat/impl/WeChatUserQueryServiceImpl.java
+10
-0
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/user/tem/TemporaryInfoCoreController.java
浏览文件 @
3b6d6ce0
...
...
@@ -81,8 +81,12 @@ public class TemporaryInfoCoreController {
throw
new
ParamException
(
RCode
.
WX_OPENID_PARAM_ERROR
,
null
);
}
Map
<
String
,
Object
>
temporaryWorkStore
=
weChatUserQueryService
.
findTemporaryWorkStore
(
wxTemporaryEnrollVo
.
getOpenId
(),
LocalDate
.
now
().
toString
());
if
(
Objects
.
isNull
(
temporaryWorkStore
)
)
{
boolean
isHqChangeFlag
=
false
;
// 先判空,再比较:只有非null且等于1时,才判定为“总部修改”
if
(
wxTemporaryEnrollVo
.
getIsHqChange
()
!=
null
&&
wxTemporaryEnrollVo
.
getIsHqChange
()
==
1
)
{
isHqChangeFlag
=
true
;
}
if
(
Objects
.
isNull
(
temporaryWorkStore
)
||
isHqChangeFlag
)
{
WxTemporaryInfoDto
temporaryDto
=
new
WxTemporaryInfoDto
();
BeanUtils
.
copyProperties
(
wxTemporaryEnrollVo
,
temporaryDto
);
weChatUserCoreService
.
saveWxUserStoreInfoTemporary
(
temporaryDto
);
...
...
src/main/java/com/wangxiaolu/promotion/controller/user/tem/TemporaryInfoQueryController.java
浏览文件 @
3b6d6ce0
...
...
@@ -3,6 +3,7 @@ package com.wangxiaolu.promotion.controller.user.tem;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
import
com.wangxiaolu.promotion.common.util.DataUtils
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.user.vo.LoginVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.TemporaryRegisterVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.WxTemporaryLoginVo
;
...
...
@@ -88,6 +89,16 @@ public class TemporaryInfoQueryController {
return
R
.
success
(
weChatUserQueryService
.
findTemporaryWorkStore
(
temporaryRegisterVo
.
getOpenId
(),
temporaryRegisterVo
.
getDate
()));
}
/**
* 促销员信息 - 分页查询
* @param
*/
@PostMapping
(
"/temporary/page"
)
public
R
findTemporaryInfo
(
@RequestBody
PageInfo
pageInfo
)
{
weChatUserQueryService
.
queryPage
(
pageInfo
);
return
R
.
success
(
pageInfo
);
}
private
void
phontAndOpenIdVerify
(
WxTemporaryLoginVo
wxTemporaryLoginVo
)
{
if
(
StringUtils
.
isBlank
(
wxTemporaryLoginVo
.
getOpenId
())
||
StringUtils
.
isBlank
(
wxTemporaryLoginVo
.
getPhone
()))
{
throw
new
ParamException
(
RCode
.
LOGIN_PARAM_ERROR
,
null
);
...
...
@@ -95,4 +106,5 @@ public class TemporaryInfoQueryController {
}
}
src/main/java/com/wangxiaolu/promotion/domain/activityplanv2/dao/ActivityPlanInfoDao.java
浏览文件 @
3b6d6ce0
package
com
.
wangxiaolu
.
promotion
.
domain
.
activityplanv2
.
dao
;
import
com.alibaba.fastjson.JSONArray
;
import
com.wangxiaolu.promotion.domain.activityplanv2.mapper.entity.ActivityPlanInfoDo
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanInfoWrapper
;
import
com.wangxiaolu.promotion.enums.plan.PlanStatus
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.user.vo.TemporaryRegisterVo
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -47,4 +45,6 @@ public interface ActivityPlanInfoDao {
*/
List
<
Map
<
String
,
String
>>
findThisMonthStoreListByLocation
(
String
planDay
,
String
storeNameKeyword
);
Integer
selectCount
(
ActivityPlanInfoWrapper
wrapper
);
}
src/main/java/com/wangxiaolu/promotion/domain/activityplanv2/dao/impl/ActivityPlanInfoDaoImpl.java
浏览文件 @
3b6d6ce0
...
...
@@ -14,7 +14,6 @@ import com.wangxiaolu.promotion.exception.DataException;
import
com.wangxiaolu.promotion.exception.FlowException
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.user.vo.TemporaryRegisterVo
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.exceptions.PersistenceException
;
...
...
@@ -22,9 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* @author : liqiulin
...
...
@@ -139,6 +136,16 @@ public class ActivityPlanInfoDaoImpl implements ActivityPlanInfoDao {
return
activityPlanInfoDoList
;
}
@Override
public
Integer
selectCount
(
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
ActivityPlanInfoDo
>
wq
=
new
LambdaQueryWrapper
<>();
wq
.
eq
(
ActivityPlanInfoDo:
:
getStoreCode
,
wrapper
.
getStoreCode
());
wq
.
eq
(
ActivityPlanInfoDo:
:
getEmployeeId
,
wrapper
.
getEmployeeId
());
wq
.
ne
(
ActivityPlanInfoDo:
:
getId
,
wrapper
.
getId
());
wq
.
eq
(
ActivityPlanInfoDo:
:
getDate
,
wrapper
.
getActivityDate
());
return
activityPlanInfoMapper
.
selectCount
(
wq
);
}
private
LambdaQueryWrapper
<
ActivityPlanInfoDo
>
buildWrapper
(
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
ActivityPlanInfoDo
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
wrapper
.
rangeDate
()){
...
...
src/main/java/com/wangxiaolu/promotion/domain/user/dao/TemporaryInfoDao.java
浏览文件 @
3b6d6ce0
...
...
@@ -38,4 +38,6 @@ public interface TemporaryInfoDao {
int
batchInsertOrUpdate
(
List
<
WxTemporaryInfoDto
>
list
);
void
page
(
PageInfo
pageInfo
,
TemporaryWrapper
wq
);
}
src/main/java/com/wangxiaolu/promotion/domain/user/dao/impl/TemporaryInfoDaoImpl.java
浏览文件 @
3b6d6ce0
...
...
@@ -3,6 +3,7 @@ package com.wangxiaolu.promotion.domain.user.dao.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityReportedDO
;
import
com.wangxiaolu.promotion.domain.examine.mapper.entity.ActivityExamineDO
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.domain.user.mapper.TemporaryInfoMapper
;
import
com.wangxiaolu.promotion.domain.user.mapper.entity.TemporaryInfoDO
;
...
...
@@ -142,6 +143,15 @@ public class TemporaryInfoDaoImpl implements TemporaryInfoDao {
return
affectRows
;
}
@Override
public
void
page
(
PageInfo
pageInfo
,
TemporaryWrapper
wq
)
{
LambdaQueryWrapper
<
TemporaryInfoDO
>
qw
=
buildQueryList
(
wq
);
Page
<
TemporaryInfoDO
>
page
=
new
Page
<>(
pageInfo
.
getPageNum
(),
pageInfo
.
getPageSize
());
Page
<
TemporaryInfoDO
>
doPage
=
temporaryInfoMapper
.
selectPage
(
page
,
qw
);
pageInfo
.
pageCovert
(
doPage
);
pageInfo
.
setRecords
(
doPage
.
getRecords
());
}
private
LambdaQueryWrapper
<
TemporaryInfoDO
>
buildQueryList
(
TemporaryWrapper
tw
)
{
LambdaQueryWrapper
<
TemporaryInfoDO
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
if
(
StringUtils
.
isNotBlank
(
tw
.
getOpenId
()))
{
...
...
@@ -159,6 +169,9 @@ public class TemporaryInfoDaoImpl implements TemporaryInfoDao {
if
(
StringUtils
.
isNotBlank
(
tw
.
getDeptQcId
()))
{
queryWrapper
.
eq
(
TemporaryInfoDO:
:
getDeptQcId
,
tw
.
getDeptQcId
());
}
if
(
StringUtils
.
isNotBlank
(
tw
.
getStoreNameLike
()))
{
queryWrapper
.
like
(
TemporaryInfoDO:
:
getStoreName
,
tw
.
getStoreNameLike
());
}
return
queryWrapper
;
}
...
...
src/main/java/com/wangxiaolu/promotion/domain/user/wrapperQo/TemporaryWrapper.java
浏览文件 @
3b6d6ce0
...
...
@@ -36,4 +36,10 @@ public class TemporaryWrapper {
* 所属战区-部门
*/
String
deptQcId
;
/**
* 门店名称
*/
String
storeNameLike
;
}
src/main/java/com/wangxiaolu/promotion/pojo/user/vo/WxTemporaryEnrollVo.java
浏览文件 @
3b6d6ce0
...
...
@@ -100,6 +100,12 @@ public class WxTemporaryEnrollVo {
*/
String
storeName
;
/**
* 总部修改标记
*/
Integer
isHqChange
;
public
void
validate
()
{
if
(
StringUtils
.
isBlank
(
openId
))
{
throw
new
ParamException
(
RCode
.
WX_OPENID_PARAM_ERROR
,
null
);
...
...
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/impl/PromPlanCoreServiceImpl.java
浏览文件 @
3b6d6ce0
...
...
@@ -5,6 +5,9 @@ import cn.hutool.core.date.DateUtil;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.wangxiaolu.promotion.common.enums.StatusType
;
import
com.wangxiaolu.promotion.common.excel.ReadExcelUtils
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
...
...
@@ -12,6 +15,8 @@ import com.wangxiaolu.promotion.domain.activity.dao.ManageEmployeeInfoDao;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.ManageEmployeeWrapper
;
import
com.wangxiaolu.promotion.domain.activityplanv2.dao.ActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.activityplanv2.dao.ActivityPlanRecordDao
;
import
com.wangxiaolu.promotion.domain.activityplanv2.mapper.entity.ActivityPlanInfoDo
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanInfoWrapper
;
import
com.wangxiaolu.promotion.domain.user.dao.QinCeClienteleStoreDao
;
import
com.wangxiaolu.promotion.domain.user.wrapperQo.StoreWrapper
;
import
com.wangxiaolu.promotion.enums.plan.OperationType
;
...
...
@@ -600,6 +605,18 @@ public class PromPlanCoreServiceImpl implements PromPlanCoreService {
if
(
DateUtils
.
parseDateBylocalDate
(
dto
.
getDate
()).
isBefore
(
LocalDate
.
now
()))
{
throw
new
FlowException
(
RCode
.
ACTIVITY_PLAN_NOT_DELETE
);
}
ActivityPlanInfoWrapper
wrapper
=
new
ActivityPlanInfoWrapper
()
.
setActivityDate
(
operVo
.
getDate
())
.
setEmployeeId
(
operVo
.
getEmployeeId
())
.
setId
(
operVo
.
getId
())
.
setStoreCode
(
operVo
.
getStoreCode
());
Integer
count
=
activityPlanInfoDao
.
selectCount
(
wrapper
);
if
(
count
>
0
)
{
// 抛出"该日期已存在其他活动计划"的异常(需确保RCode中定义了对应的枚举值)
throw
new
FlowException
(
RCode
.
ACTIVITY_PLAN_DATE_CONFLICT
);
}
// 判断修改后 月底 >= 活动日期 > 今日
LocalDate
today
=
LocalDate
.
now
();
...
...
src/main/java/com/wangxiaolu/promotion/service/wechat/WeChatUserQueryService.java
浏览文件 @
3b6d6ce0
package
com
.
wangxiaolu
.
promotion
.
service
.
wechat
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.user.vo.LoginVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.TemporaryRegisterVo
;
...
...
@@ -28,4 +29,5 @@ public interface WeChatUserQueryService {
Map
<
String
,
Object
>
findTemporaryWorkStore
(
String
openId
,
String
date
);
void
queryPage
(
PageInfo
pageInfo
);
}
src/main/java/com/wangxiaolu/promotion/service/wechat/impl/WeChatUserQueryServiceImpl.java
浏览文件 @
3b6d6ce0
package
com
.
wangxiaolu
.
promotion
.
service
.
wechat
.
impl
;
import
cn.hutool.core.lang.UUID
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.common.constant.TokenConstants
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
...
...
@@ -8,8 +9,11 @@ import com.wangxiaolu.promotion.common.util.JwtTokenUtils;
import
com.wangxiaolu.promotion.common.util.JwtUtils
;
import
com.wangxiaolu.promotion.domain.activityplanv2.dao.ActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.activityplanv2.mapper.entity.ActivityPlanInfoDo
;
import
com.wangxiaolu.promotion.domain.inspection.wrapper.InspectionInfoWrapper
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.domain.user.wrapperQo.TemporaryWrapper
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
import
com.wangxiaolu.promotion.pojo.user.vo.LoginVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.TemporaryRegisterVo
;
...
...
@@ -104,4 +108,10 @@ public class WeChatUserQueryServiceImpl implements WeChatUserQueryService {
public
Map
<
String
,
Object
>
findTemporaryWorkStore
(
String
openId
,
String
date
)
{
return
temporaryInfoDao
.
selectStoreAndPlan
(
openId
,
date
);
}
@Override
public
void
queryPage
(
PageInfo
pageInfo
)
{
TemporaryWrapper
wq
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
pageInfo
.
getQueryParams
()),
TemporaryWrapper
.
class
);
temporaryInfoDao
.
page
(
pageInfo
,
wq
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论