Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
365ceea5
提交
365ceea5
authored
5月 10, 2024
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
图片保存
上级
638c2f1a
隐藏空白字符变更
内嵌
并排
正在显示
27 个修改的文件
包含
426 行增加
和
49 行删除
+426
-49
TemporaryActivityClockQueryController.java
...vity/temporary/TemporaryActivityClockQueryController.java
+14
-6
TemporaryActivityCoreController.java
...r/activity/temporary/TemporaryActivityCoreController.java
+11
-5
TemporaryActivityQueryController.java
.../activity/temporary/TemporaryActivityQueryController.java
+3
-2
TemporaryActivityClockDao.java
...motion/domain/activity/dao/TemporaryActivityClockDao.java
+1
-1
TemporaryActivityPhotoDao.java
...motion/domain/activity/dao/TemporaryActivityPhotoDao.java
+22
-0
TemporaryActivityReportedDao.java
...ion/domain/activity/dao/TemporaryActivityReportedDao.java
+2
-2
TemporaryActivityClockDaoImpl.java
...main/activity/dao/impl/TemporaryActivityClockDaoImpl.java
+1
-1
TemporaryActivityPhotoDaoImpl.java
...main/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
+53
-0
TemporaryActivityReportedDaoImpl.java
...n/activity/dao/impl/TemporaryActivityReportedDaoImpl.java
+5
-6
TemporaryActivityPhotoMapper.java
.../domain/activity/mapper/TemporaryActivityPhotoMapper.java
+24
-0
TemporaryActivityPhotoDO.java
...main/activity/mapper/entity/TemporaryActivityPhotoDO.java
+59
-0
TemporaryActivityWrapper.java
...n/domain/activity/wrapperQo/TemporaryActivityWrapper.java
+1
-1
ActivityPhotoType.java
...angxiaolu/promotion/enums/activity/ActivityPhotoType.java
+29
-0
FlowException.java
...ava/com/wangxiaolu/promotion/exception/FlowException.java
+33
-0
TemporaryActivityReportedDto.java
.../activity/temporary/dto/TemporaryActivityReportedDto.java
+18
-0
TemporaryClockDto.java
...motion/pojo/activity/temporary/dto/TemporaryClockDto.java
+1
-1
TemporaryActivityDataVo.java
...n/pojo/activity/temporary/vo/TemporaryActivityDataVo.java
+19
-0
TemporaryClockVo.java
...romotion/pojo/activity/temporary/vo/TemporaryClockVo.java
+1
-1
ControllerExceptionAdvice.java
...lu/promotion/result/advice/ControllerExceptionAdvice.java
+6
-0
RCode.java
.../java/com/wangxiaolu/promotion/result/basedata/RCode.java
+1
-0
TemporaryActivityClockQueryService.java
...ctivity/temporary/TemporaryActivityClockQueryService.java
+3
-1
TemporaryActivityCoreService.java
...vice/activity/temporary/TemporaryActivityCoreService.java
+1
-1
TemporaryActivityQueryService.java
...ice/activity/temporary/TemporaryActivityQueryService.java
+2
-2
TemporaryActivityClockQueryServiceImpl.java
...emporary/impl/TemporaryActivityClockQueryServiceImpl.java
+12
-1
TemporaryActivityCoreServiceImpl.java
...vity/temporary/impl/TemporaryActivityCoreServiceImpl.java
+61
-15
TemporaryActivityQueryServiceImpl.java
...ity/temporary/impl/TemporaryActivityQueryServiceImpl.java
+21
-3
TemporaryActivityPhotoMapper.xml
src/main/resources/mapper/TemporaryActivityPhotoMapper.xml
+22
-0
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityClockQueryController.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
temporary
;
import
com.wangxiaolu.promotion.pojo.
user
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -29,7 +26,18 @@ public class TemporaryActivityClockQueryController {
* 根据促销员id查询今日打卡信息
*/
@GetMapping
(
"/{temporary_id}"
)
public
TemporaryClockDto
findTodayTemporaryClockByTemId
(
@PathVariable
(
"temporary_id"
)
@NotNull
Integer
temporaryId
){
public
TemporaryClockDto
findTodayTemporaryClockByTemId
(
@PathVariable
(
"temporary_id"
)
@NotNull
Integer
temporaryId
)
{
return
temporaryActivityClockQueryService
.
findTodayTemporaryClockByTemId
(
temporaryId
);
}
/**
* 根据促销员id查询指定日期打卡信息
* @param temporaryId 促销员id
* @param createDate 指定日期,格式:2024-04-25
* @return 打卡信息
*/
@GetMapping
(
"/date"
)
public
TemporaryClockDto
findTemporaryClockByTemIdAndDate
(
Integer
temporaryId
,
String
createDate
)
{
return
temporaryActivityClockQueryService
.
findTemporaryClockByTemIdAndDate
(
temporaryId
,
createDate
);
}
}
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityCoreController.java
浏览文件 @
365ceea5
...
...
@@ -4,8 +4,8 @@ import com.wangxiaolu.promotion.enums.activity.ClockType;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityDataVo
;
import
com.wangxiaolu.promotion.pojo.
user
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
user
.vo.TemporaryClockVo
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.vo.TemporaryClockVo
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -66,14 +66,15 @@ public class TemporaryActivityCoreController {
}
/**
* 促销员
今日活动上报
* 促销员
[今日活动]数据保存
* 返回活动生成id
*/
@PostMapping
(
"/today/reported"
)
public
Long
todayActivityDataReported
(
@RequestBody
@Validated
TemporaryActivityDataVo
activityVo
)
{
public
Long
todayActivityDataReported
(
@RequestBody
@Validated
TemporaryActivityDataVo
activityVo
)
{
TemporaryActivityReportedDto
temActDto
=
new
TemporaryActivityReportedDto
();
BeanUtils
.
copyProperties
(
activityVo
,
temActDto
);
if
(
Objects
.
nonNull
(
activityVo
.
getActivityReportedId
())){
temActDto
.
setId
(
activityVo
.
getActivityReportedId
());
if
(
Objects
.
nonNull
(
activityVo
.
getActivityReportedId
()))
{
tempActivityCoreService
.
activityDataReportedUpdate
(
temActDto
);
return
activityVo
.
getActivityReportedId
();
}
...
...
@@ -84,6 +85,11 @@ public class TemporaryActivityCoreController {
/**
* todo 促销员[今日活动]数据提交审批
*/
// 上班打卡
private
void
builderClockInData
(
TemporaryClockVo
clockVo
,
TemporaryClockDto
clockDto
,
Date
dateTime
)
{
// todo if (!DateUtils.parseTime(new Date(), ClockType.TEMPORARY_CLOCK_IN_BEGIN_TIME, ClockType.TEMPORARY_CLOCK_IN_END_TIME)) {
...
...
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityQueryController.java
浏览文件 @
365ceea5
...
...
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
import
java.util.Arrays
;
import
java.util.List
;
/**
...
...
@@ -30,7 +31,7 @@ public class TemporaryActivityQueryController {
* @return 所有任务(分页查询)
*/
@PostMapping
(
"/all/{id}"
)
public
PageInfo
findtemporaryIdActivityDataList
(
@PathVariable
(
"id"
)
@NotNull
Long
temporaryId
,
@RequestBody
PageInfo
pageInfo
)
{
public
PageInfo
findtemporaryIdActivityDataList
(
@PathVariable
(
"id"
)
@NotNull
Integer
temporaryId
,
@RequestBody
PageInfo
pageInfo
)
{
temporaryActivityQueryService
.
findtemporaryIdActivityDataList
(
temporaryId
,
pageInfo
);
return
pageInfo
;
}
...
...
@@ -39,7 +40,7 @@ public class TemporaryActivityQueryController {
* 根据促销员id查询今日任务
*/
@GetMapping
(
"/today/{id}"
)
public
TemporaryActivityReportedDto
findTemporaryTodayActivityData
(
@PathVariable
(
"id"
)
@NotNull
Long
temporaryId
)
{
public
TemporaryActivityReportedDto
findTemporaryTodayActivityData
(
@PathVariable
(
"id"
)
@NotNull
Integer
temporaryId
)
{
TemporaryActivityReportedDto
dto
=
temporaryActivityQueryService
.
findtemporaryIdTodayActivityData
(
temporaryId
);
return
dto
;
}
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/TemporaryActivityClockDao.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
dao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.pojo.
user
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.dto.TemporaryClockDto
;
/**
* @author : liqiulin
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/TemporaryActivityPhotoDao.java
0 → 100644
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
dao
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author : liqiulin
* @date : 2024-05-09 11
* @describe :
*/
public
interface
TemporaryActivityPhotoDao
{
/**
* 保存活动上报照片list
*/
void
saveReportedList
(
Integer
temporaryId
,
Long
reportedId
,
Integer
photoType
,
List
<
String
>
urls
);
/**
* 根据促销员id-活动上报id查询图片
*/
Map
<
Integer
,
List
<
String
>>
findReportedGroup
(
Integer
temporaryId
,
Long
reportedId
);
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/TemporaryActivityReportedDao.java
浏览文件 @
365ceea5
...
...
@@ -19,12 +19,12 @@ public interface TemporaryActivityReportedDao {
/**
* 分页查询促销员任务列表
*/
void
findListByTemporaryId
(
Long
temporaryId
,
PageInfo
pageInfo
);
void
findListByTemporaryId
(
Integer
temporaryId
,
PageInfo
pageInfo
);
/**
* 查询当日任务
*/
TemporaryActivityReportedDto
findOneByCurrentDate
(
Long
temporaryId
);
TemporaryActivityReportedDto
findOneByCurrentDate
(
Integer
temporaryId
);
/**
* 根据ID查询
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityClockDaoImpl.java
浏览文件 @
365ceea5
...
...
@@ -6,7 +6,7 @@ import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao;
import
com.wangxiaolu.promotion.domain.activity.mapper.TemporaryActivityClockMapper
;
import
com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityClockDO
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.pojo.
user
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.dto.TemporaryClockDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
0 → 100644
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao
;
import
com.wangxiaolu.promotion.domain.activity.mapper.TemporaryActivityPhotoMapper
;
import
com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityPhotoDO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author : liqiulin
* @date : 2024-05-09 11
* @describe :
*/
@Service
public
class
TemporaryActivityPhotoDaoImpl
implements
TemporaryActivityPhotoDao
{
@Autowired
TemporaryActivityPhotoMapper
temporaryActivityPhotoMapper
;
@Override
public
void
saveReportedList
(
Integer
temporaryId
,
Long
reportedId
,
Integer
photoType
,
List
<
String
>
urls
)
{
for
(
String
photoUrl
:
urls
)
{
String
[]
photoArr
=
photoUrl
.
split
(
"/"
);
TemporaryActivityPhotoDO
photoDo
=
new
TemporaryActivityPhotoDO
();
photoDo
.
setTemporaryId
(
temporaryId
).
setReportedId
(
reportedId
).
setType
(
photoType
).
setPhotoUrl
(
photoUrl
).
setPhotoFiledId
(
photoArr
[
photoArr
.
length
-
1
]);
temporaryActivityPhotoMapper
.
insert
(
photoDo
);
}
}
/**
* 活动上报图片查询
*
* @param temporaryId 促销员id
* @param reportedId 活动id
*/
@Override
public
Map
<
Integer
,
List
<
String
>>
findReportedGroup
(
Integer
temporaryId
,
Long
reportedId
)
{
LambdaQueryWrapper
<
TemporaryActivityPhotoDO
>
wq
=
new
LambdaQueryWrapper
<>();
wq
.
eq
(
TemporaryActivityPhotoDO:
:
getReportedId
,
reportedId
).
eq
(
TemporaryActivityPhotoDO:
:
getIsDelete
,
1
);
List
<
TemporaryActivityPhotoDO
>
dos
=
temporaryActivityPhotoMapper
.
selectList
(
wq
);
if
(
CollectionUtils
.
isEmpty
(
dos
))
{
return
null
;
}
Map
<
Integer
,
List
<
String
>>
groupPhoto
=
dos
.
stream
().
collect
(
Collectors
.
groupingBy
(
TemporaryActivityPhotoDO:
:
getType
,
Collectors
.
mapping
(
TemporaryActivityPhotoDO:
:
getPhotoUrl
,
Collectors
.
toList
())));
return
groupPhoto
;
}
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityReportedDaoImpl.java
浏览文件 @
365ceea5
...
...
@@ -39,23 +39,22 @@ public class TemporaryActivityReportedDaoImpl implements TemporaryActivityReport
*/
@Override
public
long
activityDataSave
(
TemporaryActivityReportedDto
temActDto
)
{
TemporaryActivityReportedDO
tDo
=
new
TemporaryActivityReportedDO
();
BeanUtils
.
copyProperties
(
temActDto
,
tDo
);
tDo
.
setApproveStatus
(
temActDto
.
getApproveStatus
().
name
());
tDo
.
setCreateDate
(
DateUtil
.
today
());
int
tId
=
temporaryActivityReportedMapper
.
insert
(
tDo
);
log
.
info
(
"促销员今日活动上报数据完成,生成id[{}],数据信息:{}"
,
t
Id
,
tDo
);
return
t
Id
;
temporaryActivityReportedMapper
.
insert
(
tDo
);
log
.
info
(
"促销员今日活动上报数据完成,生成id[{}],数据信息:{}"
,
t
Do
.
getId
()
,
tDo
);
return
t
Do
.
getId
()
;
}
/**
* 根据促销员id查询所有任务
*/
@Override
public
void
findListByTemporaryId
(
Long
temporaryId
,
PageInfo
pageInfo
)
{
public
void
findListByTemporaryId
(
Integer
temporaryId
,
PageInfo
pageInfo
)
{
TemporaryActivityWrapper
taw
=
new
TemporaryActivityWrapper
()
.
setTemporaryId
(
temporaryId
);
LambdaQueryWrapper
<
TemporaryActivityReportedDO
>
temQw
=
buildQueryList
(
taw
);
...
...
@@ -70,7 +69,7 @@ public class TemporaryActivityReportedDaoImpl implements TemporaryActivityReport
* 根据促销员id查询今日任务
*/
@Override
public
TemporaryActivityReportedDto
findOneByCurrentDate
(
Long
temporaryId
)
{
public
TemporaryActivityReportedDto
findOneByCurrentDate
(
Integer
temporaryId
)
{
TemporaryActivityWrapper
taw
=
new
TemporaryActivityWrapper
()
.
setTemporaryId
(
temporaryId
)
.
setCreateDate
(
DateUtil
.
today
());
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/TemporaryActivityPhotoMapper.java
0 → 100644
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityPhotoDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author a02200059
* @description 针对表【temporary_activity_photo】的数据库操作Mapper
* @createDate 2024-05-09 11:22:33
* @Entity com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityPhoto
*/
@Mapper
@Repository
public
interface
TemporaryActivityPhotoMapper
extends
BaseMapper
<
TemporaryActivityPhotoDO
>
{
}
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/entity/TemporaryActivityPhotoDO.java
0 → 100644
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
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
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
*
* @TableName temporary_activity_photo
*/
@TableName
(
value
=
"temporary_activity_photo"
)
@Data
@Accessors
(
chain
=
true
)
public
class
TemporaryActivityPhotoDO
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* temporary_info表id
*/
private
Integer
temporaryId
;
/**
* 活动上报ID,关联表temporary_activity_reported表主键id
*/
private
Long
reportedId
;
/**
* 图片所属类别:1:推广试吃;2……
*/
private
Integer
type
;
/**
* 图片http地址
*/
private
String
photoUrl
;
/**
* 图片Id
*/
private
String
photoFiledId
;
/**
* 是否删除
* 0:删除;1:可用
*/
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/activity/wrapperQo/TemporaryActivityWrapper.java
浏览文件 @
365ceea5
...
...
@@ -18,7 +18,7 @@ public class TemporaryActivityWrapper {
/**
* temporaryId
*/
Long
temporaryId
;
Integer
temporaryId
;
/**
* 创建时间YYYY-MM-DD
...
...
src/main/java/com/wangxiaolu/promotion/enums/activity/ActivityPhotoType.java
0 → 100644
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
enums
.
activity
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author : liqiulin
* @date : 2024-05-09 11
* @describe : 活动照片图片类型
*/
@Getter
@AllArgsConstructor
public
enum
ActivityPhotoType
{
/**
* 推广试吃照片
*/
tgsc
(
1
),
/**
* 推广互动照片
*/
tghd
(
2
),
/**
* 推广成交照片
*/
tgcj
(
3
),
;
private
int
type
;
}
src/main/java/com/wangxiaolu/promotion/exception/FlowException.java
0 → 100644
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
exception
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.result.basedata.StatusCode
;
import
lombok.Getter
;
/**
* @author : liqiulin
* @date : 2024-03-28 19
* @describe : 业务流程异常
*/
@Getter
public
class
FlowException
extends
RuntimeException
{
private
int
code
;
private
String
msg
;
public
FlowException
(
StatusCode
statusCode
,
String
message
)
{
super
(
message
);
this
.
code
=
statusCode
.
getCode
();
this
.
msg
=
statusCode
.
getMsg
();
}
/**
* 默认异常编码
*/
public
FlowException
(
String
message
)
{
super
(
message
);
this
.
code
=
RCode
.
LOGIN_PARAM_ERROR
.
getCode
();
this
.
msg
=
RCode
.
LOGIN_PARAM_ERROR
.
getMsg
();
}
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryActivityReportedDto.java
浏览文件 @
365ceea5
...
...
@@ -6,7 +6,9 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author : liqiulin
...
...
@@ -70,6 +72,22 @@ public class TemporaryActivityReportedDto {
*/
private
Date
approveTime
;
/**
* 推广试吃照片
*/
List
<
String
>
tgscPhotoUrls
;
/**
* 推广互动照片
*/
List
<
String
>
tghdPhotoUrls
;
/**
* 推广成交照片
*/
List
<
String
>
tgcjPhotoUrls
;
/**
* 创建时间
*/
...
...
src/main/java/com/wangxiaolu/promotion/pojo/
user
/dto/TemporaryClockDto.java
→
src/main/java/com/wangxiaolu/promotion/pojo/
activity/temporary
/dto/TemporaryClockDto.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
pojo
.
user
.
dto
;
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
temporary
.
dto
;
import
com.wangxiaolu.promotion.enums.activity.ClockType
;
import
lombok.AllArgsConstructor
;
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/vo/TemporaryActivityDataVo.java
浏览文件 @
365ceea5
...
...
@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @author : liqiulin
...
...
@@ -42,4 +43,22 @@ public class TemporaryActivityDataVo {
@NotNull
(
message
=
"活动店铺异常"
)
private
String
storeQcId
;
/**
* 推广试吃照片
* 只传增量,存量数据前端不再返回,增量数据直接保存到DB中
*/
List
<
String
>
tgscPhotoUrls
;
/**
* 推广互动照片
* 只传增量,存量数据前端不再返回,增量数据直接保存到DB中
*/
List
<
String
>
tghdPhotoUrls
;
/**
* 推广成交照片
* 只传增量,存量数据前端不再返回,增量数据直接保存到DB中
*/
List
<
String
>
tgcjPhotoUrls
;
}
src/main/java/com/wangxiaolu/promotion/pojo/
user
/vo/TemporaryClockVo.java
→
src/main/java/com/wangxiaolu/promotion/pojo/
activity/temporary
/vo/TemporaryClockVo.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
pojo
.
user
.
vo
;
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
temporary
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
src/main/java/com/wangxiaolu/promotion/result/advice/ControllerExceptionAdvice.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
result
.
advice
;
import
com.wangxiaolu.promotion.exception.APIException
;
import
com.wangxiaolu.promotion.exception.FlowException
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
...
...
@@ -25,6 +26,11 @@ public class ControllerExceptionAdvice {
return
new
R
(
e
.
getCode
(),
e
.
getMsg
(),
e
.
getMessage
());
}
@ExceptionHandler
({
FlowException
.
class
})
public
R
flowExceptionHandler
(
FlowException
e
)
{
return
new
R
(
e
.
getCode
(),
e
.
getMsg
(),
e
.
getMessage
());
}
@ExceptionHandler
({
APIException
.
class
})
public
R
apiExceptionHandler
(
APIException
e
)
{
return
new
R
(
e
.
getCode
(),
e
.
getMsg
(),
e
.
getMessage
());
...
...
src/main/java/com/wangxiaolu/promotion/result/basedata/RCode.java
浏览文件 @
365ceea5
...
...
@@ -24,6 +24,7 @@ public enum RCode implements StatusCode {
*/
API_ERROR
(
2000
,
"业务异常"
),
API_DATA_ERROR
(
2001
,
"业务数据异常"
),
DATA_HAVE_ERROR
(
2002
,
"数据已存在,不可新增"
),
/**
* user
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/TemporaryActivityClockQueryService.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
temporary
;
import
com.wangxiaolu.promotion.pojo.
user
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.dto.TemporaryClockDto
;
/**
* @author : liqiulin
...
...
@@ -9,4 +9,6 @@ import com.wangxiaolu.promotion.pojo.user.dto.TemporaryClockDto;
*/
public
interface
TemporaryActivityClockQueryService
{
TemporaryClockDto
findTodayTemporaryClockByTemId
(
Integer
temporaryId
);
TemporaryClockDto
findTemporaryClockByTemIdAndDate
(
Integer
temporaryId
,
String
createDate
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/TemporaryActivityCoreService.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
temporary
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.
user
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.dto.TemporaryClockDto
;
/**
* @author : liqiulin
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/TemporaryActivityQueryService.java
浏览文件 @
365ceea5
...
...
@@ -15,12 +15,12 @@ public interface TemporaryActivityQueryService {
/**
* 根据促销员id查询所有任务
*/
void
findtemporaryIdActivityDataList
(
Long
temporaryId
,
PageInfo
pageInfo
);
void
findtemporaryIdActivityDataList
(
Integer
temporaryId
,
PageInfo
pageInfo
);
/**
* 根据促销员id查询今日任务
*/
TemporaryActivityReportedDto
findtemporaryIdTodayActivityData
(
Long
temporaryId
);
TemporaryActivityReportedDto
findtemporaryIdTodayActivityData
(
Integer
temporaryId
);
TemporaryActivityReportedDto
findTemporaryActivityById
(
Long
activityId
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityClockQueryServiceImpl.java
浏览文件 @
365ceea5
...
...
@@ -3,7 +3,7 @@ package com.wangxiaolu.promotion.service.activity.temporary.impl;
import
cn.hutool.core.date.DateUtil
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.pojo.
user
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.
activity.temporary
.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -30,4 +30,15 @@ public class TemporaryActivityClockQueryServiceImpl implements TemporaryActivity
return
temporaryActivityClockDao
.
selectOne
(
tcw
);
}
/**
* 查询指定日期打卡信息
*/
@Override
public
TemporaryClockDto
findTemporaryClockByTemIdAndDate
(
Integer
temporaryId
,
String
createDate
)
{
TemporaryClockWrapper
tcw
=
new
TemporaryClockWrapper
()
.
setTemporaryId
(
temporaryId
)
.
setCreateDate
(
createDate
);
return
temporaryActivityClockDao
.
selectOne
(
tcw
);
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityCoreServiceImpl.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
temporary
.
impl
;
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.user.dao.QinCeClienteleStoreDao
;
import
com.wangxiaolu.promotion.domain.user.wrapperQo.StoreWrapper
;
import
com.wangxiaolu.promotion.enums.activity.ActivityPhotoType
;
import
com.wangxiaolu.promotion.enums.activity.TemActApproveStatus
;
import
com.wangxiaolu.promotion.exception.FlowException
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.user.dto.QinCeClienteleStoreDto
;
import
com.wangxiaolu.promotion.pojo.user.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService
;
import
lombok.extern.slf4j.Slf4j
;
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.Objects
;
...
...
@@ -24,31 +30,58 @@ import java.util.Objects;
@Slf4j
public
class
TemporaryActivityCoreServiceImpl
implements
TemporaryActivityCoreService
{
// 活动上报
@Autowired
TemporaryActivityReportedDao
temporaryActivityReportedDao
;
private
TemporaryActivityReportedDao
temporaryActivityReportedDao
;
// 打卡数据
@Autowired
TemporaryActivityClockDao
temporaryActivityClockDao
;
private
TemporaryActivityClockDao
temporaryActivityClockDao
;
@Autowired
QinCeClienteleStoreDao
qinCeClienteleStoreDao
;
private
QinCeClienteleStoreDao
qinCeClienteleStoreDao
;
@Autowired
private
TemporaryActivityPhotoDao
tempActivityPhotoDao
;
/**
* 活动上报保存
*
* @return 生成id
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
long
activityDataReportedSave
(
TemporaryActivityReportedDto
temActDto
)
{
/**
* 判断是否已存在上报数据
*/
TemporaryActivityReportedDto
haveDate
=
temporaryActivityReportedDao
.
findOneByCurrentDate
(
temActDto
.
getTemporaryId
());
if
(
Objects
.
nonNull
(
haveDate
))
{
throw
new
FlowException
(
RCode
.
DATA_HAVE_ERROR
,
null
);
}
temActDto
.
setApproveStatus
(
TemActApproveStatus
.
SUBMITTED
);
// 根据storeQcId查询店铺信息
QinCeClienteleStoreDto
storeDto
=
qinCeClienteleStoreDao
.
getOneStore
(
new
StoreWrapper
().
setQcId
(
temActDto
.
getStoreQcId
()));
temActDto
.
setStoreName
(
storeDto
.
getStoreName
()).
setStoreAddr
(
storeDto
.
getStoreAddr
());
return
temporaryActivityReportedDao
.
activityDataSave
(
temActDto
);
// 保存活动数据 temporary_activity_reported
long
reportedId
=
temporaryActivityReportedDao
.
activityDataSave
(
temActDto
);
temActDto
.
setId
(
reportedId
);
// 保存图片
saveActivityPhoto
(
temActDto
);
return
reportedId
;
}
/**
* 活动信息修改
* 1、判断活动是否可以修改
*/
@Override
public
void
activityDataReportedUpdate
(
TemporaryActivityReportedDto
temActDto
)
{
// 图片增量保存
saveActivityPhoto
(
temActDto
);
temporaryActivityReportedDao
.
updateById
(
temActDto
);
}
/**
...
...
@@ -56,19 +89,32 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
*/
@Override
public
void
clockInTodayActivity
(
TemporaryClockDto
dto
)
{
if
(
Objects
.
isNull
(
dto
.
getId
())){
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
temporaryActivityClockDao
.
save
(
dto
);
return
;
}
temporaryActivityClockDao
.
updateById
(
dto
);
}
/**
* 活动信息修改
* 1、判断活动是否可以修改
*/
@Override
public
void
activityDataReportedUpdate
(
TemporaryActivityReportedDto
temActDto
)
{
temporaryActivityReportedDao
.
updateById
(
temActDto
);
private
void
saveActivityPhoto
(
TemporaryActivityReportedDto
temActDto
)
{
Integer
temporaryId
=
temActDto
.
getTemporaryId
();
Long
reportedId
=
temActDto
.
getId
();
// 推广试吃照片
if
(!
CollectionUtils
.
isEmpty
(
temActDto
.
getTgscPhotoUrls
()))
{
tempActivityPhotoDao
.
saveReportedList
(
temporaryId
,
reportedId
,
ActivityPhotoType
.
tgsc
.
getType
(),
temActDto
.
getTgscPhotoUrls
());
}
// 推广互动照片
if
(!
CollectionUtils
.
isEmpty
(
temActDto
.
getTghdPhotoUrls
()))
{
tempActivityPhotoDao
.
saveReportedList
(
temporaryId
,
reportedId
,
ActivityPhotoType
.
tghd
.
getType
(),
temActDto
.
getTghdPhotoUrls
());
}
// 推广成交照片
if
(!
CollectionUtils
.
isEmpty
(
temActDto
.
getTgcjPhotoUrls
()))
{
tempActivityPhotoDao
.
saveReportedList
(
temporaryId
,
reportedId
,
ActivityPhotoType
.
tgcj
.
getType
(),
temActDto
.
getTgcjPhotoUrls
());
}
log
.
info
(
"促销员今日活动上报-图片保存成功,关联活动上报数据id[{}],数据信息:{}"
,
temActDto
.
getId
(),
temActDto
);
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityQueryServiceImpl.java
浏览文件 @
365ceea5
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
temporary
.
impl
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityReportedDao
;
import
com.wangxiaolu.promotion.enums.activity.ActivityPhotoType
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityQueryService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
/**
* @author : liqiulin
...
...
@@ -20,12 +27,15 @@ public class TemporaryActivityQueryServiceImpl implements TemporaryActivityQuery
@Autowired
TemporaryActivityReportedDao
temporaryActivityReportedDao
;
@Autowired
TemporaryActivityPhotoDao
temporaryActivityPhotoDao
;
/**
* 根据促销员id查询所有任务
*/
@Override
public
void
findtemporaryIdActivityDataList
(
Long
temporaryId
,
PageInfo
pageInfo
)
{
temporaryActivityReportedDao
.
findListByTemporaryId
(
temporaryId
,
pageInfo
);
public
void
findtemporaryIdActivityDataList
(
Integer
temporaryId
,
PageInfo
pageInfo
)
{
temporaryActivityReportedDao
.
findListByTemporaryId
(
temporaryId
,
pageInfo
);
}
...
...
@@ -33,8 +43,16 @@ public class TemporaryActivityQueryServiceImpl implements TemporaryActivityQuery
* 根据促销员id查询今日任务
*/
@Override
public
TemporaryActivityReportedDto
findtemporaryIdTodayActivityData
(
Long
temporaryId
)
{
public
TemporaryActivityReportedDto
findtemporaryIdTodayActivityData
(
Integer
temporaryId
)
{
TemporaryActivityReportedDto
dto
=
temporaryActivityReportedDao
.
findOneByCurrentDate
(
temporaryId
);
if
(
Objects
.
nonNull
(
dto
))
{
Map
<
Integer
,
List
<
String
>>
reportedGroup
=
temporaryActivityPhotoDao
.
findReportedGroup
(
dto
.
getTemporaryId
(),
dto
.
getId
());
if
(!
CollectionUtils
.
isEmpty
(
reportedGroup
))
{
dto
.
setTgscPhotoUrls
(
reportedGroup
.
get
(
ActivityPhotoType
.
tgsc
.
getType
()));
dto
.
setTghdPhotoUrls
(
reportedGroup
.
get
(
ActivityPhotoType
.
tghd
.
getType
()));
dto
.
setTgcjPhotoUrls
(
reportedGroup
.
get
(
ActivityPhotoType
.
tgcj
.
getType
()));
}
}
return
dto
;
}
...
...
src/main/resources/mapper/TemporaryActivityPhotoMapper.xml
0 → 100644
浏览文件 @
365ceea5
<?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.activity.mapper.TemporaryActivityPhotoMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityPhotoDO"
>
<id
property=
"id"
column=
"id"
jdbcType=
"BIGINT"
/>
<result
property=
"temporaryId"
column=
"temporary_id"
jdbcType=
"INTEGER"
/>
<result
property=
"reportedId"
column=
"reported_id"
jdbcType=
"BIGINT"
/>
<result
property=
"type"
column=
"type"
jdbcType=
"INTEGER"
/>
<result
property=
"photoUrl"
column=
"photo_url"
jdbcType=
"VARCHAR"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id
,temporary_id,type,
photo_url,photo_field_id
</sql>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论