Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
6d88d8d4
提交
6d88d8d4
authored
9月 04, 2024
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
同步勤策经销商数据\上传活动计划
上级
2659756a
隐藏空白字符变更
内嵌
并排
正在显示
86 个修改的文件
包含
2027 行增加
和
121 行删除
+2027
-121
4821a5d385741cfb2cec904c2d39f1b0-09-1.xlsx
...ty_plan/000516/4821a5d385741cfb2cec904c2d39f1b0-09-1.xlsx
+0
-0
506f60845a6c20eba352e7a2ade798f3-09-1.xlsx
...ty_plan/000516/506f60845a6c20eba352e7a2ade798f3-09-1.xlsx
+0
-0
6c98aef7f7817b4ead1e5b9e07122a13-09-1.xlsx
...ty_plan/000516/6c98aef7f7817b4ead1e5b9e07122a13-09-1.xlsx
+0
-0
9af3753336285f65363029ec42d76ac5-09-1.xlsx
...ty_plan/000516/9af3753336285f65363029ec42d76ac5-09-1.xlsx
+0
-0
d4bcfc799213e3a978da23049c507b28-10-1.xlsx
...ty_plan/000516/d4bcfc799213e3a978da23049c507b28-10-1.xlsx
+0
-0
da9036dc11a98531a7c4ee234e32c9d7-09-1.xlsx
...ty_plan/000516/da9036dc11a98531a7c4ee234e32c9d7-09-1.xlsx
+0
-0
pom.xml
pom.xml
+4
-5
EmpPromotionStoreQueryController.java
...ler/activity/manage/EmpPromotionStoreQueryController.java
+2
-2
ActivityPlanInfoCoreController.java
...y/manage/activityplan/ActivityPlanInfoCoreController.java
+38
-0
ActivityPlanInfoQueryController.java
.../manage/activityplan/ActivityPlanInfoQueryController.java
+31
-0
ActivityPlanRecordCoreController.java
...manage/activityplan/ActivityPlanRecordCoreController.java
+61
-0
ActivityPlanRecordQueryController.java
...anage/activityplan/ActivityPlanRecordQueryController.java
+39
-0
EmployeeCoreTemActivityController.java
...ctivity/manage/tem/EmployeeCoreTemActivityController.java
+4
-4
EmployeeCoreTemClockController.java
...r/activity/manage/tem/EmployeeCoreTemClockController.java
+3
-3
EmployeeCoreTemporaryInfoController.java
...ivity/manage/tem/EmployeeCoreTemporaryInfoController.java
+3
-3
EmployeeQueryTemActivityController.java
...tivity/manage/tem/EmployeeQueryTemActivityController.java
+2
-2
EmployeeQueryTemClockController.java
.../activity/manage/tem/EmployeeQueryTemClockController.java
+2
-2
EmployeeQueryTemporaryInfoController.java
...vity/manage/tem/EmployeeQueryTemporaryInfoController.java
+2
-2
WangxlEmployeeLoginController.java
...er/user/login/employee/WangxlEmployeeLoginController.java
+4
-3
PromotionLoginController.java
...n/controller/user/login/tem/PromotionLoginController.java
+1
-1
TemporaryInfoCoreController.java
...ontroller/user/login/tem/TemporaryInfoCoreController.java
+2
-2
temporaryInfoQueryController.java
...ntroller/user/login/tem/temporaryInfoQueryController.java
+2
-3
QinCeDataTaskController.java
...motion/controller/user/qince/QinCeDataTaskController.java
+8
-0
QinCeDealerQueryController.java
...ion/controller/user/qince/QinCeDealerQueryController.java
+26
-0
PromotionManageEmployeeDao.java
...otion/domain/activity/dao/PromotionManageEmployeeDao.java
+1
-1
PromotionManageEmployeeDaoImpl.java
...ain/activity/dao/impl/PromotionManageEmployeeDaoImpl.java
+14
-1
PromotionManageEmployeeDO.java
...ain/activity/mapper/entity/PromotionManageEmployeeDO.java
+16
-0
EmployeeActivityPlanInfoDao.java
...motion/domain/manage/dao/EmployeeActivityPlanInfoDao.java
+22
-0
EmployeeActivityPlanRecordDao.java
...tion/domain/manage/dao/EmployeeActivityPlanRecordDao.java
+23
-0
EmployeeActivityPlanInfoDaoImpl.java
...main/manage/dao/impl/EmployeeActivityPlanInfoDaoImpl.java
+133
-0
EmployeeActivityPlanRecordDaoImpl.java
...in/manage/dao/impl/EmployeeActivityPlanRecordDaoImpl.java
+124
-0
EmployeeActivityPlanInfoMapper.java
.../domain/manage/mapper/EmployeeActivityPlanInfoMapper.java
+29
-0
EmployeeActivityPlanRecordMapper.java
...omain/manage/mapper/EmployeeActivityPlanRecordMapper.java
+23
-0
EmployeeActivityPlanInfoDO.java
...main/manage/mapper/entity/EmployeeActivityPlanInfoDO.java
+127
-0
EmployeeActivityPlanRecordDO.java
...in/manage/mapper/entity/EmployeeActivityPlanRecordDO.java
+82
-0
ActivityPlanInfoWrapper.java
...tion/domain/manage/wrapperQo/ActivityPlanInfoWrapper.java
+80
-0
ActivityPlanRecordWrapper.java
...on/domain/manage/wrapperQo/ActivityPlanRecordWrapper.java
+31
-0
QinceDealerDao.java
.../wangxiaolu/promotion/domain/user/dao/QinceDealerDao.java
+21
-0
QinceDealerDaoImpl.java
...lu/promotion/domain/user/dao/impl/QinceDealerDaoImpl.java
+70
-0
QinceDealerMapper.java
...iaolu/promotion/domain/user/mapper/QinceDealerMapper.java
+30
-0
QinceDealerDO.java
...lu/promotion/domain/user/mapper/entity/QinceDealerDO.java
+42
-0
EmployeeActivityPlanInfoDto.java
...pojo/activity/manage/dto/EmployeeActivityPlanInfoDto.java
+122
-0
EmployeeActivityPlanRecordDto.java
...jo/activity/manage/dto/EmployeeActivityPlanRecordDto.java
+65
-0
ActivityPlanInfoVo.java
...promotion/pojo/activity/manage/vo/ActivityPlanInfoVo.java
+27
-0
ActivityPlanVo.java
...olu/promotion/pojo/activity/manage/vo/ActivityPlanVo.java
+58
-0
ApproveVo.java
...ngxiaolu/promotion/pojo/activity/manage/vo/ApproveVo.java
+2
-2
ClockVo.java
...wangxiaolu/promotion/pojo/activity/manage/vo/ClockVo.java
+1
-1
TemporaryInfoVo.java
...lu/promotion/pojo/activity/manage/vo/TemporaryInfoVo.java
+1
-1
PromotionManageEmployeeDto.java
...u/promotion/pojo/user/dto/PromotionManageEmployeeDto.java
+7
-2
ActivityPlanInfoCoreService.java
.../service/activity/manage/ActivityPlanInfoCoreService.java
+12
-0
ActivityPlanInfoQueryService.java
...service/activity/manage/ActivityPlanInfoQueryService.java
+13
-0
ActivityPlanRecordCoreService.java
...ervice/activity/manage/ActivityPlanRecordCoreService.java
+15
-0
ActivityPlanRecordQueryService.java
...rvice/activity/manage/ActivityPlanRecordQueryService.java
+19
-0
EmpPromotionStoreQueryService.java
...ervice/activity/manage/EmpPromotionStoreQueryService.java
+1
-1
EmployeeCoreTemActivityService.java
...rvice/activity/manage/EmployeeCoreTemActivityService.java
+3
-3
EmployeeCoreTemClockService.java
.../service/activity/manage/EmployeeCoreTemClockService.java
+1
-1
EmployeeCoreTemporaryInfoService.java
...ice/activity/manage/EmployeeCoreTemporaryInfoService.java
+1
-1
EmployeeQueryTemActivityService.java
...vice/activity/manage/EmployeeQueryTemActivityService.java
+1
-1
EmployeeQueryTemClockService.java
...service/activity/manage/EmployeeQueryTemClockService.java
+1
-1
EmployeeQueryTemporaryInfoService.java
...ce/activity/manage/EmployeeQueryTemporaryInfoService.java
+1
-1
ActivityPlanInfoCoreServiceImpl.java
...activity/manage/impl/ActivityPlanInfoCoreServiceImpl.java
+27
-0
ActivityPlanInfoQueryServiceImpl.java
...ctivity/manage/impl/ActivityPlanInfoQueryServiceImpl.java
+26
-0
ActivityPlanRecordCoreServiceImpl.java
...tivity/manage/impl/ActivityPlanRecordCoreServiceImpl.java
+173
-0
ActivityPlanRecordQueryServiceImpl.java
...ivity/manage/impl/ActivityPlanRecordQueryServiceImpl.java
+37
-0
EmpPromotionStoreQueryServiceImpl.java
...tivity/manage/impl/EmpPromotionStoreQueryServiceImpl.java
+2
-2
EmployeeCoreTemActivityServiceImpl.java
...ivity/manage/impl/EmployeeCoreTemActivityServiceImpl.java
+4
-7
EmployeeCoreTemClockServiceImpl.java
...activity/manage/impl/EmployeeCoreTemClockServiceImpl.java
+2
-3
EmployeeCoreTemporaryInfoServiceImpl.java
...ity/manage/impl/EmployeeCoreTemporaryInfoServiceImpl.java
+2
-2
EmployeeQueryTemActivityServiceImpl.java
...vity/manage/impl/EmployeeQueryTemActivityServiceImpl.java
+2
-3
EmployeeQueryTemClockServiceImpl.java
...ctivity/manage/impl/EmployeeQueryTemClockServiceImpl.java
+2
-2
EmployeeQueryTemporaryInfoServiceImpl.java
...ty/manage/impl/EmployeeQueryTemporaryInfoServiceImpl.java
+2
-2
QinCeDataTaskService.java
...ngxiaolu/promotion/service/user/QinCeDataTaskService.java
+1
-0
QinCeDealerQueryService.java
...iaolu/promotion/service/user/QinCeDealerQueryService.java
+13
-0
WangxlEmployeeQueryService.java
...lu/promotion/service/user/WangxlEmployeeQueryService.java
+2
-1
QinCeDataTaskServiceImpl.java
...promotion/service/user/impl/QinCeDataTaskServiceImpl.java
+71
-3
QinCeDealerQueryServiceImpl.java
...motion/service/user/impl/QinCeDealerQueryServiceImpl.java
+24
-0
WangxlEmployeeQueryServiceImpl.java
...ion/service/user/impl/WangxlEmployeeQueryServiceImpl.java
+7
-11
QinCeUtils.java
src/main/java/com/wangxiaolu/promotion/utils/QinCeUtils.java
+17
-24
XxlJobHandler.java
...va/com/wangxiaolu/promotion/xxljobtask/XxlJobHandler.java
+25
-4
application-dev.yml
src/main/resources/application-dev.yml
+9
-2
EmployeeActivityPlanInfoMapper.xml
src/main/resources/mapper/EmployeeActivityPlanInfoMapper.xml
+57
-0
EmployeeActivityPlanRecordMapper.xml
...ain/resources/mapper/EmployeeActivityPlanRecordMapper.xml
+33
-0
QinceDealerMapper.xml
src/main/resources/mapper/QinceDealerMapper.xml
+29
-0
PromotionLoginControllerTest.java
...omotion/controller/user/PromotionLoginControllerTest.java
+1
-0
WeChatUserCoreControllerTest.java
...otion/controller/wechat/WeChatUserCoreControllerTest.java
+4
-2
WeChatUserQueryControllerTest.java
...tion/controller/wechat/WeChatUserQueryControllerTest.java
+2
-4
没有找到文件。
activity_plan/000516/4821a5d385741cfb2cec904c2d39f1b0-09-1.xlsx
0 → 100644
浏览文件 @
6d88d8d4
File added
activity_plan/000516/506f60845a6c20eba352e7a2ade798f3-09-1.xlsx
0 → 100644
浏览文件 @
6d88d8d4
File added
activity_plan/000516/6c98aef7f7817b4ead1e5b9e07122a13-09-1.xlsx
0 → 100644
浏览文件 @
6d88d8d4
File added
activity_plan/000516/9af3753336285f65363029ec42d76ac5-09-1.xlsx
0 → 100644
浏览文件 @
6d88d8d4
File added
activity_plan/000516/d4bcfc799213e3a978da23049c507b28-10-1.xlsx
0 → 100644
浏览文件 @
6d88d8d4
File added
activity_plan/000516/da9036dc11a98531a7c4ee234e32c9d7-09-1.xlsx
0 → 100644
浏览文件 @
6d88d8d4
File added
pom.xml
浏览文件 @
6d88d8d4
...
...
@@ -7,13 +7,13 @@
<parent>
<groupId>
com.wangxiaolu
</groupId>
<artifactId>
wangxiaolu-promotion-parent
</artifactId>
<version>
0.0.
1
</version>
<version>
0.0.
2
</version>
</parent>
<groupId>
com.wangxiaolu
</groupId>
<artifactId>
wangxiaolu-promotion-service
</artifactId>
<version>
0.1.
8
</version>
<version>
0.1.
9
</version>
<name>
wangxiaolu-promotion-service
</name>
<description>
promotion-service
</description>
...
...
@@ -24,7 +24,7 @@
<dependency>
<groupId>
com.wangxiaolu
</groupId>
<artifactId>
wangxiaolu-promotion-common
</artifactId>
<version>
0.0.
1
</version>
<version>
0.0.
2
</version>
<exclusions>
<exclusion>
<artifactId>
spring-cloud-gateway-server
</artifactId>
...
...
@@ -237,9 +237,8 @@
<dependency>
<groupId>
com.fasterxml.uuid
</groupId>
<artifactId>
java-uuid-generator
</artifactId>
<version>
3.1.4
</version>
<version>
${java-uuid-generator.version}
</version>
</dependency>
</dependencies>
<build>
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/
employe
e/EmpPromotionStoreQueryController.java
→
src/main/java/com/wangxiaolu/promotion/controller/activity/
manag
e/EmpPromotionStoreQueryController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmpPromotionStoreQueryService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmpPromotionStoreQueryService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/manage/activityplan/ActivityPlanInfoCoreController.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
activityplan
;
import
com.wangxiaolu.promotion.common.util.NumberUtils
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanInfoVo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanInfoCoreService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author : liqiulin
* @date : 2024-09-02 18
* @describe :
*/
@Slf4j
@RestController
@RequestMapping
(
"/activity/employee/plan_info/core"
)
public
class
ActivityPlanInfoCoreController
{
@Autowired
ActivityPlanInfoCoreService
activityPlanInfoCoreService
;
@PutMapping
(
"/update"
)
public
R
updateActivityInfo
(
@RequestBody
ActivityPlanInfoVo
activityPlanInfoVo
){
if
(
NumberUtils
.
isNull
(
activityPlanInfoVo
.
getId
())
&&
CollectionUtils
.
isEmpty
(
activityPlanInfoVo
.
getIds
())){
throw
new
DataException
(
RCode
.
SELECT_PARAMS_ERROR
);
}
activityPlanInfoCoreService
.
updateActivityInfo
(
activityPlanInfoVo
);
return
R
.
success
();
}
}
src/main/java/com/wangxiaolu/promotion/controller/activity/manage/activityplan/ActivityPlanInfoQueryController.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
activityplan
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanInfoQueryService
;
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
;
/**
* @author : liqiulin
* @date : 2024-09-03 11
* @describe :
*/
@Slf4j
@RestController
@RequestMapping
(
"/activity/employee/plan_info/core"
)
public
class
ActivityPlanInfoQueryController
{
@Autowired
ActivityPlanInfoQueryService
activityPlanInfoQueryService
;
@PostMapping
(
"/page"
)
public
R
findActivityInfoPage
(
@RequestBody
PageInfo
pageInfo
){
activityPlanInfoQueryService
.
findActivityPlanInfoPage
(
pageInfo
);
return
R
.
success
(
pageInfo
);
}
}
src/main/java/com/wangxiaolu/promotion/controller/activity/manage/activityplan/ActivityPlanRecordCoreController.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
activityplan
;
import
com.wangxiaolu.promotion.common.util.NumberUtils
;
import
com.wangxiaolu.promotion.exception.DataException
;
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.vo.ActivityPlanInfoVo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanRecordCoreService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
/**
* @author : liqiulin
* @date : 2024-08-20 13
* @describe : 活动计划上传记录
*/
@Slf4j
@RestController
@RequestMapping
(
"/activity/employee/plan/core"
)
public
class
ActivityPlanRecordCoreController
{
@Autowired
ActivityPlanRecordCoreService
activityPlanRecordCoreService
;
/**
* 上传活动计划表
*/
@PostMapping
(
"/push/excel"
)
public
R
pushPlanExcel
(
@RequestBody
ActivityPlanVo
activityPlanVo
)
{
try
{
EmployeeActivityPlanRecordDto
planDto
=
new
EmployeeActivityPlanRecordDto
();
BeanUtils
.
copyProperties
(
activityPlanVo
,
planDto
);
planDto
.
setCreateDate
(
new
Date
());
String
[]
urlArr
=
activityPlanVo
.
getExcelUrl
().
split
(
"weda-uploader/"
);
String
fileId
=
urlArr
[
urlArr
.
length
-
1
];
planDto
.
setExcelFiledId
(
fileId
);
activityPlanRecordCoreService
.
saveActivityPlan
(
planDto
,
activityPlanVo
);
return
R
.
success
();
}
catch
(
Exception
e
)
{
return
R
.
fail
(
e
.
getMessage
());
}
}
@DeleteMapping
(
"/delete/{id}"
)
public
R
deleteActivityPlanById
(
@PathVariable
Long
id
){
if
(
NumberUtils
.
isNull
(
id
)){
throw
new
DataException
(
RCode
.
API_DATA_ERROR
);
}
activityPlanRecordCoreService
.
deleteById
(
id
);
return
R
.
success
();
}
}
src/main/java/com/wangxiaolu/promotion/controller/activity/manage/activityplan/ActivityPlanRecordQueryController.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
activityplan
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanRecordDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanRecordQueryService
;
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
;
/**
* @author : liqiulin
* @date : 2024-08-21 14
* @describe :活动计划记录查询
*/
@Slf4j
@RestController
@RequestMapping
(
"/activity/employee/plan/query"
)
public
class
ActivityPlanRecordQueryController
{
@Autowired
ActivityPlanRecordQueryService
activityPlanRecordQueryService
;
@PostMapping
(
"/record/page"
)
public
R
findActivityPlanRecordPage
(
@RequestBody
PageInfo
pageInfo
){
activityPlanRecordQueryService
.
findActivityPlanRecordPage
(
pageInfo
);
return
R
.
success
(
pageInfo
);
}
@PostMapping
(
"/record/one"
)
public
R
findActivityPlanRecord
(
@RequestBody
ActivityPlanVo
activityPlanVo
){
EmployeeActivityPlanRecordDto
dto
=
activityPlanRecordQueryService
.
findActivityPlanRecord
(
activityPlanVo
);
return
R
.
success
(
dto
);
}
}
src/main/java/com/wangxiaolu/promotion/controller/activity/
employee
/EmployeeCoreTemActivityController.java
→
src/main/java/com/wangxiaolu/promotion/controller/activity/
manage/tem
/EmployeeCoreTemActivityController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
employee
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
tem
;
import
com.wangxiaolu.promotion.enums.activity.TemActApproveStatus
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.activity.
employee.vo.ApproveVO
;
import
com.wangxiaolu.promotion.pojo.activity.
manage.vo.ApproveVo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeCoreTemActivityService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeCoreTemActivityService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -28,7 +28,7 @@ public class EmployeeCoreTemActivityController {
* 管理员审批上报活动数据
*/
// @PostMapping("/approve/{id}")
public
R
approveActivity
(
@PathVariable
(
"id"
)
long
reportedId
,
@RequestBody
ApproveV
O
approveVO
)
{
public
R
approveActivity
(
@PathVariable
(
"id"
)
long
reportedId
,
@RequestBody
ApproveV
o
approveVO
)
{
if
(
TemActApproveStatus
.
SEND_BACK
.
equals
(
approveVO
.
getApproveStatus
())
&&
StringUtils
.
isBlank
(
approveVO
.
getApproveReason
())){
throw
new
ParamException
(
RCode
.
SEND_BACK_REASON_NOT
,
null
);
}
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/
employee
/EmployeeCoreTemClockController.java
→
src/main/java/com/wangxiaolu/promotion/controller/activity/
manage/tem
/EmployeeCoreTemClockController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
employee
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
tem
;
import
com.wangxiaolu.promotion.pojo.activity.
employe
e.vo.ClockVo
;
import
com.wangxiaolu.promotion.pojo.activity.
manag
e.vo.ClockVo
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeCoreTemClockService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeCoreTemClockService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/
employee
/EmployeeCoreTemporaryInfoController.java
→
src/main/java/com/wangxiaolu/promotion/controller/activity/
manage/tem
/EmployeeCoreTemporaryInfoController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
employee
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
tem
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.activity.
employe
e.vo.TemporaryInfoVo
;
import
com.wangxiaolu.promotion.pojo.activity.
manag
e.vo.TemporaryInfoVo
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeCoreTemporaryInfoService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeCoreTemporaryInfoService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PutMapping
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/
employee
/EmployeeQueryTemActivityController.java
→
src/main/java/com/wangxiaolu/promotion/controller/activity/
manage/tem
/EmployeeQueryTemActivityController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
employee
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
tem
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeQueryTemActivityService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeQueryTemActivityService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/
employee
/EmployeeQueryTemClockController.java
→
src/main/java/com/wangxiaolu/promotion/controller/activity/
manage/tem
/EmployeeQueryTemClockController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
employee
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
tem
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeQueryTemClockService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeQueryTemClockService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/
employee
/EmployeeQueryTemporaryInfoController.java
→
src/main/java/com/wangxiaolu/promotion/controller/activity/
manage/tem
/EmployeeQueryTemporaryInfoController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
employee
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
manage
.
tem
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeQueryTemporaryInfoService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeQueryTemporaryInfoService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/user/WangxlEmployeeLoginController.java
→
src/main/java/com/wangxiaolu/promotion/controller/user/
login/employee/
WangxlEmployeeLoginController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
.
login
.
employee
;
import
com.wangxiaolu.promotion.pojo.user.vo.LoginVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.user.WangxlEmployeeQueryService
;
...
...
@@ -24,8 +25,8 @@ public class WangxlEmployeeLoginController {
@PostMapping
(
"/login"
)
public
R
wangxlEmployeelogin
(
@RequestBody
UserLoginParam
userLoginParam
)
{
userLoginParam
.
validate
();
String
token
=
wangxlEmployeeQueryService
.
employeeLoginVerify
(
userLoginParam
);
return
R
.
success
(
token
);
LoginVo
loginVo
=
wangxlEmployeeQueryService
.
employeeLoginVerify
(
userLoginParam
);
return
R
.
success
(
loginVo
);
}
}
src/main/java/com/wangxiaolu/promotion/controller/user/PromotionLoginController.java
→
src/main/java/com/wangxiaolu/promotion/controller/user/
login/tem/
PromotionLoginController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
.
login
.
tem
;
import
com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam
;
import
com.wangxiaolu.promotion.result.basedata.R
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/
wechat/WeChatUser
CoreController.java
→
src/main/java/com/wangxiaolu/promotion/controller/
user/login/tem/TemporaryInfo
CoreController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
wechat
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
.
login
.
tem
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
...
...
@@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping
(
"/user/wechat/core"
)
public
class
WeChatUser
CoreController
{
public
class
TemporaryInfo
CoreController
{
@Autowired
WeChatUserCoreService
weChatUserCoreService
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/
wechat/WeChatUser
QueryController.java
→
src/main/java/com/wangxiaolu/promotion/controller/
user/login/tem/temporaryInfo
QueryController.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
wechat
;
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
.
login
.
tem
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
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.user.dto.WxTemporaryInfoDto
;
import
com.wangxiaolu.promotion.pojo.user.vo.LoginVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.WxTemporaryLoginVo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
...
...
@@ -26,7 +25,7 @@ import java.util.Objects;
@Slf4j
@RestController
@RequestMapping
(
"/user/wechat/query"
)
public
class
WeChatUser
QueryController
{
public
class
temporaryInfo
QueryController
{
@Autowired
private
WeChatUserQueryService
weChatUserQueryService
;
...
...
src/main/java/com/wangxiaolu/promotion/controller/user/qince/QinCeDataTaskController.java
浏览文件 @
6d88d8d4
...
...
@@ -64,5 +64,13 @@ public class QinCeDataTaskController {
return
R
.
success
();
}
/**
* 同步经销商数据
*/
@GetMapping
(
"/dealers"
)
public
R
productDealers
(){
qinCeDataTaskService
.
productDealers
();
return
R
.
success
();
}
}
src/main/java/com/wangxiaolu/promotion/controller/user/qince/QinCeDealerQueryController.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
.
qince
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.user.QinCeDealerQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author : liqiulin
* @date : 2024-09-02 13
* @describe :
*/
@RestController
@RequestMapping
(
"/user/dealer/query"
)
public
class
QinCeDealerQueryController
{
@Autowired
QinCeDealerQueryService
qinCeDealerQueryService
;
@PostMapping
(
"/page"
)
public
R
findPage
(
@RequestBody
PageInfo
pageInfo
){
qinCeDealerQueryService
.
page
(
pageInfo
);
return
R
.
success
(
pageInfo
);
}
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/PromotionManageEmployeeDao.java
浏览文件 @
6d88d8d4
...
...
@@ -8,5 +8,5 @@ import com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto;
* @describe :
*/
public
interface
PromotionManageEmployeeDao
{
PromotionManageEmployeeDto
selectOneByEmployeeNo
(
String
employeeNo
);
PromotionManageEmployeeDto
loginByEmployeeNo
(
String
employeeNo
,
String
pwd
);
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/PromotionManageEmployeeDaoImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.wangxiaolu.promotion.common.util.MD5Utils
;
import
com.wangxiaolu.promotion.domain.activity.dao.PromotionManageEmployeeDao
;
import
com.wangxiaolu.promotion.domain.activity.mapper.PromotionManageEmployeeMapper
;
import
com.wangxiaolu.promotion.domain.activity.mapper.entity.PromotionManageEmployeeDO
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -23,11 +26,19 @@ public class PromotionManageEmployeeDaoImpl implements PromotionManageEmployeeDa
PromotionManageEmployeeMapper
promotionManageEmployeeMapper
;
@Override
public
PromotionManageEmployeeDto
selectOneByEmployeeNo
(
String
employeeNo
)
{
public
PromotionManageEmployeeDto
loginByEmployeeNo
(
String
employeeNo
,
String
pwd
)
{
LambdaQueryWrapper
<
PromotionManageEmployeeDO
>
lqw
=
new
LambdaQueryWrapper
();
lqw
.
eq
(
PromotionManageEmployeeDO:
:
getEmployeeNo
,
employeeNo
);
PromotionManageEmployeeDO
promotionManageEmployeeDO
=
promotionManageEmployeeMapper
.
selectOne
(
lqw
);
if
(
Objects
.
isNull
(
promotionManageEmployeeDO
)){
throw
new
ParamException
(
RCode
.
LOGIN_PARAM_ERROR
,
null
);
}
if
(!
MD5Utils
.
getSaltverifyMD5
(
pwd
,
promotionManageEmployeeDO
.
getPasswork
())){
throw
new
ParamException
(
RCode
.
LOGIN_PASSWORD_ERROR
,
null
);
}
return
transitionDto
(
promotionManageEmployeeDO
);
}
...
...
@@ -40,4 +51,6 @@ public class PromotionManageEmployeeDaoImpl implements PromotionManageEmployeeDa
BeanUtils
.
copyProperties
(
employeeDO
,
dto
);
return
dto
;
}
}
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/entity/PromotionManageEmployeeDO.java
浏览文件 @
6d88d8d4
...
...
@@ -41,6 +41,21 @@ public class PromotionManageEmployeeDO implements Serializable {
*/
private
String
passwork
;
/**
* 部门信息-勤策部门id,关联部门表qc_id字段
*/
private
String
deptQcId
;
/**
* 部门信息-勤策部门名称
*/
private
String
deptQcName
;
/**
* 备注,不过超过100字
*/
// private String remarks;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/domain/manage/dao/EmployeeActivityPlanInfoDao.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
dao
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanInfoWrapper
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2024-08-29 13
* @describe :
*/
public
interface
EmployeeActivityPlanInfoDao
{
void
saveList
(
List
<
EmployeeActivityPlanInfoDto
>
planInfoDtos
);
void
page
(
PageInfo
pageInfo
,
ActivityPlanInfoWrapper
wrapper
);
void
deletebyActivityPlanRecordId
(
Long
recordId
);
void
update
(
ActivityPlanInfoWrapper
wrap
);
}
src/main/java/com/wangxiaolu/promotion/domain/manage/dao/EmployeeActivityPlanRecordDao.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
dao
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanRecordWrapper
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanRecordDto
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2024-08-21 13
* @describe :
*/
public
interface
EmployeeActivityPlanRecordDao
{
Long
save
(
EmployeeActivityPlanRecordDto
planDto
);
void
selectPage
(
ActivityPlanRecordWrapper
wrap
,
PageInfo
pageInfo
);
EmployeeActivityPlanRecordDto
selectOne
(
ActivityPlanRecordWrapper
wp
);
void
deleteById
(
Long
id
);
}
src/main/java/com/wangxiaolu/promotion/domain/manage/dao/impl/EmployeeActivityPlanInfoDaoImpl.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.wangxiaolu.promotion.common.enums.StatusType
;
import
com.wangxiaolu.promotion.common.util.NumberUtils
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.manage.mapper.EmployeeActivityPlanInfoMapper
;
import
com.wangxiaolu.promotion.domain.manage.mapper.entity.EmployeeActivityPlanInfoDO
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanInfoWrapper
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2024-08-29 13
* @describe :
*/
@Service
public
class
EmployeeActivityPlanInfoDaoImpl
implements
EmployeeActivityPlanInfoDao
{
@Autowired
EmployeeActivityPlanInfoMapper
employeeActivityPlanInfoMapper
;
@Override
public
void
saveList
(
List
<
EmployeeActivityPlanInfoDto
>
planInfoDtos
)
{
List
<
EmployeeActivityPlanInfoDO
>
dos
=
new
ArrayList
<>(
planInfoDtos
.
size
()
*
2
);
Date
createTime
=
new
Date
();
planInfoDtos
.
stream
().
forEach
(
dto
->
{
EmployeeActivityPlanInfoDO
infoDo
=
new
EmployeeActivityPlanInfoDO
();
BeanUtils
.
copyProperties
(
dto
,
infoDo
);
infoDo
.
setCreateTime
(
createTime
);
dos
.
add
(
infoDo
);
});
employeeActivityPlanInfoMapper
.
saveList
(
dos
);
}
@Override
public
void
page
(
PageInfo
pageInfo
,
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
EmployeeActivityPlanInfoDO
>
qw
=
buildWrapper
(
wrapper
);
Page
<
EmployeeActivityPlanInfoDO
>
page
=
new
Page
<>(
pageInfo
.
getPageNum
(),
pageInfo
.
getPageSize
());
Page
<
EmployeeActivityPlanInfoDO
>
doPage
=
employeeActivityPlanInfoMapper
.
selectPage
(
page
,
qw
);
pageInfo
.
pageCovert
(
doPage
);
// 目前没有返回到service处理逻辑,所以不需要转dto
pageInfo
.
setRecords
(
doPage
.
getRecords
());
}
@Override
public
void
deletebyActivityPlanRecordId
(
Long
recordId
)
{
employeeActivityPlanInfoMapper
.
deletebyActivityPlanRecordId
(
recordId
);
}
@Override
public
void
update
(
ActivityPlanInfoWrapper
wrap
)
{
LambdaQueryWrapper
<
EmployeeActivityPlanInfoDO
>
qw
=
buildUpdateWrapper
(
wrap
);
EmployeeActivityPlanInfoDO
updateDO
=
new
EmployeeActivityPlanInfoDO
();
updateDO
.
setActivityStatus
(
wrap
.
getActivityStatusUpdate
().
getType
());
employeeActivityPlanInfoMapper
.
update
(
updateDO
,
qw
);
}
private
LambdaQueryWrapper
<
EmployeeActivityPlanInfoDO
>
buildWrapper
(
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
EmployeeActivityPlanInfoDO
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
Objects
.
nonNull
(
wrapper
.
getEmployeeId
()))
{
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getEmployeeId
,
wrapper
.
getEmployeeId
());
}
if
(
Objects
.
nonNull
(
wrapper
.
getActivityPlanRecordId
()))
{
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getActivityPlanRecordId
,
wrapper
.
getActivityPlanRecordId
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getExcelFiledId
()))
{
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getExcelFiledId
,
wrapper
.
getExcelFiledId
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getActivityMonth
()))
{
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getActivityMonth
,
wrapper
.
getActivityMonth
());
}
if
(
Objects
.
nonNull
(
wrapper
.
getActivityStartDate
()))
{
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getActivityStartDate
,
wrapper
.
getActivityStartDate
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getDealerName
()))
{
qw
.
like
(
EmployeeActivityPlanInfoDO:
:
getDealerName
,
wrapper
.
getDealerName
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getCity
()))
{
qw
.
like
(
EmployeeActivityPlanInfoDO:
:
getCity
,
wrapper
.
getCity
());
}
if
(
StringUtils
.
isNotBlank
(
wrapper
.
getStoreName
()))
{
qw
.
like
(
EmployeeActivityPlanInfoDO:
:
getStoreName
,
wrapper
.
getStoreName
());
}
if
(
Objects
.
nonNull
(
wrapper
.
getActivityStatus
())){
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getActivityStatus
,
wrapper
.
getActivityStatus
().
getType
());
}
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getIsDelete
,
StatusType
.
VALID
.
getType
());
qw
.
orderByDesc
(
EmployeeActivityPlanInfoDO:
:
getCreateTime
);
return
qw
;
}
private
LambdaQueryWrapper
<
EmployeeActivityPlanInfoDO
>
buildUpdateWrapper
(
ActivityPlanInfoWrapper
wrapper
)
{
LambdaQueryWrapper
<
EmployeeActivityPlanInfoDO
>
qw
=
new
LambdaQueryWrapper
<>();
if
(!
CollectionUtils
.
isEmpty
(
wrapper
.
getIds
()))
{
qw
.
in
(
EmployeeActivityPlanInfoDO:
:
getId
,
wrapper
.
getIds
());
}
if
(!
NumberUtils
.
isNull
(
wrapper
.
getId
())){
qw
.
eq
(
EmployeeActivityPlanInfoDO:
:
getId
,
wrapper
.
getId
());
}
if
(
qw
.
isEmptyOfWhere
()){
throw
new
ParamException
(
RCode
.
SELECT_PARAMS_ERROR
,
null
);
}
return
qw
;
}
}
src/main/java/com/wangxiaolu/promotion/domain/manage/dao/impl/EmployeeActivityPlanRecordDaoImpl.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.wangxiaolu.promotion.common.enums.StatusType
;
import
com.wangxiaolu.promotion.common.util.NumberUtils
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanRecordDao
;
import
com.wangxiaolu.promotion.domain.manage.mapper.EmployeeActivityPlanRecordMapper
;
import
com.wangxiaolu.promotion.domain.manage.mapper.entity.EmployeeActivityPlanRecordDO
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanRecordWrapper
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanRecordDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.DuplicateKeyException
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2024-08-21 13
* @describe :
*/
@Service
public
class
EmployeeActivityPlanRecordDaoImpl
implements
EmployeeActivityPlanRecordDao
{
@Autowired
EmployeeActivityPlanRecordMapper
employeeActivityPlanRecordMapper
;
@Override
public
Long
save
(
EmployeeActivityPlanRecordDto
planDto
)
{
ActivityPlanRecordWrapper
rWrapper
=
new
ActivityPlanRecordWrapper
()
.
setEmployeeId
(
planDto
.
getEmployeeId
())
.
setActivityMonth
(
planDto
.
getActivityMonth
());
LambdaQueryWrapper
<
EmployeeActivityPlanRecordDO
>
qw
=
buildWrapper
(
rWrapper
);
Integer
count
=
employeeActivityPlanRecordMapper
.
selectCount
(
qw
);
if
(
count
>=
1
)
{
throw
new
DataException
(
RCode
.
ACTIVITY_PLAN_MONTH_HAS
);
}
EmployeeActivityPlanRecordDO
planDo
=
new
EmployeeActivityPlanRecordDO
();
BeanUtils
.
copyProperties
(
planDto
,
planDo
);
employeeActivityPlanRecordMapper
.
insert
(
planDo
);
return
planDo
.
getId
();
}
@Override
public
void
selectPage
(
ActivityPlanRecordWrapper
wrap
,
PageInfo
pageInfo
)
{
LambdaQueryWrapper
<
EmployeeActivityPlanRecordDO
>
qw
=
buildWrapper
(
wrap
);
Page
<
EmployeeActivityPlanRecordDO
>
page
=
new
Page
<>(
pageInfo
.
getPageNum
(),
pageInfo
.
getPageSize
());
Page
<
EmployeeActivityPlanRecordDO
>
doPage
=
employeeActivityPlanRecordMapper
.
selectPage
(
page
,
qw
);
pageInfo
.
pageCovert
(
doPage
);
pageInfo
.
setRecords
(
doPage
.
getRecords
());
}
@Override
public
EmployeeActivityPlanRecordDto
selectOne
(
ActivityPlanRecordWrapper
wp
)
{
LambdaQueryWrapper
<
EmployeeActivityPlanRecordDO
>
qw
=
buildWrapper
(
wp
);
EmployeeActivityPlanRecordDO
planDo
=
employeeActivityPlanRecordMapper
.
selectOne
(
qw
);
return
transitionDto
(
planDo
);
}
@Override
public
void
deleteById
(
Long
id
)
{
employeeActivityPlanRecordMapper
.
deleteByIdFake
(
id
);
}
private
LambdaQueryWrapper
<
EmployeeActivityPlanRecordDO
>
buildWrapper
(
ActivityPlanRecordWrapper
rWrapper
){
LambdaQueryWrapper
<
EmployeeActivityPlanRecordDO
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
Objects
.
nonNull
(
rWrapper
.
getId
())){
qw
.
eq
(
EmployeeActivityPlanRecordDO:
:
getId
,
rWrapper
.
getId
());
return
qw
;
}
if
(
Objects
.
nonNull
(
rWrapper
.
getEmployeeId
())){
qw
.
eq
(
EmployeeActivityPlanRecordDO:
:
getEmployeeId
,
rWrapper
.
getEmployeeId
());
}
if
(
StringUtils
.
isNotBlank
(
rWrapper
.
getActivityMonth
())){
qw
.
eq
(
EmployeeActivityPlanRecordDO:
:
getActivityMonth
,
rWrapper
.
getActivityMonth
());
}
qw
.
eq
(
EmployeeActivityPlanRecordDO:
:
getIsDelete
,
StatusType
.
VALID
.
getType
());
qw
.
orderByDesc
(
EmployeeActivityPlanRecordDO:
:
getId
);
return
qw
;
}
/**
* DO to DTO (单个对象)
* @param planRecordDos DO对象List
* @return DTO对象
*/
private
List
<
EmployeeActivityPlanRecordDto
>
transitionDtos
(
List
<
EmployeeActivityPlanRecordDO
>
planRecordDos
)
{
if
(
CollectionUtils
.
isEmpty
(
planRecordDos
))
{
return
new
ArrayList
<>();
}
List
<
EmployeeActivityPlanRecordDto
>
dtos
=
new
ArrayList
<>(
planRecordDos
.
size
()
*
2
);
for
(
EmployeeActivityPlanRecordDO
planRecordDo
:
planRecordDos
)
{
dtos
.
add
(
transitionDto
(
planRecordDo
));
}
return
dtos
;
}
private
EmployeeActivityPlanRecordDto
transitionDto
(
EmployeeActivityPlanRecordDO
planRecordDo
)
{
EmployeeActivityPlanRecordDto
dto
=
null
;
if
(
Objects
.
isNull
(
planRecordDo
))
{
return
dto
;
}
dto
=
new
EmployeeActivityPlanRecordDto
();
BeanUtils
.
copyProperties
(
planRecordDo
,
dto
);
return
dto
;
}
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/domain/manage/mapper/EmployeeActivityPlanInfoMapper.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
mapper
;
import
com.wangxiaolu.promotion.domain.manage.mapper.entity.EmployeeActivityPlanInfoDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author a02200059
* @description 针对表【employee_activity_plan_info】的数据库操作Mapper
* @createDate 2024-08-26 14:22:06
* @Entity com.wangxiaolu.promotion.domain.manage.mapper.entity.EmployeeActivityPlanInfoDO
*/
@Repository
@Mapper
public
interface
EmployeeActivityPlanInfoMapper
extends
BaseMapper
<
EmployeeActivityPlanInfoDO
>
{
void
saveList
(
@Param
(
"dos"
)
List
<
EmployeeActivityPlanInfoDO
>
dos
);
void
deletebyActivityPlanRecordId
(
Long
recordId
);
}
src/main/java/com/wangxiaolu/promotion/domain/manage/mapper/EmployeeActivityPlanRecordMapper.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
mapper
;
import
com.wangxiaolu.promotion.domain.manage.mapper.entity.EmployeeActivityPlanRecordDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【employee_activity_plan_record】的数据库操作Mapper
* @createDate 2024-08-20 13:38:48
* @Entity com.wangxiaolu.promotion.domain.employee.mapper.entity.EmployeeActivityPlanRecordDO
*/
@Repository
@Mapper
public
interface
EmployeeActivityPlanRecordMapper
extends
BaseMapper
<
EmployeeActivityPlanRecordDO
>
{
void
deleteByIdFake
(
Long
id
);
}
src/main/java/com/wangxiaolu/promotion/domain/manage/mapper/entity/EmployeeActivityPlanInfoDO.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
mapper
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
*
* @TableName employee_activity_plan_info
*/
@TableName
(
value
=
"employee_activity_plan_info"
)
@Data
public
class
EmployeeActivityPlanInfoDO
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 活动计划表上传记录id
*/
private
Long
activityPlanRecordId
;
/**
* 文件ID(云存储中的id)
*/
private
String
excelFiledId
;
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
/**
* 姓名
*/
private
String
employeeName
;
/**
* 员工工号
*/
private
String
employeeNo
;
/**
* 活动月份YYYY-MM
*/
private
String
activityMonth
;
/**
* 城市
*/
private
String
city
;
/**
* 经销商编码
*/
private
String
dealerId
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 店铺名称
*/
private
String
storeName
;
/**
* 活动模式
*/
private
String
activityPattern
;
/**
* 活动开始日期
*/
private
Date
activityStartDate
;
/**
* 活动结束日期
*/
private
Date
activityEndDate
;
/**
* 虎皮场次
*/
private
Integer
hupiCount
;
/**
* 去骨场次
*/
private
Integer
quguCount
;
/**
* 促销员上班时间
*/
private
String
temporaryOnTime
;
private
Date
createTime
;
private
Date
modifyTime
;
/**
* 1:open
* 0:close
*/
private
Integer
activityStatus
;
/**
* 1:有效;0:删除;
*/
private
Integer
isDelete
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/domain/manage/mapper/entity/EmployeeActivityPlanRecordDO.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
mapper
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.util.Date
;
import
lombok.Data
;
/**
*
* @TableName employee_activity_plan_record
*/
@TableName
(
value
=
"employee_activity_plan_record"
)
@Data
public
class
EmployeeActivityPlanRecordDO
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
/**
* 文件http地址
*/
private
String
excelUrl
;
/**
* 文件ID(云存储中的id)
*/
private
String
excelFiledId
;
/**
* 创建日期YYYY-MM-DD
*/
private
Date
createDate
;
/**
* 活动月份YYYY-MM
*/
private
String
activityMonth
;
/**
* 周的开始日期
*/
private
Date
monthStartDate
;
/**
* 周的结束日期
*/
private
Date
monthEndDate
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
modifyTime
;
/**
* 删除日期
*/
private
Date
deleteTime
;
/**
* 1:有效;0:删除;
*/
private
Integer
isDelete
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/domain/manage/wrapperQo/ActivityPlanInfoWrapper.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
wrapperQo
;
import
com.wangxiaolu.promotion.common.enums.StatusType
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2024-08-29 13
* @describe :
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
public
class
ActivityPlanInfoWrapper
{
/**
* 活动计划表上传记录id
*/
private
Long
activityPlanRecordId
;
/**
* 文件ID(云存储中的id)
*/
private
String
excelFiledId
;
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
/**
* 活动月份YYYY-MM
*/
private
String
activityMonth
;
/**
* 活动开始日期
*/
private
Date
activityStartDate
;
/**
* 城市
*/
private
String
city
;
/**
* 经销商编码
*/
private
String
dealerId
;
/**
* 店铺名称
*/
private
String
storeName
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 活动状态
*/
StatusType
activityStatus
;
List
<
Long
>
ids
;
Long
id
;
StatusType
activityStatusUpdate
;
}
src/main/java/com/wangxiaolu/promotion/domain/manage/wrapperQo/ActivityPlanRecordWrapper.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
manage
.
wrapperQo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* @author : liqiulin
* @date : 2024-08-21 14
* @describe :
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
public
class
ActivityPlanRecordWrapper
{
private
Long
id
;
private
Integer
employeeId
;
/**
* 文件ID(云存储中的id)
*/
private
String
excelFiledId
;
/**
* 活动月份YYYY-MM
*/
private
String
activityMonth
;
}
src/main/java/com/wangxiaolu/promotion/domain/user/dao/QinceDealerDao.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
dao
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author : liqiulin
* @date : 2024-08-27 19
* @describe :
*/
public
interface
QinceDealerDao
{
void
saveList
(
List
<
Object
>
dealerJsons
);
void
page
(
PageInfo
pageInfo
);
Map
<
Object
,
Object
>
selectAll
();
}
src/main/java/com/wangxiaolu/promotion/domain/user/dao/impl/QinceDealerDaoImpl.java
0 → 100644
浏览文件 @
6d88d8d4
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.user.dao.QinceDealerDao
;
import
com.wangxiaolu.promotion.domain.user.mapper.QinceDealerMapper
;
import
com.wangxiaolu.promotion.domain.user.mapper.entity.QinceDealerDO
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.rmi.server.ObjID
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2024-08-27 19
* @describe :
*/
@Slf4j
@Service
public
class
QinceDealerDaoImpl
implements
QinceDealerDao
{
@Autowired
QinceDealerMapper
qinceDealerMapper
;
@Override
public
void
saveList
(
List
<
Object
>
dealerJsons
)
{
// 目前没有查重逻辑,只在前边判断逻辑中进行新增
qinceDealerMapper
.
saveList
(
dealerJsons
);
log
.
info
(
"勤策同步经销商,新增数量:{}"
,
dealerJsons
.
size
());
}
@Override
public
void
page
(
PageInfo
pageInfo
)
{
Map
queryParams
=
pageInfo
.
getQueryParams
();
LambdaQueryWrapper
<
QinceDealerDO
>
qw
=
new
LambdaQueryWrapper
<>();
if
(!
CollectionUtils
.
isEmpty
(
queryParams
))
{
if
(
StringUtils
.
isNotBlank
((
String
)
queryParams
.
get
(
"dealerId"
)))
{
qw
.
eq
(
QinceDealerDO:
:
getDealerId
,
queryParams
.
get
(
"dealerId"
));
}
if
(
StringUtils
.
isNotBlank
((
String
)
queryParams
.
get
(
"dealerName"
)))
{
qw
.
like
(
QinceDealerDO:
:
getDealerName
,
queryParams
.
get
(
"dealerName"
));
}
}
qw
.
select
(
QinceDealerDO:
:
getDealerId
,
QinceDealerDO:
:
getDealerName
);
Page
<
QinceDealerDO
>
page
=
new
Page
<>(
pageInfo
.
getPageNum
(),
pageInfo
.
getPageSize
());
Page
<
QinceDealerDO
>
doPage
=
qinceDealerMapper
.
selectPage
(
page
,
qw
);
pageInfo
.
pageCovert
(
page
);
pageInfo
.
setRecords
(
doPage
.
getRecords
());
}
@Override
public
Map
<
Object
,
Object
>
selectAll
()
{
List
<
QinceDealerDO
>
qinceDealerDOS
=
qinceDealerMapper
.
selectList
(
null
);
Map
<
Object
,
Object
>
maps
=
new
HashMap
<>(
qinceDealerDOS
.
size
()*
2
);
qinceDealerDOS
.
forEach
(
qinceDealerDO
->
{
maps
.
put
(
qinceDealerDO
.
getDealerId
(),
qinceDealerDO
.
getDealerName
());
});
return
maps
;
}
}
src/main/java/com/wangxiaolu/promotion/domain/user/mapper/QinceDealerMapper.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
mapper
;
import
com.wangxiaolu.promotion.domain.user.mapper.entity.QinceDealerDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STRowID
;
import
org.springframework.stereotype.Repository
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author a02200059
* @description 针对表【qince_dealer】的数据库操作Mapper
* @createDate 2024-08-27 18:59:50
* @Entity com.wangxiaolu.promotion.domain.user.mapper.entity.QinceDealerDO
*/
@Repository
@Mapper
public
interface
QinceDealerMapper
extends
BaseMapper
<
QinceDealerDO
>
{
void
saveList
(
@Param
(
"dealerJsons"
)
List
<
Object
>
dealerJsons
);
}
src/main/java/com/wangxiaolu/promotion/domain/user/mapper/entity/QinceDealerDO.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
mapper
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.util.Date
;
import
lombok.Data
;
/**
*
* @TableName qince_dealer
*/
@TableName
(
value
=
"qince_dealer"
)
@Data
public
class
QinceDealerDO
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 经销商编码
*/
private
String
dealerId
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 合作状态。0:终止合作,1:合作中,2:未合作,3:有意向
*/
private
String
dealerCooperateStatus
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/pojo/activity/manage/dto/EmployeeActivityPlanInfoDto.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
manage
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
*
* @TableName employee_activity_plan_info
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors
(
chain
=
true
)
public
class
EmployeeActivityPlanInfoDto
implements
Serializable
{
/**
* 主键id
*/
private
Long
id
;
private
List
<
Long
>
ids
;
/**
* 活动计划表上传记录id
*/
private
Long
activityPlanRecordId
;
/**
* 文件ID(云存储中的id)
*/
private
String
excelFiledId
;
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
/**
* 姓名
*/
private
String
employeeName
;
/**
* 员工工号
*/
private
String
employeeNo
;
/**
* 活动月份YYYY-MM
*/
private
String
activityMonth
;
/**
* 城市
*/
private
String
city
;
/**
* 经销商编码
*/
private
String
dealerId
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 店铺名称
*/
private
String
storeName
;
/**
* 活动模式
*/
private
String
activityPattern
;
/**
* 活动开始日期
*/
private
Date
activityStartDate
;
/**
* 活动结束日期
*/
private
Date
activityEndDate
;
/**
* 虎皮场次
*/
private
Integer
hupiCount
;
/**
* 去骨场次
*/
private
Integer
quguCount
;
/**
* 促销员上班时间
*/
private
String
temporaryOnTime
;
private
Integer
activityStatus
;
/**
* 1:有效;0:删除;
*/
private
Integer
isDelete
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/pojo/activity/manage/dto/EmployeeActivityPlanRecordDto.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
manage
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors
(
chain
=
true
)
public
class
EmployeeActivityPlanRecordDto
implements
Serializable
{
/**
* 主键id
*/
private
Long
id
;
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
/**
* 文件http地址
*/
private
String
excelUrl
;
/**
* 文件ID(云存储中的id)
*/
private
String
excelFiledId
;
/**
* 创建日期YYYY-MM-DD
*/
private
Date
createDate
;
/**
* 活动月份YYYY-MM
*/
private
String
activityMonth
;
/**
* 月结束日期
*/
private
Date
monthStartDate
;
/**
* 月结束日期
*/
private
Date
monthEndDate
;
/**
* 创建时间
*/
private
Date
createTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/pojo/activity/manage/vo/ActivityPlanInfoVo.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
manage
.
vo
;
import
com.wangxiaolu.promotion.common.enums.StatusType
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2024-09-02 18
* @describe :
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors
(
chain
=
true
)
public
class
ActivityPlanInfoVo
{
List
<
Long
>
ids
;
Long
id
;
StatusType
activityStatusUpdate
;
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/manage/vo/ActivityPlanVo.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
manage
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* @author : liqiulin
* @date : 2024-08-20 14
* @describe : 文件上传Vo
* 目前用于活动计划表上传接口
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors
(
chain
=
true
)
public
class
ActivityPlanVo
{
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
private
String
employeeNo
;
private
String
employeeName
;
private
String
deptQcId
;
private
String
deptQcName
;
/**
* 文件http地址
*/
private
String
excelUrl
;
/**
* 活动月份YYYY-MM
*/
private
String
activityMonth
;
/**
* 月份第几周
*/
// private Integer monthWeekNumber;
/**
* 月结束日期
*/
private
Date
monthStartDate
;
/**
* 月结束日期
*/
private
Date
monthEndDate
;
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/
employee/vo/ApproveVO
.java
→
src/main/java/com/wangxiaolu/promotion/pojo/activity/
manage/vo/ApproveVo
.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
employe
e
.
vo
;
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
manag
e
.
vo
;
import
com.wangxiaolu.promotion.enums.activity.TemActApproveStatus
;
import
lombok.AllArgsConstructor
;
...
...
@@ -13,7 +13,7 @@ import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ApproveV
O
{
public
class
ApproveV
o
{
/**
* 审批状态
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/
employe
e/vo/ClockVo.java
→
src/main/java/com/wangxiaolu/promotion/pojo/activity/
manag
e/vo/ClockVo.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
employe
e
.
vo
;
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
manag
e
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/
employe
e/vo/TemporaryInfoVo.java
→
src/main/java/com/wangxiaolu/promotion/pojo/activity/
manag
e/vo/TemporaryInfoVo.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
employe
e
.
vo
;
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
manag
e
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
src/main/java/com/wangxiaolu/promotion/pojo/user/dto/PromotionManageEmployeeDto.java
浏览文件 @
6d88d8d4
...
...
@@ -36,7 +36,12 @@ public class PromotionManageEmployeeDto {
private
String
employeeNo
;
/**
*
密码
*
部门信息-勤策部门id,关联部门表qc_id字段
*/
private
String
passwork
;
private
String
deptQcId
;
/**
* 部门信息-勤策部门名称
*/
private
String
deptQcName
;
}
src/main/java/com/wangxiaolu/promotion/service/activity/manage/ActivityPlanInfoCoreService.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manage
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanInfoVo
;
/**
* @author : liqiulin
* @date : 2024-09-02 18
* @describe :
*/
public
interface
ActivityPlanInfoCoreService
{
void
updateActivityInfo
(
ActivityPlanInfoVo
activityPlanInfoVo
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/manage/ActivityPlanInfoQueryService.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manage
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
/**
* @author : liqiulin
* @date : 2024-09-03 11
* @describe :
*/
public
interface
ActivityPlanInfoQueryService
{
void
findActivityPlanInfoPage
(
PageInfo
pageInfo
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/manage/ActivityPlanRecordCoreService.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manage
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanRecordDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
/**
* @author : liqiulin
* @date : 2024-08-21 13
* @describe :
*/
public
interface
ActivityPlanRecordCoreService
{
void
saveActivityPlan
(
EmployeeActivityPlanRecordDto
planDto
,
ActivityPlanVo
activityPlanVo
)
throws
Exception
;
void
deleteById
(
Long
id
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/manage/ActivityPlanRecordQueryService.java
0 → 100644
浏览文件 @
6d88d8d4
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.dto.EmployeeActivityPlanRecordDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2024-08-21 14
* @describe :
*/
public
interface
ActivityPlanRecordQueryService
{
void
findActivityPlanRecordPage
(
PageInfo
pageInfo
);
EmployeeActivityPlanRecordDto
findActivityPlanRecord
(
ActivityPlanVo
activityPlanVo
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/EmpPromotionStoreQueryService.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/EmpPromotionStoreQueryService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/EmployeeCoreTemActivityService.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/EmployeeCoreTemActivityService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.activity.
employee.vo.ApproveVO
;
import
com.wangxiaolu.promotion.pojo.activity.
manage.vo.ApproveVo
;
/**
* @author : liqiulin
...
...
@@ -8,7 +8,7 @@ import com.wangxiaolu.promotion.pojo.activity.employee.vo.ApproveVO;
* @describe :
*/
public
interface
EmployeeCoreTemActivityService
{
void
approveActivity
(
long
reportedId
,
ApproveV
O
approveVO
);
void
approveActivity
(
long
reportedId
,
ApproveV
o
approveVO
);
void
deleteById
(
long
id
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/EmployeeCoreTemClockService.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/EmployeeCoreTemClockService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/EmployeeCoreTemporaryInfoService.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/EmployeeCoreTemporaryInfoService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/EmployeeQueryTemActivityService.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/EmployeeQueryTemActivityService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/EmployeeQueryTemClockService.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/EmployeeQueryTemClockService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/EmployeeQueryTemporaryInfoService.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/EmployeeQueryTemporaryInfoService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/manage/impl/ActivityPlanInfoCoreServiceImpl.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manage
.
impl
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanInfoWrapper
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanInfoVo
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanInfoCoreService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-09-02 18
* @describe :
*/
@Service
public
class
ActivityPlanInfoCoreServiceImpl
implements
ActivityPlanInfoCoreService
{
@Autowired
EmployeeActivityPlanInfoDao
employeeActivityPlanInfoDao
;
@Override
public
void
updateActivityInfo
(
ActivityPlanInfoVo
activityPlanInfoVo
)
{
ActivityPlanInfoWrapper
wrap
=
new
ActivityPlanInfoWrapper
();
wrap
.
setIds
(
activityPlanInfoVo
.
getIds
()).
setId
(
activityPlanInfoVo
.
getId
()).
setActivityStatusUpdate
(
activityPlanInfoVo
.
getActivityStatusUpdate
());
employeeActivityPlanInfoDao
.
update
(
wrap
);
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/manage/impl/ActivityPlanInfoQueryServiceImpl.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manage
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanInfoWrapper
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanInfoQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-09-03 11
* @describe :
*/
@Service
public
class
ActivityPlanInfoQueryServiceImpl
implements
ActivityPlanInfoQueryService
{
@Autowired
EmployeeActivityPlanInfoDao
employeeActivityPlanInfoDao
;
@Override
public
void
findActivityPlanInfoPage
(
PageInfo
pageInfo
)
{
ActivityPlanInfoWrapper
wrapper
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
pageInfo
.
getQueryParams
()),
ActivityPlanInfoWrapper
.
class
);
employeeActivityPlanInfoDao
.
page
(
pageInfo
,
wrapper
);
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/manage/impl/ActivityPlanRecordCoreServiceImpl.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manage
.
impl
;
import
com.wangxiaolu.promotion.common.excel.ReadExcelUtils
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanRecordDao
;
import
com.wangxiaolu.promotion.exception.DataException
;
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.vo.ActivityPlanVo
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanRecordCoreService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.io.FileOutputStream
;
import
java.io.InputStream
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.util.*
;
/**
* @author : liqiulin
* @date : 2024-08-21 13
* @describe :
*/
@Service
public
class
ActivityPlanRecordCoreServiceImpl
implements
ActivityPlanRecordCoreService
{
@Autowired
RedisCache
redisCache
;
@Autowired
EmployeeActivityPlanRecordDao
employeeActivityPlanRecordDao
;
@Autowired
EmployeeActivityPlanInfoDao
employeeActivityPlanInfoDao
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveActivityPlan
(
EmployeeActivityPlanRecordDto
planDto
,
ActivityPlanVo
activityPlanVo
)
throws
Exception
{
// 保存上传记录
Long
planRecordId
=
employeeActivityPlanRecordDao
.
save
(
planDto
);
// Long planRecordId = 37L;
planDto
.
setId
(
planRecordId
);
// 解析excel表是否符合规范、保存
saveActivityPlanInfo
(
activityPlanVo
,
planDto
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
deleteById
(
Long
id
)
{
employeeActivityPlanRecordDao
.
deleteById
(
id
);
employeeActivityPlanInfoDao
.
deletebyActivityPlanRecordId
(
id
);
}
private
void
saveActivityPlanInfo
(
ActivityPlanVo
activityPlanVo
,
EmployeeActivityPlanRecordDto
planDto
)
throws
Exception
{
// 下载
String
filePath
=
"./activity_plan/"
+
activityPlanVo
.
getEmployeeNo
()
+
"/"
+
planDto
.
getExcelFiledId
();
downloadExcel
(
activityPlanVo
.
getExcelUrl
(),
filePath
);
// 读取
List
<
EmployeeActivityPlanInfoDto
>
planInfoDtos
=
readSheet0
(
filePath
,
activityPlanVo
,
planDto
);
// 保存
employeeActivityPlanInfoDao
.
saveList
(
planInfoDtos
);
}
private
void
downloadExcel
(
String
urlStr
,
String
filePath
)
throws
Exception
{
// 保存文件
URL
url
=
new
URL
(
urlStr
);
URLConnection
urlConnection
=
url
.
openConnection
();
InputStream
inputStream
=
urlConnection
.
getInputStream
();
FileOutputStream
fileOutputStream
=
new
FileOutputStream
(
filePath
);
// 调大小
byte
[]
buffer
=
new
byte
[
102400
];
int
bytesRead
;
while
((
bytesRead
=
inputStream
.
read
(
buffer
))
!=
-
1
)
{
fileOutputStream
.
write
(
buffer
,
0
,
bytesRead
);
}
fileOutputStream
.
close
();
inputStream
.
close
();
}
private
List
<
EmployeeActivityPlanInfoDto
>
readSheet0
(
String
filePath
,
ActivityPlanVo
activityPlanVo
,
EmployeeActivityPlanRecordDto
planDto
)
throws
Exception
{
// 1、解析表格数据
ReadExcelUtils
readExcelUtils
=
new
ReadExcelUtils
(
filePath
);
Map
<
Integer
,
List
<
Object
>>
rows
=
readExcelUtils
.
readContent
();
if
(
rows
.
size
()
<=
0
)
{
throw
new
DataException
(
RCode
.
API_DATA_ERROR
);
}
Map
<
Object
,
Object
>
dealers
=
redisCache
.
getAllHash
(
RedisKeys
.
UserKeys
.
DEALER_HAVE_LIST
.
getKey
());
// 2、校验数据准确性
verifyRow
(
rows
,
dealers
);
/**
* 3、保存入库
*/
List
<
EmployeeActivityPlanInfoDto
>
planInfoDtos
=
new
ArrayList
<>(
rows
.
size
()
*
2
);
for
(
Map
.
Entry
<
Integer
,
List
<
Object
>>
entry
:
rows
.
entrySet
())
{
List
<
Object
>
value
=
entry
.
getValue
();
EmployeeActivityPlanInfoDto
planInfoDto
=
new
EmployeeActivityPlanInfoDto
()
.
setActivityPlanRecordId
(
planDto
.
getId
())
.
setExcelFiledId
(
planDto
.
getExcelFiledId
())
.
setEmployeeId
(
activityPlanVo
.
getEmployeeId
())
.
setEmployeeName
(
activityPlanVo
.
getEmployeeName
())
.
setEmployeeNo
(
activityPlanVo
.
getEmployeeNo
())
.
setActivityMonth
(
planDto
.
getActivityMonth
())
.
setCity
((
String
)
value
.
get
(
0
))
.
setDealerId
((
String
)
value
.
get
(
1
))
.
setDealerName
((
String
)
dealers
.
get
(
value
.
get
(
1
)))
.
setLineName
((
String
)
value
.
get
(
2
))
.
setStoreName
((
String
)
value
.
get
(
3
))
.
setActivityPattern
((
String
)
value
.
get
(
4
))
.
setActivityStartDate
((
Date
)
value
.
get
(
5
))
.
setActivityEndDate
((
Date
)
value
.
get
(
6
))
.
setHupiCount
(
Integer
.
parseInt
(
StringUtils
.
isBlank
((
String
)
value
.
get
(
7
))
?
"0"
:
(
String
)
value
.
get
(
7
)))
.
setQuguCount
(
Integer
.
parseInt
(
StringUtils
.
isBlank
((
String
)
value
.
get
(
8
))
?
"0"
:
(
String
)
value
.
get
(
8
)))
.
setTemporaryOnTime
((
String
)
value
.
get
(
9
));
planInfoDtos
.
add
(
planInfoDto
);
}
return
planInfoDtos
;
}
/**
* 校验数据是否规范
*/
private
void
verifyRow
(
Map
<
Integer
,
List
<
Object
>>
rows
,
Map
<
Object
,
Object
>
dealers
)
throws
Exception
{
for
(
Map
.
Entry
<
Integer
,
List
<
Object
>>
entry
:
rows
.
entrySet
())
{
Integer
rowNo
=
entry
.
getKey
()+
1
;
List
<
Object
>
value
=
entry
.
getValue
();
System
.
out
.
println
(
value
);
String
city
=
(
String
)
value
.
get
(
0
);
if
(
StringUtils
.
isBlank
(
city
))
{
throw
new
DataException
(
"第"
+
rowNo
+
"行 - 城市不可为空"
);
}
String
dealerId
=
(
String
)
value
.
get
(
1
);
if
(!
dealers
.
containsKey
(
dealerId
.
trim
()))
{
throw
new
DataException
(
"第"
+
rowNo
+
"行 - 经销商编码错误"
);
}
String
lineName
=
(
String
)
value
.
get
(
2
);
if
(
StringUtils
.
isBlank
(
lineName
))
{
throw
new
DataException
(
"第"
+
rowNo
+
"行 - 系统名称为空"
);
}
String
storeName
=
(
String
)
value
.
get
(
3
);
if
(
StringUtils
.
isBlank
(
storeName
))
{
throw
new
DataException
(
"第"
+
rowNo
+
"行 - 店铺名称为空"
);
}
String
pattern
=
(
String
)
value
.
get
(
4
);
if
(
StringUtils
.
isBlank
(
pattern
))
{
throw
new
DataException
(
"第"
+
rowNo
+
"行 - 活动模式为空"
);
}
Object
activityStartDateO
=
value
.
get
(
5
);
if
(
StringUtils
.
isBlank
(
activityStartDateO
.
toString
())
||
!(
activityStartDateO
instanceof
Date
))
{
throw
new
DataException
(
"第"
+
rowNo
+
"行 - 活动开始时间为空或格式错误(请将【开始日期】【结束日期】两列设置为时间格式)"
);
}
Object
activityENDDateO
=
value
.
get
(
6
);
if
(
StringUtils
.
isBlank
(
activityENDDateO
.
toString
())
||
!(
activityENDDateO
instanceof
Date
))
{
throw
new
DataException
(
"第"
+
rowNo
+
"行 - 活动结束时间为空或格式错误(请将【开始日期】【结束日期】两列设置为时间格式)"
);
}
}
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/manage/impl/ActivityPlanRecordQueryServiceImpl.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manage
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanRecordDao
;
import
com.wangxiaolu.promotion.domain.manage.wrapperQo.ActivityPlanRecordWrapper
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanRecordDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ActivityPlanVo
;
import
com.wangxiaolu.promotion.service.activity.manage.ActivityPlanRecordQueryService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-08-21 14
* @describe :
*/
@Service
public
class
ActivityPlanRecordQueryServiceImpl
implements
ActivityPlanRecordQueryService
{
@Autowired
EmployeeActivityPlanRecordDao
employeeActivityPlanRecordDao
;
@Override
public
void
findActivityPlanRecordPage
(
PageInfo
pageInfo
)
{
ActivityPlanRecordWrapper
wrap
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
pageInfo
.
getQueryParams
()),
ActivityPlanRecordWrapper
.
class
);
employeeActivityPlanRecordDao
.
selectPage
(
wrap
,
pageInfo
);
}
@Override
public
EmployeeActivityPlanRecordDto
findActivityPlanRecord
(
ActivityPlanVo
activityPlanVo
)
{
ActivityPlanRecordWrapper
wp
=
new
ActivityPlanRecordWrapper
();
BeanUtils
.
copyProperties
(
activityPlanVo
,
wp
);
return
employeeActivityPlanRecordDao
.
selectOne
(
wp
);
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/impl/EmpPromotionStoreQueryServiceImpl.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/impl/EmpPromotionStoreQueryServiceImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
.
impl
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.domain.activity.dao.PromotionStoreDao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.PromotionStoreWrapper
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmpPromotionStoreQueryService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmpPromotionStoreQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/impl/EmployeeCoreTemActivityServiceImpl.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/impl/EmployeeCoreTemActivityServiceImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
.
impl
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
.
impl
;
import
com.wangxiaolu.promotion.common.enums.StatusType
;
import
com.wangxiaolu.promotion.domain.activity.dao.*
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper
;
import
com.wangxiaolu.promotion.enums.activity.LogType
;
import
com.wangxiaolu.promotion.enums.activity.TemActApproveStatus
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.activity.employee.vo.ApproveVO
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.activity.manage.vo.ApproveVo
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeCoreTemActivityService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeCoreTemActivityService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -43,7 +40,7 @@ public class EmployeeCoreTemActivityServiceImpl implements EmployeeCoreTemActivi
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
approveActivity
(
long
reportedId
,
ApproveV
O
approveVO
)
{
public
void
approveActivity
(
long
reportedId
,
ApproveV
o
approveVO
)
{
TemporaryActivityReportedDto
reportedDto
=
temporaryActivityReportedDao
.
findOneById
(
reportedId
);
if
(
Objects
.
isNull
(
reportedDto
))
{
throw
new
ParamException
(
RCode
.
DATA_NOT_HAVE_ERROR
,
null
);
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/impl/EmployeeCoreTemClockServiceImpl.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/impl/EmployeeCoreTemClockServiceImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
.
impl
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
.
impl
;
import
com.wangxiaolu.promotion.common.enums.StatusType
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityReportedDao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeCoreTemClockService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeCoreTemClockService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/impl/EmployeeCoreTemporaryInfoServiceImpl.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/impl/EmployeeCoreTemporaryInfoServiceImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
.
impl
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
.
impl
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeCoreTemporaryInfoService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeCoreTemporaryInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/impl/EmployeeQueryTemActivityServiceImpl.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/impl/EmployeeQueryTemActivityServiceImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
.
impl
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao
;
...
...
@@ -12,8 +12,7 @@ import com.wangxiaolu.promotion.pojo.PageInfo;
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.TemporaryClockDto
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.service.activity.employee.EmployeeQueryTemActivityService
;
import
com.wangxiaolu.promotion.service.activity.manage.EmployeeQueryTemActivityService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/impl/EmployeeQueryTemClockServiceImpl.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/impl/EmployeeQueryTemClockServiceImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
.
impl
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeQueryTemClockService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeQueryTemClockService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/
employe
e/impl/EmployeeQueryTemporaryInfoServiceImpl.java
→
src/main/java/com/wangxiaolu/promotion/service/activity/
manag
e/impl/EmployeeQueryTemporaryInfoServiceImpl.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
employe
e
.
impl
;
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
manag
e
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.domain.user.wrapperQo.TemporaryWrapper
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.service.activity.
employe
e.EmployeeQueryTemporaryInfoService
;
import
com.wangxiaolu.promotion.service.activity.
manag
e.EmployeeQueryTemporaryInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/wangxiaolu/promotion/service/user/QinCeDataTaskService.java
浏览文件 @
6d88d8d4
...
...
@@ -16,4 +16,5 @@ public interface QinCeDataTaskService {
void
productAllTask
();
void
productDealers
();
}
src/main/java/com/wangxiaolu/promotion/service/user/QinCeDealerQueryService.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
user
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
/**
* @author : liqiulin
* @date : 2024-09-02 13
* @describe :
*/
public
interface
QinCeDealerQueryService
{
void
page
(
PageInfo
pageInfo
);
}
src/main/java/com/wangxiaolu/promotion/service/user/WangxlEmployeeQueryService.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
user
;
import
com.wangxiaolu.promotion.pojo.user.vo.LoginVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam
;
/**
...
...
@@ -9,5 +10,5 @@ import com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam;
*/
public
interface
WangxlEmployeeQueryService
{
String
employeeLoginVerify
(
UserLoginParam
userLoginParam
);
LoginVo
employeeLoginVerify
(
UserLoginParam
userLoginParam
);
}
src/main/java/com/wangxiaolu/promotion/service/user/impl/QinCeDataTaskServiceImpl.java
浏览文件 @
6d88d8d4
...
...
@@ -2,16 +2,21 @@ package com.wangxiaolu.promotion.service.user.impl;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
import
com.wangxiaolu.promotion.domain.activity.dao.PromotionStoreDao
;
import
com.wangxiaolu.promotion.domain.user.dao.*
;
import
com.wangxiaolu.promotion.service.user.QinCeDataTaskService
;
import
com.wangxiaolu.promotion.utils.OkHttp
;
import
com.wangxiaolu.promotion.utils.QinCeUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.
Map
;
import
java.util.
*
;
/**
* @author : liqiulin
...
...
@@ -22,6 +27,8 @@ import java.util.Map;
@Service
public
class
QinCeDataTaskServiceImpl
implements
QinCeDataTaskService
{
@Autowired
RedisCache
redisCache
;
@Autowired
QinCeUtils
qinCeUtils
;
@Autowired
...
...
@@ -36,6 +43,8 @@ public class QinCeDataTaskServiceImpl implements QinCeDataTaskService {
QinceProductInfoDao
qinceProductInfoDao
;
@Autowired
PromotionStoreDao
promotionStoreDao
;
@Autowired
QinceDealerDao
qinceDealerDao
;
@Override
public
void
departmentSyncTask
()
{
...
...
@@ -108,6 +117,65 @@ public class QinCeDataTaskServiceImpl implements QinCeDataTaskService {
qinceProductInfoDao
.
productSyncTask
(
responseDatas
);
}
/**
* 同步经销商
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
productDealers
()
{
Set
<
Object
>
dealerIdsR
=
redisCache
.
getHashKeys
(
RedisKeys
.
UserKeys
.
DEALER_HAVE_LIST
.
getKey
());
if
(
CollectionUtils
.
isEmpty
(
dealerIdsR
)){
// 将数据库中的经销商保存到redis中
Map
<
Object
,
Object
>
dealers
=
qinceDealerDao
.
selectAll
();
dealerIdsR
=
dealers
.
keySet
();
redisCache
.
putAllHash
(
RedisKeys
.
UserKeys
.
DEALER_HAVE_LIST
.
getKey
(),
dealers
);
}
int
i
=
0
;
boolean
nextPage
=
true
;
while
(
nextPage
)
{
i
++;
nextPage
=
booleanDealersPage
(
i
,
dealerIdsR
);
}
}
private
boolean
booleanDealersPage
(
Integer
pageNum
,
Set
<
Object
>
dealerIdsR
){
Map
<
String
,
Object
>
params
=
qinCeUtils
.
queryDealerParam
(
pageNum
);
String
url
=
qinCeUtils
.
builderUrl
(
QinCeUtils
.
QUERY_DEALER
,
params
);
JSONObject
resultJson
=
OkHttp
.
postQC
(
url
,
params
);
JSONArray
responseDatas
=
resultJson
.
getJSONArray
(
"response_data"
);
log
.
info
(
"勤策-查询一周内修改过的经销商,第{}页数据「{}」条"
,
pageNum
,
responseDatas
.
size
());
if
(
responseDatas
.
size
()
<=
0
)
{
return
false
;
}
List
<
Object
>
dealerJsons
=
new
ArrayList
<>(
1500
);
Map
<
Object
,
Object
>
dealers
=
new
HashMap
<>(
1500
);
for
(
int
index
=
0
;
index
<
responseDatas
.
size
();
index
++)
{
JSONObject
jsonObject
=
responseDatas
.
getJSONObject
(
index
);
String
dealerId
=
jsonObject
.
getString
(
"dealer_id"
);
if
(
StringUtils
.
isBlank
(
dealerId
)||
(
dealerId
.
length
()
!=
6
)
||
dealerIdsR
.
contains
(
dealerId
)){
continue
;
}
dealerJsons
.
add
(
jsonObject
);
dealers
.
put
(
dealerId
,
jsonObject
.
getString
(
"dealer_name"
));
}
// 未新增数据不保存
if
(
CollectionUtils
.
isEmpty
(
dealerJsons
)){
return
true
;
}
log
.
info
(
"勤策-同步一周内修改过的经销商,第{}页数据「{}」条"
,
pageNum
,
dealerJsons
.
size
());
qinceDealerDao
.
saveList
(
dealerJsons
);
redisCache
.
putAllHash
(
RedisKeys
.
UserKeys
.
DEALER_HAVE_LIST
.
getKey
(),
dealers
);
return
true
;
}
private
boolean
booleanshopDetailPage
(
Integer
pageNum
)
{
// 查找一周内修改或新增的数据
Map
<
String
,
Object
>
params
=
qinCeUtils
.
queryShopParam
(
pageNum
);
...
...
@@ -117,11 +185,11 @@ public class QinCeDataTaskServiceImpl implements QinCeDataTaskService {
JSONObject
resultJson
=
OkHttp
.
postQC
(
url
,
params
);
JSONArray
responseDatas
=
resultJson
.
getJSONArray
(
"response_data"
);
if
(
responseDatas
.
size
()
<=
0
)
{
log
.
error
(
"勤策-同步一周内修改过的终端store数据,未查询到数据"
);
log
.
info
(
"勤策-同步一周内修改过的终端store数据,第{}页未查询到数据"
,
pageNum
);
return
false
;
}
log
.
info
(
"勤策-同步一周内修改过的终端store数据,
查询到
第{}页数据「{}」条"
,
pageNum
,
responseDatas
.
size
());
log
.
info
(
"勤策-同步一周内修改过的终端store数据,第{}页数据「{}」条"
,
pageNum
,
responseDatas
.
size
());
qinCeClienteleShopDao
.
shopDetailAllTask
(
responseDatas
);
promotionStoreDao
.
qinceShopDetailAllTask
(
responseDatas
);
return
true
;
...
...
src/main/java/com/wangxiaolu/promotion/service/user/impl/QinCeDealerQueryServiceImpl.java
0 → 100644
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
service
.
user
.
impl
;
import
com.wangxiaolu.promotion.domain.user.dao.QinceDealerDao
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.service.user.QinCeDealerQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-09-02 13
* @describe :
*/
@Service
public
class
QinCeDealerQueryServiceImpl
implements
QinCeDealerQueryService
{
@Autowired
QinceDealerDao
qinceDealerDao
;
@Override
public
void
page
(
PageInfo
pageInfo
)
{
qinceDealerDao
.
page
(
pageInfo
);
}
}
src/main/java/com/wangxiaolu/promotion/service/user/impl/WangxlEmployeeQueryServiceImpl.java
浏览文件 @
6d88d8d4
...
...
@@ -7,6 +7,7 @@ import com.wangxiaolu.promotion.common.util.MD5Utils;
import
com.wangxiaolu.promotion.domain.activity.dao.PromotionManageEmployeeDao
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto
;
import
com.wangxiaolu.promotion.pojo.user.vo.LoginVo
;
import
com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.user.WangxlEmployeeQueryService
;
...
...
@@ -33,19 +34,14 @@ public class WangxlEmployeeQueryServiceImpl implements WangxlEmployeeQueryServic
@Override
public
String
employeeLoginVerify
(
UserLoginParam
userLoginParam
)
{
PromotionManageEmployeeDto
employeeDto
=
promotionManageEmployeeDao
.
selectOneByEmployeeNo
(
userLoginParam
.
getLoginName
());
if
(
Objects
.
isNull
(
employeeDto
)){
throw
new
ParamException
(
RCode
.
LOGIN_PARAM_ERROR
,
null
);
}
if
(!
MD5Utils
.
getSaltverifyMD5
(
userLoginParam
.
getPassword
(),
employeeDto
.
getPasswork
())){
throw
new
ParamException
(
RCode
.
LOGIN_PASSWORD_ERROR
,
null
);
}
log
.
info
(
"促销员管理后台登录成功,工号:{}"
,
userLoginParam
.
getLoginName
());
public
LoginVo
employeeLoginVerify
(
UserLoginParam
userLoginParam
)
{
PromotionManageEmployeeDto
employeeDto
=
promotionManageEmployeeDao
.
loginByEmployeeNo
(
userLoginParam
.
getLoginName
(),
userLoginParam
.
getPassword
());
String
loginToken
=
jwtUtils
.
getEmployeeToken
(
userLoginParam
.
getLoginName
(),
userLoginParam
.
getPassword
());
redisCache
.
addToJsonToMinute
(
RedisKeys
.
UserKeys
.
TEMPORARY_TOKEN
.
getKey
()+
loginToken
,
employeeDto
,
360
);
return
loginToken
;
LoginVo
loginVo
=
new
LoginVo
<>(
employeeDto
,
loginToken
);
return
loginVo
;
}
}
src/main/java/com/wangxiaolu/promotion/utils/QinCeUtils.java
浏览文件 @
6d88d8d4
...
...
@@ -48,6 +48,8 @@ public class QinCeUtils {
public
static
final
String
QUERY_PRODUCT_PD_TYPE
=
"/api/product/v1/queryPdType/"
;
// 商品列表
public
static
final
String
QUERY_PRODUCT
=
"/api/product/v1/queryProduct/"
;
// 经销商
public
static
final
String
QUERY_DEALER
=
"/api/dealer/v1/queryDealer/"
;
public
String
builderUrl
(
String
sidepath
,
Map
<
String
,
Object
>
params
)
{
String
msgId
=
UUID
.
randomUUID
().
toString
();
...
...
@@ -82,13 +84,8 @@ public class QinCeUtils {
*/
public
Map
<
String
,
Object
>
queryOrgParam
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"id"
,
""
);
params
.
put
(
"org_id"
,
""
);
params
.
put
(
"org_code"
,
""
);
params
.
put
(
"org_name"
,
""
);
params
.
put
(
"org_status"
,
""
);
params
.
put
(
"create_date"
,
""
);
params
.
put
(
"modify_date"
,
""
);
DateTime
dateTime
=
DateUtil
.
offsetDay
(
new
Date
(),
-
1
);
params
.
put
(
"modify_date"
,
DateUtil
.
format
(
dateTime
,
DatePattern
.
NORM_DATE_PATTERN
));
return
params
;
}
...
...
@@ -101,23 +98,8 @@ public class QinCeUtils {
if
(
queryId
)
{
params
.
put
(
"id"
,
""
);
}
// 根据来源第三方系统的员工唯一标识精确查询,id、emp_id如果同时存在优先取id
params
.
put
(
"emp_id"
,
""
);
// 根据员工登录帐号精确查询
params
.
put
(
"emp_code"
,
""
);
// 根据姓名模糊查询
params
.
put
(
"emp_name"
,
""
);
// 根据人员编码精确查询
params
.
put
(
"employee_code"
,
""
);
// 根据员工状态查询
params
.
put
(
"emp_status"
,
""
);
// 根据创建日期查询用户。格式:yyyy-MM-dd
params
.
put
(
"create_date"
,
""
);
// 根据修改日期查询用户。格式:yyyy-MM-dd
params
.
put
(
"modify_date"
,
""
);
// 根据手机号查询
params
.
put
(
"emp_mobile"
,
""
);
DateTime
dateTime
=
DateUtil
.
offsetDay
(
new
Date
(),
-
1
);
params
.
put
(
"modify_date"
,
DateUtil
.
format
(
dateTime
,
DatePattern
.
NORM_DATE_PATTERN
));
return
params
;
}
...
...
@@ -172,4 +154,15 @@ public class QinCeUtils {
params
.
put
(
"prd_id"
,
""
);
return
params
;
}
public
Map
<
String
,
Object
>
queryDealerParam
(
Integer
pageNum
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"page_number"
,
pageNum
);
params
.
put
(
"status"
,
"1"
);
// todo 全量数据同步后,再开启指定日期同步
// DateTime dateTime = DateUtil.offsetDay(new Date(), -7);
// params.put("after_create_date", DateUtil.format(dateTime, DatePattern.NORM_DATETIME_PATTERN));
return
params
;
}
}
src/main/java/com/wangxiaolu/promotion/xxljobtask/XxlJobHandler.java
浏览文件 @
6d88d8d4
...
...
@@ -27,26 +27,32 @@ public class XxlJobHandler {
/**
* 同步组织架构/部门数据
* 0 10 1
* 修改日期为昨天
*/
@XxlJob
(
"qince_department_task"
)
public
void
departmentSyncTask
(){
log
.
info
(
"[xxl-job] start === 同步勤策部门数据"
);
log
.
info
(
"[xxl-job] start === 同步勤策部门
——昨天修改
数据"
);
qinCeDataTaskService
.
departmentSyncTask
();
log
.
info
(
"[xxl-job] end === 同步勤策部门数据"
);
log
.
info
(
"[xxl-job] end === 同步勤策部门
——昨天修改
数据"
);
}
/**
* 同步员工数据
* 0 0 1
* 修改日期为昨天
*/
@XxlJob
(
"qince_employee_task"
)
public
void
employeeSyncTask
(){
log
.
info
(
"[xxl-job] start === 同步员工数据"
);
log
.
info
(
"[xxl-job] start === 同步员工
——昨天修改
数据"
);
qinCeDataTaskService
.
employeeSyncTask
();
log
.
info
(
"[xxl-job] end === 同步员工数据"
);
log
.
info
(
"[xxl-job] end === 同步员工
——昨天修改
数据"
);
}
/**
* 同步[终端数据]
* 7日内有更新的终端
* 0 0 0
*/
@XxlJob
(
"qince_shop_task"
)
public
void
shopDetailAllTask
(){
...
...
@@ -57,6 +63,8 @@ public class XxlJobHandler {
/**
* 同步[商品类型]
* 全量
* 0 12 2
*/
@XxlJob
(
"qince_product_type_task"
)
public
void
productTypeAllTask
(){
...
...
@@ -67,6 +75,8 @@ public class XxlJobHandler {
/**
* 同步[商品详情]
* 0 10 2
* 全量
*/
@XxlJob
(
"qince_product_info_task"
)
public
void
productInfoAllTask
(){
...
...
@@ -75,4 +85,15 @@ public class XxlJobHandler {
log
.
info
(
"[xxl-job] end === 同步商品详情"
);
}
/**
* 同步[经销商列表]
* 0 0 2
*/
@XxlJob
(
"qince_dealers"
)
public
void
dealersTask
(){
log
.
info
(
"[xxl-job] start === 同步经销商"
);
qinCeDataTaskService
.
productDealers
();
log
.
info
(
"[xxl-job] end === 同步经销商"
);
}
}
src/main/resources/application-dev.yml
浏览文件 @
6d88d8d4
...
...
@@ -62,10 +62,17 @@ tengxunyun:
#验证码过期时间(分钟)
overdue_long
:
5
#qince:
# open_api: https://openapi.region2.qince.com
# open_id: 8030282350124307682
# app_key: Gx0yQw4UhDtNjESmDl
qince
:
open_api
:
https://openapi.region2.qince.com
open_id
:
8030282350124307682
app_key
:
Gx0yQw4UhDtNjESmDl
open_id
:
8546408787259919799
app_key
:
oV0FHfMt81Tii2_kst
# mybatis-plus 控制台打印sql日志
mybatis-plus
:
...
...
src/main/resources/mapper/EmployeeActivityPlanInfoMapper.xml
0 → 100644
浏览文件 @
6d88d8d4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.wangxiaolu.promotion.domain.manage.mapper.EmployeeActivityPlanInfoMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.wangxiaolu.promotion.domain.manage.mapper.entity.EmployeeActivityPlanInfoDO"
>
<id
property=
"id"
column=
"id"
jdbcType=
"BIGINT"
/>
<result
property=
"activityPlanRecordId"
column=
"activity_plan_record_id"
jdbcType=
"BIGINT"
/>
<result
property=
"excelFiledId"
column=
"excel_filed_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"employeeId"
column=
"employee_id"
jdbcType=
"INTEGER"
/>
<result
property=
"employeeName"
column=
"employee_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"employeeNo"
column=
"employee_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"activityMonth"
column=
"activity_month"
jdbcType=
"CHAR"
/>
<result
property=
"city"
column=
"city"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerId"
column=
"dealer_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerName"
column=
"dealer_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineName"
column=
"line_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeName"
column=
"store_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"activityPattern"
column=
"activity_pattern"
jdbcType=
"VARCHAR"
/>
<result
property=
"activityStartDate"
column=
"activity_start_date"
jdbcType=
"DATE"
/>
<result
property=
"activityEndDate"
column=
"activity_end_date"
jdbcType=
"DATE"
/>
<result
property=
"hupiCount"
column=
"hupi_count"
jdbcType=
"INTEGER"
/>
<result
property=
"quguCount"
column=
"qugu_count"
jdbcType=
"INTEGER"
/>
<result
property=
"temporaryOnTime"
column=
"temporary_on_time"
jdbcType=
"VARCHAR"
/>
<result
property=
"isDelete"
column=
"is_delete"
jdbcType=
"INTEGER"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,activity_plan_record_id,excel_filed_id,
employee_id,employee_name,employee_no,
activity_month,city,dealer_id,
dealer_name,line_name,store_name,
activity_pattern,activity_start_date,activity_end_date,
hupi_count,qugu_count,temporary_on_time,
is_delete
</sql>
<insert
id=
"saveList"
>
insert into employee_activity_plan_info (activity_plan_record_id, excel_filed_id, employee_id, employee_name,
employee_no, activity_month, city, dealer_id, dealer_name, line_name,
store_name, activity_pattern, activity_start_date, activity_end_date,
hupi_count, qugu_count, temporary_on_time)
values
<foreach
collection=
"dos"
item=
"item"
separator=
","
>
(#{item.activityPlanRecordId},#{item.excelFiledId},#{item.employeeId},#{item.employeeName},
#{item.employeeNo},#{item.activityMonth},#{item.city},#{item.dealerId},#{item.dealerName},#{item.lineName},
#{item.storeName},#{item.activityPattern},#{item.activityStartDate},#{item.activityEndDate},
#{item.hupiCount},#{item.quguCount},#{item.temporaryOnTime})
</foreach>
</insert>
<update
id=
"deletebyActivityPlanRecordId"
>
update employee_activity_plan_info set is_delete = 0 where activity_plan_record_id = #{recordId}
</update>
</mapper>
src/main/resources/mapper/EmployeeActivityPlanRecordMapper.xml
0 → 100644
浏览文件 @
6d88d8d4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.wangxiaolu.promotion.domain.manage.mapper.EmployeeActivityPlanRecordMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.wangxiaolu.promotion.domain.manage.mapper.entity.EmployeeActivityPlanRecordDO"
>
<id
property=
"id"
column=
"id"
jdbcType=
"BIGINT"
/>
<result
property=
"employeeId"
column=
"employee_id"
jdbcType=
"INTEGER"
/>
<result
property=
"excelUrl"
column=
"excel_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"excelFiledId"
column=
"excel_filed_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"createDate"
column=
"create_date"
jdbcType=
"DATE"
/>
<result
property=
"activityMonth"
column=
"activity_month"
jdbcType=
"CHAR"
/>
<result
property=
"monthStartDate"
column=
"month_start_date"
jdbcType=
"DATE"
/>
<result
property=
"monthEndDate"
column=
"month_end_date"
jdbcType=
"DATE"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"modifyTime"
column=
"modify_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"deleteTime"
column=
"delete_time"
jdbcType=
"TIME"
/>
<result
property=
"isDelete"
column=
"is_delete"
jdbcType=
"INTEGER"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,employee_id,excel_url,
excel_filed_id,create_date,activity_month,
month_week_number,week_start_date,week_end_date,
create_time,modify_time,delete_time,
is_delete
</sql>
<update
id=
"deleteByIdFake"
>
update employee_activity_plan_record set is_delete = 0,delete_time = now() where id = #{id};
</update>
</mapper>
src/main/resources/mapper/QinceDealerMapper.xml
0 → 100644
浏览文件 @
6d88d8d4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.wangxiaolu.promotion.domain.user.mapper.QinceDealerMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.wangxiaolu.promotion.domain.user.mapper.entity.QinceDealerDO"
>
<id
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"dealerId"
column=
"dealer_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerName"
column=
"dealer_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerCooperateStatus"
column=
"dealer_cooperate_status"
jdbcType=
"CHAR"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,dealer_id,dealer_name,
dealer_cooperate_status,dealer_modify_time
</sql>
<insert
id=
"saveList"
>
insert into qince_dealer
(dealer_id, dealer_name, dealer_cooperate_status, create_time)
VALUES
<foreach
collection=
"dealerJsons"
item=
"item"
separator=
","
>
(#{item.dealer_id}, #{item.dealer_name},
#{item.dealer_cooperate_status},#{item.create_time})
</foreach>
</insert>
</mapper>
src/test/java/com/wangxiaolu/promotion/controller/user/PromotionLoginControllerTest.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
user
;
import
com.wangxiaolu.promotion.controller.user.login.tem.PromotionLoginController
;
import
com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam
;
import
org.junit.jupiter.api.Test
;
import
org.junit.runner.RunWith
;
...
...
src/test/java/com/wangxiaolu/promotion/controller/wechat/WeChatUserCoreControllerTest.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
wechat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.controller.user.login.tem.TemporaryInfoCoreController
;
import
com.wangxiaolu.promotion.controller.user.login.tem.temporaryInfoQueryController
;
import
com.wangxiaolu.promotion.pojo.user.vo.WxTemporaryEnrollVo
;
import
org.junit.jupiter.api.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -18,9 +20,9 @@ import org.springframework.test.context.junit4.SpringRunner;
class
WeChatUserCoreControllerTest
{
@Autowired
WeChatUser
CoreController
weChatUserCoreController
;
TemporaryInfo
CoreController
weChatUserCoreController
;
@Autowired
WeChatUser
QueryController
weChatUserQueryController
;
temporaryInfo
QueryController
weChatUserQueryController
;
@Test
void
enrollUserInfo
()
{
...
...
src/test/java/com/wangxiaolu/promotion/controller/wechat/WeChatUserQueryControllerTest.java
浏览文件 @
6d88d8d4
package
com
.
wangxiaolu
.
promotion
.
controller
.
wechat
;
import
com.wangxiaolu.promotion.
pojo.user.dto.WxTemporaryInfoDto
;
import
com.wangxiaolu.promotion.
controller.user.login.tem.temporaryInfoQueryController
;
import
com.wangxiaolu.promotion.pojo.user.vo.WxTemporaryLoginVo
;
import
org.junit.jupiter.api.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -8,8 +8,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
/**
* @author : liqiulin
* @date : 2024-04-16 11
...
...
@@ -20,7 +18,7 @@ import static org.junit.jupiter.api.Assertions.*;
class
WeChatUserQueryControllerTest
{
@Autowired
WeChatUser
QueryController
weChatUserQueryController
;
temporaryInfo
QueryController
weChatUserQueryController
;
@Test
void
temporaryLoginByPhoneAndOpenId
()
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论