Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
1b3b9394
提交
1b3b9394
authored
10月 14, 2024
作者:
000516
提交者:
Coding
10月 14, 2024
浏览文件
操作
浏览文件
下载
差异文件
打卡、活动上报添加[所属经销商]信息
1、打卡、活动上报添加[所属经销商]信息 2、后端打卡、活动列表返回[所属经销商]信息 3、取消部分log打印
上级
02d5fe07
4aec24f1
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
193 行增加
和
27 行删除
+193
-27
pom.xml
pom.xml
+1
-1
TemporaryActivityCoreController.java
...r/activity/temporary/TemporaryActivityCoreController.java
+1
-0
ManageEmployeeInfoInfoDaoImpl.java
...main/activity/dao/impl/ManageEmployeeInfoInfoDaoImpl.java
+3
-0
PromotionStoreDaoImpl.java
...otion/domain/activity/dao/impl/PromotionStoreDaoImpl.java
+0
-1
TemporaryActivityPhotoDaoImpl.java
...main/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
+0
-4
TemporaryActivityReportedDaoImpl.java
...n/activity/dao/impl/TemporaryActivityReportedDaoImpl.java
+0
-1
TemporaryActivityClockDO.java
...main/activity/mapper/entity/TemporaryActivityClockDO.java
+9
-4
TemporaryActivityReportedDO.java
...n/activity/mapper/entity/TemporaryActivityReportedDO.java
+2
-0
ManageEmployeeWrapper.java
...tion/domain/activity/wrapperQo/ManageEmployeeWrapper.java
+4
-0
EmployeeActivityPlanRecordDO.java
...in/manage/mapper/entity/EmployeeActivityPlanRecordDO.java
+2
-0
EmployeeActivityPlanRecordDto.java
...jo/activity/manage/dto/EmployeeActivityPlanRecordDto.java
+2
-0
TemporaryActivityReportedDto.java
.../activity/temporary/dto/TemporaryActivityReportedDto.java
+2
-0
TemporaryClockDto.java
...motion/pojo/activity/temporary/dto/TemporaryClockDto.java
+11
-9
ActivityPlanRecordCoreServiceImpl.java
...tivity/manage/impl/ActivityPlanRecordCoreServiceImpl.java
+154
-2
TemporaryActivityClockCoreServiceImpl.java
...temporary/impl/TemporaryActivityClockCoreServiceImpl.java
+2
-2
TemporaryActivityClockQueryServiceImpl.java
...emporary/impl/TemporaryActivityClockQueryServiceImpl.java
+0
-1
TemporaryActivityCoreServiceImpl.java
...vity/temporary/impl/TemporaryActivityCoreServiceImpl.java
+0
-1
PromotionServiceImpl.java
...olu/promotion/service/user/impl/PromotionServiceImpl.java
+0
-1
没有找到文件。
pom.xml
浏览文件 @
1b3b9394
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<groupId>
com.wangxiaolu
</groupId>
<groupId>
com.wangxiaolu
</groupId>
<artifactId>
wangxiaolu-promotion-service
</artifactId>
<artifactId>
wangxiaolu-promotion-service
</artifactId>
<version>
0.1.1
1
</version>
<version>
0.1.1
2
</version>
<name>
wangxiaolu-promotion-service
</name>
<name>
wangxiaolu-promotion-service
</name>
<description>
promotion-service
</description>
<description>
promotion-service
</description>
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityCoreController.java
浏览文件 @
1b3b9394
...
@@ -68,6 +68,7 @@ public class TemporaryActivityCoreController {
...
@@ -68,6 +68,7 @@ public class TemporaryActivityCoreController {
*/
*/
TemporaryClockDto
clockDto
=
tempActivityClockQueryService
.
findTodayTemporaryClockByTemId
(
temActDto
.
getTemporaryId
());
TemporaryClockDto
clockDto
=
tempActivityClockQueryService
.
findTodayTemporaryClockByTemId
(
temActDto
.
getTemporaryId
());
temActDto
.
setApproveStatus
(
TemActApproveStatus
.
SUBMITTED
)
temActDto
.
setApproveStatus
(
TemActApproveStatus
.
SUBMITTED
)
.
setDealerName
(
clockDto
.
getDealerName
())
.
setLineName
(
clockDto
.
getLineName
())
.
setLineName
(
clockDto
.
getLineName
())
.
setStoreName
(
clockDto
.
getStoreName
())
.
setStoreName
(
clockDto
.
getStoreName
())
.
setDeptQcId
(
clockDto
.
getDeptQcId
())
.
setDeptQcId
(
clockDto
.
getDeptQcId
())
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/ManageEmployeeInfoInfoDaoImpl.java
浏览文件 @
1b3b9394
...
@@ -86,6 +86,9 @@ public class ManageEmployeeInfoInfoDaoImpl implements ManageEmployeeInfoDao {
...
@@ -86,6 +86,9 @@ public class ManageEmployeeInfoInfoDaoImpl implements ManageEmployeeInfoDao {
if
(
ewrap
.
isHasDeptQcId
()){
if
(
ewrap
.
isHasDeptQcId
()){
qw
.
ne
(
ManageEmployeeInfoDO:
:
getDeptQcId
,
""
);
qw
.
ne
(
ManageEmployeeInfoDO:
:
getDeptQcId
,
""
);
}
}
if
(!
CollectionUtils
.
isEmpty
(
ewrap
.
getEmployeeNos
())){
qw
.
in
(
ManageEmployeeInfoDO:
:
getEmployeeNo
,
ewrap
.
getEmployeeNos
());
}
return
qw
;
return
qw
;
}
}
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/PromotionStoreDaoImpl.java
浏览文件 @
1b3b9394
...
@@ -51,7 +51,6 @@ public class PromotionStoreDaoImpl implements PromotionStoreDao {
...
@@ -51,7 +51,6 @@ public class PromotionStoreDaoImpl implements PromotionStoreDao {
PromotionStoreDO
storeDo
=
new
PromotionStoreDO
();
PromotionStoreDO
storeDo
=
new
PromotionStoreDO
();
BeanUtils
.
copyProperties
(
promotionStoreDto
,
storeDo
);
BeanUtils
.
copyProperties
(
promotionStoreDto
,
storeDo
);
promotionStoreMapper
.
insert
(
storeDo
);
promotionStoreMapper
.
insert
(
storeDo
);
log
.
info
(
"录入店铺:{}"
,
JSONObject
.
toJSONString
(
storeDo
));
}
}
@Override
@Override
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
浏览文件 @
1b3b9394
...
@@ -34,7 +34,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
...
@@ -34,7 +34,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
@Override
@Override
public
void
saveReportedList
(
Integer
temporaryId
,
Long
reportedId
,
Integer
photoType
,
List
<
String
>
urls
,
List
<
String
>
changeUrls
)
{
public
void
saveReportedList
(
Integer
temporaryId
,
Long
reportedId
,
Integer
photoType
,
List
<
String
>
urls
,
List
<
String
>
changeUrls
)
{
if
(
CollectionUtils
.
isEmpty
(
changeUrls
))
{
if
(
CollectionUtils
.
isEmpty
(
changeUrls
))
{
log
.
info
(
"活动id[{}]图片无改变值"
,
reportedId
);
return
;
return
;
}
}
...
@@ -45,7 +44,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
...
@@ -45,7 +44,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
String
uId
=
uArr
[
uArr
.
length
-
1
];
String
uId
=
uArr
[
uArr
.
length
-
1
];
urlTypeMap
.
put
(
uId
,
type
);
urlTypeMap
.
put
(
uId
,
type
);
}
}
log
.
info
(
"活动id[{}]图片修改后的list为:{}"
,
reportedId
,
urlTypeMap
);
for
(
String
photoUrl
:
urls
)
{
for
(
String
photoUrl
:
urls
)
{
...
@@ -53,7 +51,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
...
@@ -53,7 +51,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
String
photoFiledId
=
photoArr
[
photoArr
.
length
-
1
];
String
photoFiledId
=
photoArr
[
photoArr
.
length
-
1
];
String
type
=
urlTypeMap
.
get
(
photoFiledId
);
String
type
=
urlTypeMap
.
get
(
photoFiledId
);
log
.
info
(
"图片文件id[{}]类型为{}"
,
photoFiledId
,
type
);
// 现存图片列表中不存在,删除
// 现存图片列表中不存在,删除
if
(
StringUtils
.
isBlank
(
type
))
{
if
(
StringUtils
.
isBlank
(
type
))
{
temporaryActivityPhotoMapper
.
updateIsDelete
(
reportedId
,
photoFiledId
);
temporaryActivityPhotoMapper
.
updateIsDelete
(
reportedId
,
photoFiledId
);
...
@@ -180,7 +177,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
...
@@ -180,7 +177,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
}
}
temporaryActivityPhotoMapper
.
insert
(
photoDo
);
temporaryActivityPhotoMapper
.
insert
(
photoDo
);
log
.
info
(
"保存促销员打卡图片:{}"
,
photoDo
);
}
}
/**
/**
* DO to DTO (单个对象)
* DO to DTO (单个对象)
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityReportedDaoImpl.java
浏览文件 @
1b3b9394
...
@@ -48,7 +48,6 @@ public class TemporaryActivityReportedDaoImpl implements TemporaryActivityReport
...
@@ -48,7 +48,6 @@ public class TemporaryActivityReportedDaoImpl implements TemporaryActivityReport
tDo
.
setCreateDate
(
DateUtil
.
today
());
tDo
.
setCreateDate
(
DateUtil
.
today
());
temporaryActivityReportedMapper
.
insert
(
tDo
);
temporaryActivityReportedMapper
.
insert
(
tDo
);
log
.
info
(
"促销员今日活动上报数据完成,生成id[{}],数据信息:{}"
,
tDo
.
getId
(),
tDo
);
return
tDo
.
getId
();
return
tDo
.
getId
();
}
}
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/entity/TemporaryActivityClockDO.java
浏览文件 @
1b3b9394
...
@@ -36,6 +36,11 @@ public class TemporaryActivityClockDO implements Serializable {
...
@@ -36,6 +36,11 @@ public class TemporaryActivityClockDO implements Serializable {
*/
*/
private
Long
reportedId
;
private
Long
reportedId
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
/**
* qince_clientele_store表qc_id
* qince_clientele_store表qc_id
*/
*/
...
@@ -61,12 +66,12 @@ public class TemporaryActivityClockDO implements Serializable {
...
@@ -61,12 +66,12 @@ public class TemporaryActivityClockDO implements Serializable {
/**
/**
* 打卡所在地-省
* 打卡所在地-省
*/
*/
String
clockProvince
;
private
String
clockProvince
;
/**
/**
* 打卡所在地-市
* 打卡所在地-市
*/
*/
String
clockCity
;
private
String
clockCity
;
/**
/**
* 上班打卡地址
* 上班打卡地址
...
@@ -144,10 +149,10 @@ public class TemporaryActivityClockDO implements Serializable {
...
@@ -144,10 +149,10 @@ public class TemporaryActivityClockDO implements Serializable {
private
Date
modifyTime
;
private
Date
modifyTime
;
// 活动模式Id
// 活动模式Id
Integer
activityPatternId
;
private
Integer
activityPatternId
;
// 活动模式
// 活动模式
String
activityPattern
;
private
String
activityPattern
;
/**
/**
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/entity/TemporaryActivityReportedDO.java
浏览文件 @
1b3b9394
...
@@ -32,6 +32,8 @@ public class TemporaryActivityReportedDO implements Serializable {
...
@@ -32,6 +32,8 @@ public class TemporaryActivityReportedDO implements Serializable {
*/
*/
private
String
temporaryName
;
private
String
temporaryName
;
private
String
dealerName
;
/**
/**
* 关联—活动店铺id
* 关联—活动店铺id
*/
*/
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/wrapperQo/ManageEmployeeWrapper.java
浏览文件 @
1b3b9394
...
@@ -5,6 +5,8 @@ import lombok.Data;
...
@@ -5,6 +5,8 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
java.util.Set
;
/**
/**
* @author : liqiulin
* @author : liqiulin
* @date : 2024-09-20 11
* @date : 2024-09-20 11
...
@@ -21,5 +23,7 @@ public class ManageEmployeeWrapper {
...
@@ -21,5 +23,7 @@ public class ManageEmployeeWrapper {
private
String
employeeNo
;
private
String
employeeNo
;
private
Set
<
String
>
employeeNos
;
private
boolean
hasDeptQcId
;
private
boolean
hasDeptQcId
;
}
}
src/main/java/com/wangxiaolu/promotion/domain/manage/mapper/entity/EmployeeActivityPlanRecordDO.java
浏览文件 @
1b3b9394
...
@@ -26,6 +26,8 @@ public class EmployeeActivityPlanRecordDO implements Serializable {
...
@@ -26,6 +26,8 @@ public class EmployeeActivityPlanRecordDO implements Serializable {
*/
*/
private
Integer
employeeId
;
private
Integer
employeeId
;
private
String
employeeName
;
/**
/**
* 文件http地址
* 文件http地址
*/
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/manage/dto/EmployeeActivityPlanRecordDto.java
浏览文件 @
1b3b9394
...
@@ -24,6 +24,8 @@ public class EmployeeActivityPlanRecordDto implements Serializable {
...
@@ -24,6 +24,8 @@ public class EmployeeActivityPlanRecordDto implements Serializable {
*/
*/
private
Integer
employeeId
;
private
Integer
employeeId
;
private
String
employeeName
;
/**
/**
* 文件http地址
* 文件http地址
*/
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryActivityReportedDto.java
浏览文件 @
1b3b9394
...
@@ -35,6 +35,8 @@ public class TemporaryActivityReportedDto {
...
@@ -35,6 +35,8 @@ public class TemporaryActivityReportedDto {
*/
*/
private
String
temporaryName
;
private
String
temporaryName
;
private
String
dealerName
;
/**
/**
* 关联—活动店铺id
* 关联—活动店铺id
*/
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryClockDto.java
浏览文件 @
1b3b9394
...
@@ -34,24 +34,26 @@ public class TemporaryClockDto {
...
@@ -34,24 +34,26 @@ public class TemporaryClockDto {
/**
/**
* 关联活动上报id
* 关联活动上报id
*/
*/
private
Long
reportedId
;
Long
reportedId
;
Long
storeId
;
Long
storeId
;
private
String
lineName
;
String
dealerName
;
String
lineName
;
/**
/**
* qince_clientele_store表store_name
* qince_clientele_store表store_name
*/
*/
private
String
storeName
;
String
storeName
;
private
String
deptQcId
;
String
deptQcId
;
private
String
deptQcOrgName
;
String
deptQcOrgName
;
private
String
chargerQcId
;
String
chargerQcId
;
private
String
chargerName
;
String
chargerName
;
// 上班打卡地址
// 上班打卡地址
String
clockInAddress
;
String
clockInAddress
;
...
@@ -82,7 +84,7 @@ public class TemporaryClockDto {
...
@@ -82,7 +84,7 @@ public class TemporaryClockDto {
// 午休下班打卡图片
// 午休下班打卡图片
String
noonClockOutPhoto
;
String
noonClockOutPhoto
;
Date
noonClockOutPhotoUpdateTime
;
;
Date
noonClockOutPhotoUpdateTime
;
// 午休下班打卡时间
// 午休下班打卡时间
Date
noonClockOutTime
;
Date
noonClockOutTime
;
...
@@ -135,7 +137,7 @@ public class TemporaryClockDto {
...
@@ -135,7 +137,7 @@ public class TemporaryClockDto {
* 是否删除
* 是否删除
* 1:有效;0:删除;
* 1:有效;0:删除;
*/
*/
private
Integer
isDelete
;
Integer
isDelete
;
public
TemporaryClockDto
(
Integer
clockType
,
Long
id
,
Integer
temporaryId
,
String
temporaryName
,
String
clockProvince
,
String
clockCity
)
{
public
TemporaryClockDto
(
Integer
clockType
,
Long
id
,
Integer
temporaryId
,
String
temporaryName
,
String
clockProvince
,
String
clockCity
)
{
if
(!
ClockType
.
TEMPORARY_CLOCK_IN
.
equals
(
clockType
))
{
if
(!
ClockType
.
TEMPORARY_CLOCK_IN
.
equals
(
clockType
))
{
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/manage/impl/ActivityPlanRecordCoreServiceImpl.java
浏览文件 @
1b3b9394
...
@@ -3,12 +3,15 @@ package com.wangxiaolu.promotion.service.activity.manage.impl;
...
@@ -3,12 +3,15 @@ package com.wangxiaolu.promotion.service.activity.manage.impl;
import
com.wangxiaolu.promotion.common.excel.ReadExcelUtils
;
import
com.wangxiaolu.promotion.common.excel.ReadExcelUtils
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
import
com.wangxiaolu.promotion.domain.activity.dao.ManageEmployeeInfoDao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.ManageEmployeeWrapper
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanRecordDao
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanRecordDao
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanRecordDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanRecordDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
import
com.wangxiaolu.promotion.pojo.user.dto.ManageEmployeeInfoDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanRecordCoreService
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanRecordCoreService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -22,6 +25,7 @@ import java.io.InputStream;
...
@@ -22,6 +25,7 @@ import java.io.InputStream;
import
java.net.URL
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.URLConnection
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
* @author : liqiulin
* @author : liqiulin
...
@@ -36,6 +40,8 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
...
@@ -36,6 +40,8 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
EmployeeActivityPlanRecordDao
employeeActivityPlanRecordDao
;
EmployeeActivityPlanRecordDao
employeeActivityPlanRecordDao
;
@Autowired
@Autowired
EmployeeActivityPlanInfoDao
employeeActivityPlanInfoDao
;
EmployeeActivityPlanInfoDao
employeeActivityPlanInfoDao
;
@Autowired
ManageEmployeeInfoDao
manageEmployeeInfoDao
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
...
@@ -89,12 +95,28 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
...
@@ -89,12 +95,28 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
throw
new
DataException
(
RCode
.
API_DATA_ERROR
);
throw
new
DataException
(
RCode
.
API_DATA_ERROR
);
}
}
// 判断是否是城市经理已经的数据,5列数据是城市经理自己的,6列数据是战区顾问批量上传的
if
(
rows
.
get
(
1
).
size
()
==
5
){
return
saveEmployeeOneselfPlan
(
rows
,
activityPlanVo
,
planDto
);
}
else
if
(
rows
.
get
(
1
).
size
()
==
6
){
return
saveDistrictPlan
(
rows
,
activityPlanVo
,
planDto
);
}
else
{
throw
new
DataException
(
RCode
.
API_DATA_ERROR
);
}
}
/**
* 读取表格并进行数据校验
* 上传文件人员:城市经理自己
*/
private
List
<
EmployeeActivityPlanInfoDto
>
saveEmployeeOneselfPlan
(
Map
<
Integer
,
List
<
Object
>>
rows
,
ActivityPlanVo
activityPlanVo
,
EmployeeActivityPlanRecordDto
planDto
)
throws
Exception
{
// 查询当前用户下有效的门店名称列表,用于检查是否存在同名店铺
// 查询当前用户下有效的门店名称列表,用于检查是否存在同名店铺
Set
<
String
>
storeNameDbList
=
employeeActivityPlanInfoDao
.
findStoreNameByEmployeeId
(
activityPlanVo
.
getEmployeeId
());
Set
<
String
>
storeNameDbList
=
employeeActivityPlanInfoDao
.
findStoreNameByEmployeeId
(
activityPlanVo
.
getEmployeeId
());
Map
<
Object
,
Object
>
dealers
=
redisCache
.
getAllHash
(
RedisKeys
.
UserKeys
.
DEALER_HAVE_LIST
.
getKey
());
Map
<
Object
,
Object
>
dealers
=
redisCache
.
getAllHash
(
RedisKeys
.
UserKeys
.
DEALER_HAVE_LIST
.
getKey
());
Map
<
Object
,
Object
>
patternMap
=
redisCache
.
getAllHash
(
RedisKeys
.
TemporaryKeys
.
TENOIRART_ACTIVITY_PATTERN
.
getKey
());
Map
<
Object
,
Object
>
patternMap
=
redisCache
.
getAllHash
(
RedisKeys
.
TemporaryKeys
.
TENOIRART_ACTIVITY_PATTERN
.
getKey
());
// 2、校验数据准确性
// 2、校验数据准确性
verifyRow
(
rows
,
dealers
,
patternMap
.
values
(),
storeNameDbList
);
verifyRow
EmployeeOneselfPlan
(
rows
,
dealers
,
patternMap
.
values
(),
storeNameDbList
);
Map
<
String
,
Integer
>
patternInfoMap
=
new
HashMap
<>();
Map
<
String
,
Integer
>
patternInfoMap
=
new
HashMap
<>();
for
(
Map
.
Entry
<
Object
,
Object
>
entry
:
patternMap
.
entrySet
())
{
for
(
Map
.
Entry
<
Object
,
Object
>
entry
:
patternMap
.
entrySet
())
{
...
@@ -129,10 +151,64 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
...
@@ -129,10 +151,64 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
return
planInfoDtos
;
return
planInfoDtos
;
}
}
/**
* 读取表格并进行数据校验
* 上传文件人员:城市顾问批量上传
*/
private
List
<
EmployeeActivityPlanInfoDto
>
saveDistrictPlan
(
Map
<
Integer
,
List
<
Object
>>
rows
,
ActivityPlanVo
activityPlanVo
,
EmployeeActivityPlanRecordDto
planDto
)
throws
Exception
{
// 查询当前用户下有效的门店名称列表,用于检查是否存在同名店铺
Set
<
String
>
storeNameDbList
=
employeeActivityPlanInfoDao
.
findStoreNameByEmployeeId
(
activityPlanVo
.
getEmployeeId
());
Map
<
Object
,
Object
>
dealers
=
redisCache
.
getAllHash
(
RedisKeys
.
UserKeys
.
DEALER_HAVE_LIST
.
getKey
());
Map
<
Object
,
Object
>
patternMap
=
redisCache
.
getAllHash
(
RedisKeys
.
TemporaryKeys
.
TENOIRART_ACTIVITY_PATTERN
.
getKey
());
// 2、校验数据准确性并返回涉及到的城市经理工号
Set
<
String
>
employeeNos
=
verifyDistrictPlan
(
rows
,
dealers
,
patternMap
.
values
(),
storeNameDbList
);
List
<
ManageEmployeeInfoDto
>
employeeInfos
=
manageEmployeeInfoDao
.
selectList
(
new
ManageEmployeeWrapper
().
setEmployeeNos
(
employeeNos
));
Map
<
String
,
ManageEmployeeInfoDto
>
employeeInfoMap
=
employeeInfos
.
stream
().
collect
(
Collectors
.
toMap
(
ManageEmployeeInfoDto:
:
getEmployeeNo
,
o
->
o
));
Map
<
String
,
Integer
>
patternInfoMap
=
new
HashMap
<>();
for
(
Map
.
Entry
<
Object
,
Object
>
entry
:
patternMap
.
entrySet
())
{
patternInfoMap
.
put
(
entry
.
getValue
().
toString
(),
Integer
.
parseInt
((
String
)
entry
.
getKey
()));
}
/**
* 3、保存入库
*/
List
<
EmployeeActivityPlanInfoDto
>
planInfoDtos
=
new
ArrayList
<>(
rows
.
size
()
*
2
);
for
(
Map
.
Entry
<
Integer
,
List
<
Object
>>
entry
:
rows
.
entrySet
())
{
List
<
Object
>
value
=
entry
.
getValue
();
ManageEmployeeInfoDto
employeeInfo
=
employeeInfoMap
.
get
((
String
)
value
.
get
(
1
));
if
(
Objects
.
isNull
(
employeeInfo
)){
throw
new
DataException
(
"工号错误:"
+
value
.
get
(
1
));
}
EmployeeActivityPlanInfoDto
planInfoDto
=
new
EmployeeActivityPlanInfoDto
()
.
setActivityPlanRecordId
(
planDto
.
getId
())
.
setExcelFiledId
(
planDto
.
getExcelFiledId
())
.
setEmployeeId
(
employeeInfo
.
getId
())
.
setEmployeeName
(
employeeInfo
.
getName
())
.
setEmployeeNo
(
employeeInfo
.
getEmployeeNo
())
.
setActivityMonth
(
planDto
.
getActivityMonth
())
.
setCity
((
String
)
value
.
get
(
0
))
.
setDealerId
((
String
)
value
.
get
(
2
))
.
setDealerName
((
String
)
dealers
.
get
(
value
.
get
(
2
)))
.
setLineName
((
String
)
value
.
get
(
3
))
.
setStoreName
((
String
)
value
.
get
(
4
))
.
setActivityPattern
((
String
)
value
.
get
(
5
));
planInfoDto
.
setActivityPatternId
(
patternInfoMap
.
get
(
planInfoDto
.
getActivityPattern
()));
planInfoDtos
.
add
(
planInfoDto
);
}
return
planInfoDtos
;
}
/**
/**
* 校验数据是否规范
* 校验数据是否规范
* 上传文件人员:城市经理自己
*/
*/
private
void
verifyRow
(
Map
<
Integer
,
List
<
Object
>>
rows
,
Map
<
Object
,
Object
>
dealers
,
Collection
<
Object
>
patterns
,
Set
<
String
>
storeNameDbSet
)
throws
Exception
{
private
void
verifyRow
EmployeeOneselfPlan
(
Map
<
Integer
,
List
<
Object
>>
rows
,
Map
<
Object
,
Object
>
dealers
,
Collection
<
Object
>
patterns
,
Set
<
String
>
storeNameDbSet
)
throws
Exception
{
StringBuilder
msg
=
new
StringBuilder
();
StringBuilder
msg
=
new
StringBuilder
();
List
<
String
>
storeList
=
new
ArrayList
<>(
storeNameDbSet
);
List
<
String
>
storeList
=
new
ArrayList
<>(
storeNameDbSet
);
...
@@ -188,4 +264,80 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
...
@@ -188,4 +264,80 @@ public class ActivityPlanRecordCoreServiceImpl implements ActivityPlanRecordCore
}
}
}
}
/**
* 校验数据是否规范
* 上传文件人员:城市顾问批量上传
*/
private
Set
<
String
>
verifyDistrictPlan
(
Map
<
Integer
,
List
<
Object
>>
rows
,
Map
<
Object
,
Object
>
dealers
,
Collection
<
Object
>
patterns
,
Set
<
String
>
storeNameDbSet
)
throws
Exception
{
Set
<
String
>
employeeNos
=
new
HashSet
<>(
20
);
StringBuilder
msg
=
new
StringBuilder
();
List
<
String
>
storeList
=
new
ArrayList
<>(
storeNameDbSet
);
boolean
patternY
=
false
;
for
(
Map
.
Entry
<
Integer
,
List
<
Object
>>
entry
:
rows
.
entrySet
())
{
Integer
rowNo
=
entry
.
getKey
()
+
1
;
List
<
Object
>
value
=
entry
.
getValue
();
StringBuilder
sb
=
new
StringBuilder
();
String
city
=
(
String
)
value
.
get
(
0
);
if
(
StringUtils
.
isBlank
(
city
))
{
sb
.
append
(
"城市不可为空;"
);
}
else
if
(!
city
.
contains
(
"市"
)){
value
.
set
(
0
,
city
+
"市"
);
}
if
(
StringUtils
.
isBlank
((
String
)
value
.
get
(
1
)))
{
sb
.
append
(
"门店负责人不可为空;"
);
}
else
{
employeeNos
.
add
((
String
)
value
.
get
(
1
));
}
if
(!
dealers
.
containsKey
(((
String
)
value
.
get
(
2
)).
trim
()))
{
sb
.
append
(
"经销商编码错误;"
);
}
if
(
StringUtils
.
isBlank
((
String
)
value
.
get
(
3
)))
{
sb
.
append
(
"系统名称不可为空;"
);
}
String
storeName
=
(
String
)
value
.
get
(
4
);
if
(
StringUtils
.
isBlank
(
storeName
))
{
sb
.
append
(
"店铺名称不可为空;"
);
}
else
if
(
storeList
.
contains
(
storeName
))
{
sb
.
append
(
"店铺名称已存在;"
);
}
else
{
storeList
.
add
(
storeName
);
}
String
pattern
=
(
String
)
value
.
get
(
5
);
if
(
StringUtils
.
isBlank
(
pattern
))
{
sb
.
append
(
"活动模式不可为空;"
);
}
else
if
(!
patterns
.
contains
(
pattern
)){
patternY
=
true
;
}
if
(
sb
.
length
()
>
0
)
{
msg
.
append
(
"第"
).
append
(
rowNo
).
append
(
"行:"
).
append
(
sb
);
}
}
if
(
patternY
){
msg
.
append
(
"活动模式列仅限:"
).
append
(
patterns
).
append
(
"(需区分大小写)"
);
}
if
(
msg
.
length
()
>
0
)
{
throw
new
DataException
(
msg
.
toString
());
}
return
employeeNos
;
}
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityClockCoreServiceImpl.java
浏览文件 @
1b3b9394
...
@@ -55,7 +55,6 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
...
@@ -55,7 +55,6 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
void
clockInTodayActivity
(
TemporaryClockDto
dto
,
Integer
clockType
)
{
public
void
clockInTodayActivity
(
TemporaryClockDto
dto
,
Integer
clockType
)
{
log
.
info
(
"促销员当日打卡[type-{}]信息保存:{}"
,
clockType
,
dto
.
toString
());
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
// 补充信息
// 补充信息
EmployeeActivityPlanInfoDto
planInfoDto
=
employeeActivityPlanInfoDao
.
selectById
(
dto
.
getStoreId
());
EmployeeActivityPlanInfoDto
planInfoDto
=
employeeActivityPlanInfoDao
.
selectById
(
dto
.
getStoreId
());
...
@@ -67,7 +66,8 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
...
@@ -67,7 +66,8 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
.
setChargerQcId
(
employeeDto
.
getQcId
())
.
setChargerQcId
(
employeeDto
.
getQcId
())
.
setChargerName
(
employeeDto
.
getName
())
.
setChargerName
(
employeeDto
.
getName
())
.
setActivityPatternId
(
planInfoDto
.
getActivityPatternId
())
.
setActivityPatternId
(
planInfoDto
.
getActivityPatternId
())
.
setActivityPattern
(
planInfoDto
.
getActivityPattern
());
.
setActivityPattern
(
planInfoDto
.
getActivityPattern
())
.
setDealerName
(
planInfoDto
.
getDealerName
());
temporaryActivityClockDao
.
save
(
dto
);
temporaryActivityClockDao
.
save
(
dto
);
}
else
{
}
else
{
temporaryActivityClockDao
.
updateById
(
dto
);
temporaryActivityClockDao
.
updateById
(
dto
);
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityClockQueryServiceImpl.java
浏览文件 @
1b3b9394
...
@@ -103,6 +103,5 @@ public class TemporaryActivityClockQueryServiceImpl implements TemporaryActivity
...
@@ -103,6 +103,5 @@ public class TemporaryActivityClockQueryServiceImpl implements TemporaryActivity
temporaryClockDto
.
setClockOutPhotoUpdateTime
(
clockOutPhotoDto
.
getUpdateTime
());
temporaryClockDto
.
setClockOutPhotoUpdateTime
(
clockOutPhotoDto
.
getUpdateTime
());
}
}
log
.
info
(
"查询打卡记录{}的所有图片:{}"
,
temporaryClockDto
.
getId
(),
photoGroup
);
}
}
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityCoreServiceImpl.java
浏览文件 @
1b3b9394
...
@@ -259,6 +259,5 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
...
@@ -259,6 +259,5 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
if
(!
CollectionUtils
.
isEmpty
(
temActDto
.
getPsvPhotoUrls
()))
{
if
(!
CollectionUtils
.
isEmpty
(
temActDto
.
getPsvPhotoUrls
()))
{
tempActivityPhotoDao
.
saveReportedList
(
temporaryId
,
reportedId
,
ActivityPhotoType
.
POS_SELL_VOUCHER
.
getType
(),
temActDto
.
getPsvPhotoUrls
(),
temActDto
.
getPsvChangePhotoUrls
());
tempActivityPhotoDao
.
saveReportedList
(
temporaryId
,
reportedId
,
ActivityPhotoType
.
POS_SELL_VOUCHER
.
getType
(),
temActDto
.
getPsvPhotoUrls
(),
temActDto
.
getPsvChangePhotoUrls
());
}
}
log
.
info
(
"促销员今日活动上报-图片保存成功,关联活动上报数据id[{}],数据信息:{}"
,
temActDto
.
getId
(),
temActDto
);
}
}
}
}
src/main/java/com/wangxiaolu/promotion/service/user/impl/PromotionServiceImpl.java
浏览文件 @
1b3b9394
...
@@ -29,7 +29,6 @@ public class PromotionServiceImpl implements PromotionService {
...
@@ -29,7 +29,6 @@ public class PromotionServiceImpl implements PromotionService {
Integer
userCount
=
userInfoDao
.
findUserByUserName
(
userLoginParam
.
getLoginName
());
Integer
userCount
=
userInfoDao
.
findUserByUserName
(
userLoginParam
.
getLoginName
());
if
(
1
==
userCount
){
if
(
1
==
userCount
){
// 生成登录信息
// 生成登录信息
log
.
info
(
"生成登录信息:{}"
,
userLoginParam
.
getLoginName
());
return
;
return
;
}
}
throw
new
ParamException
(
RCode
.
LOGIN_PARAM_ERROR
,
null
);
throw
new
ParamException
(
RCode
.
LOGIN_PARAM_ERROR
,
null
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论