Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
ecf835af
提交
ecf835af
authored
2月 25, 2025
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
促销员打卡时,关联计划信息;小程序端促销员查询促销计划;
上级
a33e2e86
显示空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
161 行增加
和
49 行删除
+161
-49
TemporaryActivityClockCoreController.java
...ivity/temporary/TemporaryActivityClockCoreController.java
+7
-18
TemporaryActivityPlanQueryController.java
...ivity/temporary/TemporaryActivityPlanQueryController.java
+9
-4
TemporaryActivityClockDaoImpl.java
...main/activity/dao/impl/TemporaryActivityClockDaoImpl.java
+3
-1
TemporaryActivityClockDO.java
...main/activity/mapper/entity/TemporaryActivityClockDO.java
+2
-2
ActivityPlanInfoDao.java
...motion/domain/activityplanv2/dao/ActivityPlanInfoDao.java
+5
-0
ActivityPlanInfoDaoImpl.java
...main/activityplanv2/dao/impl/ActivityPlanInfoDaoImpl.java
+21
-13
ActivityPlanInfoMapper.java
.../domain/activityplanv2/mapper/ActivityPlanInfoMapper.java
+1
-0
ActivityPlanInfoWrapper.java
...tion/domain/manage/wrapperQo/ActivityPlanInfoWrapper.java
+4
-0
QinCeClienteleStoreDO.java
...tion/domain/user/mapper/entity/QinCeClienteleStoreDO.java
+0
-6
TemporaryClockDto.java
...motion/pojo/activity/temporary/dto/TemporaryClockDto.java
+2
-0
TemporaryActivityPlanVo.java
...n/pojo/activity/temporary/vo/TemporaryActivityPlanVo.java
+7
-0
TemporaryClockVo.java
...romotion/pojo/activity/temporary/vo/TemporaryClockVo.java
+5
-0
ActivityPlanInfoQueryService.java
...service/activity/manage/ActivityPlanInfoQueryService.java
+1
-0
ActivityPlanInfoQueryServiceImpl.java
...ctivity/manage/impl/ActivityPlanInfoQueryServiceImpl.java
+1
-0
TemporaryActivityClockCoreService.java
...activity/temporary/TemporaryActivityClockCoreService.java
+2
-0
TemporaryActivityClockCoreServiceImpl.java
...temporary/impl/TemporaryActivityClockCoreServiceImpl.java
+38
-1
PromPlanCoreService.java
...promotion/service/activityplanv2/PromPlanCoreService.java
+3
-0
PromPlanQueryService.java
...romotion/service/activityplanv2/PromPlanQueryService.java
+8
-0
PromPlanCoreServiceImpl.java
.../service/activityplanv2/impl/PromPlanCoreServiceImpl.java
+5
-0
PromPlanQueryServiceImpl.java
...service/activityplanv2/impl/PromPlanQueryServiceImpl.java
+26
-0
QinCeUtils.java
src/main/java/com/wangxiaolu/promotion/utils/QinCeUtils.java
+3
-2
ActivityPlanInfoMapper.xml
...esources/mapper/activityplanv2/ActivityPlanInfoMapper.xml
+8
-2
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityClockCoreController.java
浏览文件 @
ecf835af
...
...
@@ -45,8 +45,8 @@ public class TemporaryActivityClockCoreController {
clockVo
.
validate
();
Integer
clockType
=
clockVo
.
getClockType
();
boolean
isClockIn
=
ClockType
.
TEMPORARY_CLOCK_IN
.
equals
(
clockType
);
// 上班卡必需有
店铺id
if
(
isClockIn
&&
(
Objects
.
isNull
(
clockVo
.
get
StoreId
())
||
clockVo
.
getStore
Id
()
<=
0
))
{
// 上班卡必需有
促销计划ID
if
(
isClockIn
&&
(
Objects
.
isNull
(
clockVo
.
get
PlanId
())
||
clockVo
.
getPlan
Id
()
<=
0
))
{
throw
new
ParamException
(
RCode
.
NOT_CLOCK_STORE_ERROR
,
null
);
}
// 非上班卡必需有打卡记录ID
...
...
@@ -72,7 +72,8 @@ public class TemporaryActivityClockCoreController {
}
else
if
(
ClockType
.
TEMPORARY_CLOCK_OUT
.
equals
(
clockType
))
{
builderClockOutData
(
clockVo
,
dto
,
clockTime
);
}
tempActivityClockCoreService
.
clockInTodayActivity
(
dto
,
clockType
);
// tempActivityClockCoreService.clockInTodayActivity(dto, clockType);
tempActivityClockCoreService
.
clockInTodayPlan
(
dto
,
clockType
);
return
R
.
success
();
}
...
...
@@ -116,14 +117,11 @@ public class TemporaryActivityClockCoreController {
// 上班打卡
private
void
builderClockInData
(
TemporaryClockVo
clockVo
,
TemporaryClockDto
clockDto
,
Date
dateTime
)
{
// if (!DateUtils.parseTime(new Date(), ClockType.TEMPORARY_CLOCK_IN_BEGIN_TIME, ClockType.TEMPORARY_CLOCK_IN_END_TIME)) {
// throw new ParamException(RCode.CLOCK_DETAIL_TIME_ERROR, null);
// }
clockDto
.
setTemporaryId
(
clockVo
.
getTemporaryId
())
.
setTemporaryName
(
clockVo
.
getTemporaryName
())
.
setStoreId
(
clockVo
.
getStoreId
())
.
setStoreName
(
clockVo
.
getStoreName
())
.
setPlanId
(
clockVo
.
getPlanId
())
// .setStoreId(clockVo.getStoreId())
// .setStoreName(clockVo.getStoreName())
.
setClockInAddress
(
clockVo
.
getClockAddress
())
.
setClockInCoordinates
(
clockVo
.
getClockCoordinates
())
.
setClockInPhoto
(
clockVo
.
getClockPhoto
())
...
...
@@ -132,9 +130,6 @@ public class TemporaryActivityClockCoreController {
// 午休下班卡
private
void
builderNoonClockOutData
(
TemporaryClockVo
clockVo
,
TemporaryClockDto
clockDto
,
Date
dateTime
)
{
// if (!DateUtils.parseTime(new Date(), ClockType.TEMPORARY_NOON_CLOCK_OUT_BEGIN_TIME, ClockType.TEMPORARY_NOON_CLOCK_OUT_END_TIME)) {
// throw new ParamException(RCode.CLOCK_DETAIL_TIME_ERROR, null);
// }
clockDto
.
setId
(
clockVo
.
getId
())
.
setNoonClockOutAddress
(
clockVo
.
getClockAddress
())
.
setNoonClockOutCoordinates
(
clockVo
.
getClockCoordinates
())
...
...
@@ -145,9 +140,6 @@ public class TemporaryActivityClockCoreController {
// 午休上班卡
private
void
builderNoonClockInData
(
TemporaryClockVo
clockVo
,
TemporaryClockDto
clockDto
,
Date
dateTime
)
{
// if (!DateUtils.parseTime(new Date(), ClockType.TEMPORARY_NOON_CLOCK_IN_BEGIN_TIME, ClockType.TEMPORARY_NOON_CLOCK_IN_END_TIME)) {
// throw new ParamException(RCode.CLOCK_DETAIL_TIME_ERROR, null);
// }
clockDto
.
setId
(
clockVo
.
getId
())
.
setNoonClockInAddress
(
clockVo
.
getClockAddress
())
.
setNoonClockInCoordinates
(
clockVo
.
getClockCoordinates
())
...
...
@@ -157,9 +149,6 @@ public class TemporaryActivityClockCoreController {
// 下班卡
private
void
builderClockOutData
(
TemporaryClockVo
clockVo
,
TemporaryClockDto
clockDto
,
Date
dateTime
)
{
// if (!DateUtils.parseTime(new Date(), ClockType.TEMPORARY_CLOCK_OUT_BEGIN_TIME, ClockType.TEMPORARY_CLOCK_OUT_END_TIME)) {
// throw new ParamException(RCode.CLOCK_DETAIL_TIME_ERROR, null);
// }
clockDto
.
setId
(
clockVo
.
getId
())
.
setClockOutAddress
(
clockVo
.
getClockAddress
())
.
setClockOutCoordinates
(
clockVo
.
getClockCoordinates
())
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityPlanQueryController.java
浏览文件 @
ecf835af
...
...
@@ -2,13 +2,12 @@ package com.wangxiaolu.promotion.controller.activity.temporary;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityPlanVo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanInfoQueryService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityPlanQueryService
;
import
com.wangxiaolu.promotion.service.activityplanv2.PromPlanQueryService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author : liqiulin
...
...
@@ -22,6 +21,8 @@ public class TemporaryActivityPlanQueryController {
@Autowired
TemporaryActivityPlanQueryService
temporaryActivityPlanQueryService
;
@Autowired
PromPlanQueryService
promPlanQueryService
;
/**
* 获取当月、当前城市/ALL(全国)的门店计划列表
...
...
@@ -35,6 +36,10 @@ public class TemporaryActivityPlanQueryController {
/**
* todo 小程序端促销员查询促销计划
*/
@GetMapping
(
"/plans"
)
public
R
findActivityPlanInfo
(
TemporaryActivityPlanVo
temporaryActivityPlanVo
){
return
R
.
success
(
promPlanQueryService
.
findList
(
temporaryActivityPlanVo
));
}
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityClockDaoImpl.java
浏览文件 @
ecf835af
...
...
@@ -8,8 +8,10 @@ import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao;
import
com.wangxiaolu.promotion.domain.activity.mapper.TemporaryActivityClockMapper
;
import
com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityClockDO
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -41,7 +43,7 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao
LambdaQueryWrapper
<
TemporaryActivityClockDO
>
qw
=
buildWrapper
(
tcw
);
Integer
count
=
temporaryActivityClockMapper
.
selectCount
(
qw
);
if
(
count
>
0
)
{
return
;
throw
new
DataException
(
RCode
.
CLOCK_DETAIL_ERROR
)
;
}
TemporaryActivityClockDO
clockDo
=
new
TemporaryActivityClockDO
();
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/entity/TemporaryActivityClockDO.java
浏览文件 @
ecf835af
...
...
@@ -42,9 +42,9 @@ public class TemporaryActivityClockDO implements Serializable {
private
String
dealerName
;
/**
*
qince_clientele_store表qc_
id
*
activity_plan_info表
id
*/
private
String
storeQc
Id
;
private
Long
plan
Id
;
private
Long
storeId
;
...
...
src/main/java/com/wangxiaolu/promotion/domain/activityplanv2/dao/ActivityPlanInfoDao.java
浏览文件 @
ecf835af
...
...
@@ -2,6 +2,7 @@ package com.wangxiaolu.promotion.domain.activityplanv2.dao;
import
com.alibaba.fastjson.JSONArray
;
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
;
...
...
@@ -29,4 +30,8 @@ public interface ActivityPlanInfoDao {
void
updateById
(
ActivityPlanInfoDto
planDto
);
void
save
(
ActivityPlanInfoDto
planDto
);
List
<
ActivityPlanInfoDto
>
findList
(
ActivityPlanInfoWrapper
wrapper
);
void
updatePlanStatus
(
Long
planId
,
PlanStatus
planStatus
);
}
src/main/java/com/wangxiaolu/promotion/domain/activityplanv2/dao/impl/ActivityPlanInfoDaoImpl.java
浏览文件 @
ecf835af
...
...
@@ -10,6 +10,7 @@ import com.wangxiaolu.promotion.domain.activityplanv2.dao.ActivityPlanInfoDao;
import
com.wangxiaolu.promotion.domain.activityplanv2.mapper.ActivityPlanInfoMapper
;
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.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto
;
...
...
@@ -80,6 +81,18 @@ public class ActivityPlanInfoDaoImpl implements ActivityPlanInfoDao {
activityPlanInfoMapper
.
insert
(
planDo
);
}
@Override
public
List
<
ActivityPlanInfoDto
>
findList
(
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
ActivityPlanInfoDo
>
qw
=
buildWrapper
(
wrapper
);
List
<
ActivityPlanInfoDo
>
activityPlanInfoDos
=
activityPlanInfoMapper
.
selectList
(
qw
);
return
BeanUtils
.
transitionDtos
(
activityPlanInfoDos
,
ActivityPlanInfoDto
.
class
);
}
@Override
public
void
updatePlanStatus
(
Long
planId
,
PlanStatus
planStatus
)
{
activityPlanInfoMapper
.
updatePlanStatus
(
planId
,
planStatus
.
getCode
());
}
@Override
public
void
page
(
PageInfo
pageInfo
,
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
ActivityPlanInfoDo
>
qw
=
buildWrapper
(
wrapper
);
...
...
@@ -118,38 +131,33 @@ public class ActivityPlanInfoDaoImpl implements ActivityPlanInfoDao {
private
LambdaQueryWrapper
<
ActivityPlanInfoDo
>
buildWrapper
(
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
ActivityPlanInfoDo
>
qw
=
new
LambdaQueryWrapper
<>();
// 日期区间
if
(
Objects
.
nonNull
(
wrapper
.
getActivityStartDate
())
&&
Objects
.
nonNull
(
wrapper
.
getActivityEndDate
())){
qw
.
between
(
ActivityPlanInfoDo:
:
getDate
,
wrapper
.
getActivityStartDate
(),
wrapper
.
getActivityEndDate
());
}
if
(
Objects
.
nonNull
(
wrapper
.
getActivityDate
())){
qw
.
eq
(
ActivityPlanInfoDo:
:
getDate
,
wrapper
.
getActivityDate
());
}
if
(
Objects
.
nonNull
(
wrapper
.
getEmployeeId
()))
{
qw
.
eq
(
ActivityPlanInfoDo:
:
getEmployeeId
,
wrapper
.
getEmployeeId
());
}
// if (Objects.nonNull(wrapper.getActivityPlanRecordId())) {
// qw.eq(ActivityPlanInfoDo::getPlanFileId, wrapper.getActivityPlanRecordId());
// }
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getProvince
()))
{
qw
.
eq
(
ActivityPlanInfoDo:
:
getProvince
,
wrapper
.
getProvince
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getCity
()))
{
qw
.
eq
(
ActivityPlanInfoDo:
:
getCity
,
wrapper
.
getCity
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getArea
()))
{
qw
.
eq
(
ActivityPlanInfoDo:
:
getArea
,
wrapper
.
getArea
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getDealerId
()))
{
qw
.
eq
(
ActivityPlanInfoDo:
:
getDealerId
,
wrapper
.
getDealerId
());
}
// 是否执行:1:执行;0:未执行;
if
(
Objects
.
nonNull
(
wrapper
.
getPlanStatus
()))
{
qw
.
eq
(
ActivityPlanInfoDo:
:
getPlanStatus
,
wrapper
.
getPlanStatus
().
getCode
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getOrgQcId
())){
qw
.
eq
(
ActivityPlanInfoDo:
:
getOrgQcId
,
wrapper
.
getOrgQcId
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getStoreNameLike
()))
{
qw
.
like
(
ActivityPlanInfoDo:
:
getStoreName
,
wrapper
.
getStoreNameLike
());
}
...
...
src/main/java/com/wangxiaolu/promotion/domain/activityplanv2/mapper/ActivityPlanInfoMapper.java
浏览文件 @
ecf835af
...
...
@@ -32,6 +32,7 @@ public interface ActivityPlanInfoMapper extends BaseMapper<ActivityPlanInfoDo> {
Integer
selectTodayCount
(
List
<
Long
>
planIds
);
void
updatePlanStatus
(
@Param
(
"id"
)
Long
planId
,
@Param
(
"status"
)
Integer
status
);
}
...
...
src/main/java/com/wangxiaolu/promotion/domain/manage/wrapperQo/ActivityPlanInfoWrapper.java
浏览文件 @
ecf835af
...
...
@@ -62,6 +62,8 @@ public class ActivityPlanInfoWrapper {
*/
private
String
city
;
private
String
area
;
/**
* 经销商编码
*/
...
...
@@ -108,6 +110,8 @@ public class ActivityPlanInfoWrapper {
private
Integer
activityPatternId
;
private
String
activityPattern
;
private
Date
activityDate
;
public
Date
getActivityEndDate
()
{
String
format
=
DateUtil
.
format
(
this
.
activityEndDate
,
"yyyy-MM-dd 23:59:59"
);
return
DateUtil
.
parse
(
format
);
...
...
src/main/java/com/wangxiaolu/promotion/domain/user/mapper/entity/QinCeClienteleStoreDO.java
浏览文件 @
ecf835af
...
...
@@ -77,12 +77,6 @@ public class QinCeClienteleStoreDO implements Serializable {
@JsonProperty
(
"store_dept_waiqin365_id"
)
private
String
storeDeptWaiqin365Id
;
/**
* 门店所属部门,来源第三方系统的唯一标识和部门信息中org_id对应
*/
@JsonProperty
(
"store_dept_id"
)
private
String
storeDeptId
;
/**
* 门店部门名称
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryClockDto.java
浏览文件 @
ecf835af
...
...
@@ -31,6 +31,8 @@ public class TemporaryClockDto {
String
temporaryName
;
Long
planId
;
/**
* 关联活动上报id
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/vo/TemporaryActivityPlanVo.java
浏览文件 @
ecf835af
...
...
@@ -26,8 +26,15 @@ public class TemporaryActivityPlanVo {
*/
private
String
city
;
/**
* 区
*/
private
String
area
;
/**
* 店铺名称
*/
private
String
storeName
;
private
String
storeNameLike
;
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/vo/TemporaryClockVo.java
浏览文件 @
ecf835af
...
...
@@ -43,6 +43,11 @@ public class TemporaryClockVo {
String
temporaryName
;
/**
* 促销计划ID
*/
Long
planId
;
// 店铺id - 活动计划中的id
Long
storeId
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/manage/ActivityPlanInfoQueryService.java
浏览文件 @
ecf835af
...
...
@@ -3,6 +3,7 @@ package com.wangxiaolu.promotion.service.activity.manage;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanInfoVo
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityPlanVo
;
/**
* @author : liqiulin
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/manage/impl/ActivityPlanInfoQueryServiceImpl.java
浏览文件 @
ecf835af
...
...
@@ -6,6 +6,7 @@ import com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanInfoWrapper;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanInfoVo
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityPlanVo
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanInfoQueryService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/TemporaryActivityClockCoreService.java
浏览文件 @
ecf835af
...
...
@@ -26,4 +26,6 @@ public interface TemporaryActivityClockCoreService {
void
updateClockPhoto
(
TemporaryClockDto
dto
);
void
updateById
(
TemporaryClockDto
clockDtoUpdate
);
void
clockInTodayPlan
(
TemporaryClockDto
dto
,
Integer
clockType
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityClockCoreServiceImpl.java
浏览文件 @
ecf835af
...
...
@@ -10,12 +10,16 @@ import com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao;
import
com.wangxiaolu.promotion.enums.activity.ActivityPhotoType
;
import
com.wangxiaolu.promotion.enums.activity.ClockType
;
import
com.wangxiaolu.promotion.enums.activity.LogType
;
import
com.wangxiaolu.promotion.enums.plan.PlanStatus
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.user.dto.ManageEmployeeInfoDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockCoreService
;
import
com.wangxiaolu.promotion.service.activityplanv2.PromPlanCoreService
;
import
com.wangxiaolu.promotion.service.activityplanv2.PromPlanQueryService
;
import
com.wangxiaolu.promotion.utils.OkHttp
;
import
com.wangxiaolu.promotion.utils.QinCeUtils
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -38,7 +42,7 @@ import java.util.Objects;
public
class
TemporaryActivityClockCoreServiceImpl
implements
TemporaryActivityClockCoreService
{
@Autowired
QinCeUtils
qinCeUtils
;
private
QinCeUtils
qinCeUtils
;
@Autowired
private
TemporaryActivityClockDao
temporaryActivityClockDao
;
@Autowired
...
...
@@ -49,6 +53,10 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
private
ManageEmployeeInfoDao
manageEmployeeInfoDao
;
@Autowired
private
TemporaryActivityLogDao
tempActivityLogDao
;
@Autowired
private
PromPlanQueryService
promPlanQueryService
;
@Autowired
private
PromPlanCoreService
promPlanCoreService
;
/**
* 促销员当日打卡信息保存
*/
...
...
@@ -115,6 +123,35 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
temporaryActivityClockDao
.
updateById
(
clockDto
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
clockInTodayPlan
(
TemporaryClockDto
dto
,
Integer
clockType
)
{
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
ActivityPlanInfoDto
planInfo
=
promPlanQueryService
.
selectById
(
dto
.
getPlanId
());
ManageEmployeeInfoDto
employeeDto
=
manageEmployeeInfoDao
.
selectById
(
planInfo
.
getEmployeeId
());
dto
.
setLineName
(
planInfo
.
getLineName
())
.
setDeptQcId
(
employeeDto
.
getDeptQcId
())
.
setDeptQcOrgName
(
employeeDto
.
getDeptQcName
())
.
setChargerQcId
(
employeeDto
.
getQcId
())
.
setChargerName
(
employeeDto
.
getName
())
.
setActivityPattern
(
planInfo
.
getPattern
())
.
setDealerName
(
planInfo
.
getDealerName
())
.
setStoreName
(
planInfo
.
getStoreName
())
.
setQinceStoreCode
(
planInfo
.
getStoreCode
());
// 保存打卡记录
temporaryActivityClockDao
.
save
(
dto
);
// 促销计划状态修改
promPlanCoreService
.
updatePlanStatus
(
dto
.
getPlanId
(),
PlanStatus
.
NOT_EXECUTION
);
}
else
{
temporaryActivityClockDao
.
updateById
(
dto
);
}
// 根据ID保存图片
saveClockPhoto
(
dto
,
clockType
);
// 日志保存
// tempActivityLogDao.save(dto.getTemporaryId(), dto.getTemporaryName(), LogType.t_1, dto.getId(), dto);
}
private
void
clockStoreCalDistanceByStoreQcId
(
String
storeQcId
,
String
clockCoordinates
)
{
// 查询组织架构参数、创建url
String
[]
clockCoordinateArr
=
clockCoordinates
.
split
(
","
);
...
...
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/PromPlanCoreService.java
浏览文件 @
ecf835af
package
com
.
wangxiaolu
.
promotion
.
service
.
activityplanv2
;
import
com.wangxiaolu.promotion.enums.plan.PlanStatus
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
import
com.wangxiaolu.promotion.pojo.activity.planv2.vo.ActivityPlanOperVo
;
...
...
@@ -26,4 +27,6 @@ public interface PromPlanCoreService {
void
putActivityPlan
(
ActivityPlanOperVo
activityPlanOperVo
);
void
saveActivityPlan
(
ActivityPlanOperVo
operVo
);
void
updatePlanStatus
(
Long
planId
,
PlanStatus
planStatus
);
}
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/PromPlanQueryService.java
浏览文件 @
ecf835af
package
com
.
wangxiaolu
.
promotion
.
service
.
activityplanv2
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityPlanVo
;
import
java.util.List
;
/**
* @author : liqiulin
...
...
@@ -9,4 +13,8 @@ import com.wangxiaolu.promotion.pojo.PageInfo;
*/
public
interface
PromPlanQueryService
{
void
queryPage
(
PageInfo
pageInfo
);
List
<
ActivityPlanInfoDto
>
findList
(
TemporaryActivityPlanVo
temporaryActivityPlanVo
);
ActivityPlanInfoDto
selectById
(
Long
planId
);
}
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/impl/PromPlanCoreServiceImpl.java
浏览文件 @
ecf835af
...
...
@@ -537,6 +537,11 @@ public class PromPlanCoreServiceImpl implements PromPlanCoreService {
activityPlanInfoDao
.
save
(
planDto
);
}
@Override
public
void
updatePlanStatus
(
Long
planId
,
PlanStatus
planStatus
)
{
activityPlanInfoDao
.
updatePlanStatus
(
planId
,
planStatus
);
}
/**
* 城市经理 - 修改计划
*/
...
...
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/impl/PromPlanQueryServiceImpl.java
浏览文件 @
ecf835af
package
com
.
wangxiaolu
.
promotion
.
service
.
activityplanv2
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.domain.activityplanv2.dao.ActivityPlanInfoDao
;
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.activity.temporary.vo.TemporaryActivityPlanVo
;
import
com.wangxiaolu.promotion.service.activityplanv2.PromPlanQueryService
;
import
com.wangxiaolu.promotion.utils.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDate
;
import
java.time.ZoneId
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2025-02-06 16
...
...
@@ -24,4 +34,20 @@ public class PromPlanQueryServiceImpl implements PromPlanQueryService {
ActivityPlanInfoWrapper
wrapper
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
pageInfo
.
getQueryParams
()),
ActivityPlanInfoWrapper
.
class
);
activityPlanInfoDao
.
page
(
pageInfo
,
wrapper
);
}
/**
* 促销员查询
*/
@Override
public
List
<
ActivityPlanInfoDto
>
findList
(
TemporaryActivityPlanVo
temporaryActivityPlanVo
)
{
ActivityPlanInfoWrapper
wrapper
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
temporaryActivityPlanVo
),
ActivityPlanInfoWrapper
.
class
);
wrapper
.
setActivityDate
(
Date
.
from
(
LocalDate
.
now
().
atStartOfDay
(
ZoneId
.
systemDefault
()).
toInstant
()));
wrapper
.
setPlanStatus
(
PlanStatus
.
NOT_EXECUTION
);
return
activityPlanInfoDao
.
findList
(
wrapper
);
}
@Override
public
ActivityPlanInfoDto
selectById
(
Long
planId
)
{
return
activityPlanInfoDao
.
selectById
(
planId
);
}
}
src/main/java/com/wangxiaolu/promotion/utils/QinCeUtils.java
浏览文件 @
ecf835af
...
...
@@ -108,9 +108,10 @@ public class QinCeUtils {
*/
public
Map
<
String
,
Object
>
queryShopParam
(
Integer
pageNum
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
//
todo
分页页码,默认1
// 分页页码,默认1
params
.
put
(
"page_number"
,
pageNum
);
params
.
put
(
"store_code"
,
"POS00038442"
);
// todo 查询指定数据
params
.
put
(
"store_code"
,
"POS00040423"
);
//todo after_modify_date:更新时间之后,查询更新时间之后的门店数据。格式:yyyy-MM-dd HH:mm:SS
// DateTime dateTime = DateUtil.offsetDay(new Date(), -2);
...
...
src/main/resources/mapper/activityplanv2/ActivityPlanInfoMapper.xml
浏览文件 @
ecf835af
...
...
@@ -68,7 +68,7 @@
<insert
id=
"saveList"
>
INSERT INTO activity_plan_info
(plan_file_id,employee_id,employee_name,employee_no,year,month,date,line_name,store_name,store_code,org_qc_id,org_name,pattern_id,pattern,dealer_id,dealer_name,both_t,province,city,area,addr,clock_in_time,clock_out_time,salary,incidentals)
(plan_file_id,employee_id,employee_name,employee_no,year,month,date,line_name,store_name,store_code,org_qc_id,org_name,pattern_id,pattern,dealer_id,dealer_name,both_t,province,city,area,addr,clock_in_time,clock_out_time,salary,incidentals
,create_by
)
VALUES
<foreach
collection=
"table"
item=
"item"
index=
"index"
separator=
","
>
(#{recordId}, #{item.employeeId}, #{item.employeeName}, #{item.employeeNo}, #{item.year},
...
...
@@ -76,7 +76,7 @@
#{item.orgQcId},#{item.orgName}, 0, #{item.pattern}, #{item.dealerId}, #{item.dealerName}, '未确定',
#{item.province}, #{item.city}, #{item.area}, #{item.addr},
FROM_UNIXTIME(#{item.clockInTime} / 1000), FROM_UNIXTIME(#{item.clockOutTime} / 1000), #{item.salary},
#{item.incidentals})
#{item.incidentals}
,#{item.createBy}
)
</foreach>
</insert>
...
...
@@ -149,4 +149,10 @@
and date = #{pDo.date};
</update>
<update
id=
"updatePlanStatus"
>
update activity_plan_info
set plan_status = #{status}
where id = #{id}
</update>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论