Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
46ad7041
提交
46ad7041
authored
7月 11, 2024
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
促销员打卡;1、打卡照片可以更改并记录修改时间;2、前端返回更改后的照片及修改时间
上级
f9a70cfc
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
331 行增加
和
20 行删除
+331
-20
TemporaryActivityClockCoreController.java
...ivity/temporary/TemporaryActivityClockCoreController.java
+30
-4
TemporaryActivityClockDao.java
...motion/domain/activity/dao/TemporaryActivityClockDao.java
+0
-1
TemporaryActivityLogDao.java
...romotion/domain/activity/dao/TemporaryActivityLogDao.java
+0
-1
TemporaryActivityPhotoDao.java
...motion/domain/activity/dao/TemporaryActivityPhotoDao.java
+8
-1
TemporaryActivityPhotoDaoImpl.java
...main/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
+81
-7
TemporaryActivityPhotoDO.java
...main/activity/mapper/entity/TemporaryActivityPhotoDO.java
+8
-0
TemporaryPhotoWrapper.java
...tion/domain/activity/wrapperQo/TemporaryPhotoWrapper.java
+47
-0
TemporaryActivityPhotoDto.java
...ojo/activity/temporary/dto/TemporaryActivityPhotoDto.java
+64
-0
TemporaryClockDto.java
...motion/pojo/activity/temporary/dto/TemporaryClockDto.java
+22
-1
TemporaryClockVo.java
...romotion/pojo/activity/temporary/vo/TemporaryClockVo.java
+20
-0
TemporaryActivityClockCoreService.java
...activity/temporary/TemporaryActivityClockCoreService.java
+3
-0
TemporaryActivityClockCoreServiceImpl.java
...temporary/impl/TemporaryActivityClockCoreServiceImpl.java
+16
-0
TemporaryActivityClockQueryServiceImpl.java
...emporary/impl/TemporaryActivityClockQueryServiceImpl.java
+32
-5
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityClockCoreController.java
浏览文件 @
46ad7041
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
temporary
;
import
cn.hutool.core.date.DateUnit
;
import
cn.hutool.core.date.DateUtil
;
import
com.wangxiaolu.promotion.common.redis.RedisKeys
;
import
com.wangxiaolu.promotion.common.redis.service.RedisCache
;
import
com.wangxiaolu.promotion.enums.activity.ClockType
;
...
...
@@ -12,11 +14,10 @@ import com.wangxiaolu.promotion.result.basedata.RCode;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockCoreService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
import
java.util.Objects
;
...
...
@@ -75,6 +76,31 @@ public class TemporaryActivityClockCoreController {
return
R
.
success
();
}
/**
* 打卡照片更换
* @param clockVo 更换照片信息
* @return 是否成功
*/
@PutMapping
(
"/today/clock/update"
)
public
R
updateClockPhoto
(
@RequestBody
TemporaryClockVo
clockVo
)
{
if
(
Objects
.
isNull
(
clockVo
.
getTemporaryId
())
||
clockVo
.
getTemporaryId
()<=
0
){
throw
new
ParamException
(
RCode
.
LOGIN_PARAM_ERROR
,
null
);
}
if
(
StringUtils
.
isBlank
(
clockVo
.
getClockPhoto
())){
throw
new
ParamException
(
RCode
.
PHOTO_IS_NULL_ERROR
,
null
);
}
long
minuteBetween
=
DateUtil
.
between
(
clockVo
.
getLastClockTime
(),
new
Date
(),
DateUnit
.
MINUTE
);
if
(
minuteBetween
>
30
){
throw
new
ParamException
(
RCode
.
UPDATE_CLOCK_PHOTO_TIME_LONG_ERROR
,
null
);
}
TemporaryClockDto
dto
=
new
TemporaryClockDto
(
clockVo
.
getId
(),
clockVo
.
getTemporaryId
(),
clockVo
.
getClockPhoto
(),
clockVo
.
getPhotoType
());
tempActivityClockCoreService
.
updateClockPhoto
(
dto
);
return
R
.
success
();
}
/**
* redis打卡-限制重复提交
*/
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/TemporaryActivityClockDao.java
浏览文件 @
46ad7041
...
...
@@ -32,5 +32,4 @@ public interface TemporaryActivityClockDao {
* 员工查询负责的促销员打卡信息(分页查询)
*/
void
employeePage
(
String
employeeQcId
,
PageInfo
pageInfo
,
TemporaryClockWrapper
tcw
);
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/TemporaryActivityLogDao.java
浏览文件 @
46ad7041
...
...
@@ -10,5 +10,4 @@ import com.wangxiaolu.promotion.enums.activity.LogType;
public
interface
TemporaryActivityLogDao
{
void
save
(
Integer
temporaryId
,
String
temporaryName
,
LogType
typeE
,
Long
flowDataId
,
Object
logObj
);
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/TemporaryActivityPhotoDao.java
浏览文件 @
46ad7041
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
dao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityPhotoDto
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -25,5 +28,9 @@ public interface TemporaryActivityPhotoDao {
*/
Map
<
Integer
,
List
<
String
>>
findReportedGroup
(
Integer
temporaryId
,
Long
reportedId
);
Map
<
Integer
,
String
>
findClockPhotoGroupByClockId
(
Long
clockId
);
Map
<
Integer
,
TemporaryActivityPhotoDto
>
findClockPhotoGroupByClockId
(
Long
clockId
);
void
updateStatus
(
TemporaryPhotoWrapper
pw
,
int
status
);
void
saveClockPhotoByUpdate
(
Integer
temporaryId
,
Long
id
,
Integer
photoType
,
String
url
);
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
浏览文件 @
46ad7041
...
...
@@ -4,15 +4,18 @@ 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
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityPhotoDto
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
lombok.extern.slf4j.Slf4j
;
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.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -62,21 +65,35 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
}
}
/**
* 保存促销员上下班打卡图片
*/
@Override
public
void
saveClockPhoto
(
Integer
temporaryId
,
Long
clockId
,
Integer
photoType
,
String
url
)
{
saveClockPhoto
(
temporaryId
,
clockId
,
photoType
,
url
,
null
);
}
@Override
public
void
saveClockPhotoByUpdate
(
Integer
temporaryId
,
Long
id
,
Integer
photoType
,
String
url
)
{
saveClockPhoto
(
temporaryId
,
id
,
photoType
,
url
,
true
);
}
private
void
saveClockPhoto
(
Integer
temporaryId
,
Long
clockId
,
Integer
photoType
,
String
url
,
Boolean
isUpdate
)
{
String
[]
photoArr
=
url
.
split
(
"/"
);
String
photoFiledId
=
photoArr
[
photoArr
.
length
-
1
];
TemporaryActivityPhotoDO
photoDo
=
new
TemporaryActivityPhotoDO
();
photoDo
.
setTemporaryId
(
temporaryId
).
setClockId
(
clockId
).
setType
(
photoType
).
setPhotoUrl
(
url
).
setPhotoFiledId
(
photoFiledId
);
if
(
Objects
.
nonNull
(
isUpdate
)
&&
isUpdate
)
{
photoDo
.
setUpdateTime
(
new
Date
());
}
temporaryActivityPhotoMapper
.
insert
(
photoDo
);
log
.
info
(
"保存促销员打卡图片:{}"
,
photoDo
);
}
/**
* 活动上报图片查询
*
...
...
@@ -102,11 +119,68 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
* @return 分组结果
*/
@Override
public
Map
<
Integer
,
String
>
findClockPhotoGroupByClockId
(
Long
clockId
)
{
public
Map
<
Integer
,
TemporaryActivityPhotoDto
>
findClockPhotoGroupByClockId
(
Long
clockId
)
{
LambdaQueryWrapper
<
TemporaryActivityPhotoDO
>
wq
=
new
LambdaQueryWrapper
<>();
wq
.
eq
(
TemporaryActivityPhotoDO:
:
getClockId
,
clockId
).
eq
(
TemporaryActivityPhotoDO:
:
getIsDelete
,
1
);
List
<
TemporaryActivityPhotoDO
>
dos
=
temporaryActivityPhotoMapper
.
selectList
(
wq
);
Map
<
Integer
,
String
>
map
=
dos
.
stream
().
collect
(
Collectors
.
toMap
(
TemporaryActivityPhotoDO:
:
getType
,
TemporaryActivityPhotoDO:
:
getPhotoUrl
));
return
map
;
List
<
TemporaryActivityPhotoDto
>
photoDtos
=
transitionDtos
(
dos
);
Map
<
Integer
,
TemporaryActivityPhotoDto
>
dtoMap
=
photoDtos
.
stream
().
collect
(
Collectors
.
toMap
(
TemporaryActivityPhotoDto:
:
getType
,
pDto
->
pDto
));
// Map<Integer, String> map = dos.stream().collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl));
return
dtoMap
;
}
@Override
public
void
updateStatus
(
TemporaryPhotoWrapper
pw
,
int
status
)
{
LambdaQueryWrapper
<
TemporaryActivityPhotoDO
>
qw
=
builderWrapper
(
pw
);
if
(
qw
.
isEmptyOfWhere
())
{
throw
new
ParamException
(
RCode
.
CLOCK_DETAIL_ERROR
,
null
);
}
TemporaryActivityPhotoDO
photoDO
=
new
TemporaryActivityPhotoDO
()
.
setIsDelete
(
status
);
temporaryActivityPhotoMapper
.
update
(
photoDO
,
qw
);
}
private
LambdaQueryWrapper
<
TemporaryActivityPhotoDO
>
builderWrapper
(
TemporaryPhotoWrapper
pw
)
{
LambdaQueryWrapper
<
TemporaryActivityPhotoDO
>
wq
=
new
LambdaQueryWrapper
<>();
if
(!
Objects
.
isNull
(
pw
.
getClockId
()))
{
wq
.
eq
(
TemporaryActivityPhotoDO:
:
getClockId
,
pw
.
getClockId
());
}
if
(!
Objects
.
isNull
(
pw
.
getType
()))
{
wq
.
eq
(
TemporaryActivityPhotoDO:
:
getType
,
pw
.
getType
());
}
if
(!
Objects
.
isNull
(
pw
.
getTemporaryId
())
&&
pw
.
getTemporaryId
()
>
0
)
{
wq
.
eq
(
TemporaryActivityPhotoDO:
:
getTemporaryId
,
pw
.
getTemporaryId
());
}
return
wq
;
}
/**
* DO to DTO (单个对象)
*
* @param photoDos DO对象List
* @return DTO对象
*/
private
List
<
TemporaryActivityPhotoDto
>
transitionDtos
(
List
<
TemporaryActivityPhotoDO
>
photoDos
)
{
if
(
CollectionUtils
.
isEmpty
(
photoDos
))
{
return
new
ArrayList
<>();
}
List
<
TemporaryActivityPhotoDto
>
dtos
=
new
ArrayList
<>(
photoDos
.
size
()
*
2
);
for
(
TemporaryActivityPhotoDO
photoDo
:
photoDos
)
{
dtos
.
add
(
transitionDto
(
photoDo
));
}
return
dtos
;
}
private
TemporaryActivityPhotoDto
transitionDto
(
TemporaryActivityPhotoDO
photoDo
)
{
TemporaryActivityPhotoDto
dto
=
null
;
if
(
Objects
.
isNull
(
photoDo
))
{
return
dto
;
}
dto
=
new
TemporaryActivityPhotoDto
();
BeanUtils
.
copyProperties
(
photoDo
,
dto
);
return
dto
;
}
}
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/entity/TemporaryActivityPhotoDO.java
浏览文件 @
46ad7041
...
...
@@ -5,6 +5,8 @@ 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
;
import
lombok.experimental.Accessors
;
...
...
@@ -58,6 +60,11 @@ public class TemporaryActivityPhotoDO implements Serializable {
*/
private
Integer
isDelete
;
/**
* 图片的创建时间,只是用来前端显示,所以用varchar不timestamp
*/
private
Date
updateTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/domain/activity/wrapperQo/TemporaryPhotoWrapper.java
0 → 100644
浏览文件 @
46ad7041
package
com
.
wangxiaolu
.
promotion
.
domain
.
activity
.
wrapperQo
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* @author : liqiulin
* @date : 2024-04-23 19
* @describe :
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors
(
chain
=
true
)
public
class
TemporaryPhotoWrapper
{
/**
* temporary_info表id
*/
private
Integer
temporaryId
;
/**
* 活动上报ID,关联表temporary_activity_reported表主键id
*/
private
Long
reportedId
;
/**
* 促销员上班打卡记录ID,关联temporary_activity_clock表主键ID
*/
private
Long
clockId
;
/**
* 图片所属类别:1:推广试吃;2……
*/
private
Integer
type
;
/**
* 是否删除
* 0:删除;1:可用
*/
private
Integer
isDelete
;
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryActivityPhotoDto.java
0 → 100644
浏览文件 @
46ad7041
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
temporary
.
dto
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
*
* @TableName temporary_activity_photo
*/
@Data
@Accessors
(
chain
=
true
)
public
class
TemporaryActivityPhotoDto
implements
Serializable
{
/**
* 主键id
*/
private
Long
id
;
/**
* temporary_info表id
*/
private
Integer
temporaryId
;
/**
* 活动上报ID,关联表temporary_activity_reported表主键id
*/
private
Long
reportedId
;
/**
* 促销员上班打卡记录ID,关联temporary_activity_clock表主键ID
*/
private
Long
clockId
;
/**
* 图片所属类别:1:推广试吃;2……
*/
private
Integer
type
;
/**
* 图片http地址
*/
private
String
photoUrl
;
/**
* 图片Id
*/
private
String
photoFiledId
;
/**
* 是否删除
* 0:删除;1:可用
*/
private
Integer
isDelete
;
/**
* 图片的创建时间,只是用来前端显示,所以用varchar不timestamp
*/
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryClockDto.java
浏览文件 @
46ad7041
...
...
@@ -47,6 +47,8 @@ public class TemporaryClockDto {
// 上班打卡图片
String
clockInPhoto
;
Date
clockInPhotoUpdateTime
;
// 上班打卡时间
Date
clockInTime
;
...
...
@@ -65,6 +67,8 @@ public class TemporaryClockDto {
// 午休下班打卡图片
String
noonClockOutPhoto
;
Date
noonClockOutPhotoUpdateTime
;;
// 午休下班打卡时间
Date
noonClockOutTime
;
...
...
@@ -77,6 +81,8 @@ public class TemporaryClockDto {
// 午休上班打卡图片
String
noonClockInPhoto
;
Date
noonClockInPhotoUpdateTime
;
// 午休上班打卡时间
Date
noonClockInTime
;
...
...
@@ -89,11 +95,13 @@ public class TemporaryClockDto {
// 下班打卡图片
String
clockOutPhoto
;
Date
clockOutPhotoUpdateTime
;
// 下班打卡时间
Date
clockOutTime
;
// 创建日期YYYY-MM-DD
private
String
createDate
;
String
createDate
;
/**
* 所属战区-部门
...
...
@@ -111,6 +119,12 @@ public class TemporaryClockDto {
// 活动模式
String
activityPattern
;
// 临时打卡图片
String
brevityClockPhoto
;
// 临时打卡类型
Integer
brevityClockType
;
public
TemporaryClockDto
(
Integer
clockType
,
Long
id
,
Integer
temporaryId
,
String
temporaryName
,
String
clockProvince
,
String
clockCity
)
{
if
(!
ClockType
.
TEMPORARY_CLOCK_IN
.
equals
(
clockType
))
{
this
.
id
=
id
;
...
...
@@ -120,4 +134,11 @@ public class TemporaryClockDto {
this
.
clockProvince
=
clockProvince
;
this
.
clockCity
=
clockCity
;
}
public
TemporaryClockDto
(
Long
id
,
Integer
temporaryId
,
String
brevityClockPhoto
,
Integer
brevityClockType
)
{
this
.
id
=
id
;
this
.
temporaryId
=
temporaryId
;
this
.
brevityClockPhoto
=
brevityClockPhoto
;
this
.
brevityClockType
=
brevityClockType
;
}
}
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/vo/TemporaryClockVo.java
浏览文件 @
46ad7041
package
com
.
wangxiaolu
.
promotion
.
pojo
.
activity
.
temporary
.
vo
;
import
com.wangxiaolu.promotion.enums.activity.ActivityPhotoType
;
import
com.wangxiaolu.promotion.enums.activity.ClockType
;
import
com.wangxiaolu.promotion.exception.ParamException
;
import
com.wangxiaolu.promotion.result.basedata.RCode
;
import
lombok.AllArgsConstructor
;
...
...
@@ -11,6 +13,7 @@ import org.hibernate.validator.constraints.Range;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.Objects
;
/**
...
...
@@ -68,6 +71,11 @@ public class TemporaryClockVo {
// 活动模式
String
activityPattern
;
/**
* 修改时用到,上次打卡时间
*/
Date
lastClockTime
;
public
void
validate
(){
if
(
Objects
.
isNull
(
clockType
)
||
!(
clockType
>=
1
&&
clockType
<=
4
)){
...
...
@@ -84,4 +92,16 @@ public class TemporaryClockVo {
}
}
public
Integer
getPhotoType
()
{
if
(
ClockType
.
TEMPORARY_CLOCK_IN
.
equals
(
clockType
))
{
return
ActivityPhotoType
.
CLOCK_IN
.
getType
();
}
else
if
(
ClockType
.
TEMPORARY_NOON_CLOCK_OUT
.
equals
(
clockType
))
{
return
ActivityPhotoType
.
NOON_CLOCK_OUT
.
getType
();
}
else
if
(
ClockType
.
TEMPORARY_NOON_CLOCK_IN
.
equals
(
clockType
))
{
return
ActivityPhotoType
.
NOON_CLOCK_IN
.
getType
();
}
else
if
(
ClockType
.
TEMPORARY_CLOCK_OUT
.
equals
(
clockType
))
{
return
ActivityPhotoType
.
CLOCK_OUT
.
getType
();
}
throw
new
ParamException
(
RCode
.
PHOTO_IS_NULL_ERROR
,
null
);
}
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/TemporaryActivityClockCoreService.java
浏览文件 @
46ad7041
package
com
.
wangxiaolu
.
promotion
.
service
.
activity
.
temporary
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryClockVo
;
/**
* @author : liqiulin
...
...
@@ -21,4 +22,6 @@ public interface TemporaryActivityClockCoreService {
* @param clockCoordinates 打卡经纬度
*/
void
clockStoreCalDistance
(
String
storeQcId
,
Long
id
,
String
clockCoordinates
);
void
updateClockPhoto
(
TemporaryClockDto
dto
);
}
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityClockCoreServiceImpl.java
浏览文件 @
46ad7041
...
...
@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSONObject;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityLogDao
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper
;
import
com.wangxiaolu.promotion.enums.activity.ActivityPhotoType
;
import
com.wangxiaolu.promotion.enums.activity.ClockType
;
import
com.wangxiaolu.promotion.enums.activity.LogType
;
import
com.wangxiaolu.promotion.exception.ParamException
;
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.TemporaryActivityClockCoreService
;
import
com.wangxiaolu.promotion.utils.OkHttp
;
...
...
@@ -77,6 +79,20 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
// clockStoreCalDistanceByStoreQcId(storeQcId, clockCoordinates);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
updateClockPhoto
(
TemporaryClockDto
dto
)
{
TemporaryPhotoWrapper
pw
=
new
TemporaryPhotoWrapper
()
.
setType
(
dto
.
getBrevityClockType
())
.
setClockId
(
dto
.
getId
())
.
setTemporaryId
(
dto
.
getTemporaryId
());
// 根据id、type修改照片删除状态
tempActivityPhotoDao
.
updateStatus
(
pw
,
0
);
// 将照片新增到表
tempActivityPhotoDao
.
saveClockPhotoByUpdate
(
dto
.
getTemporaryId
(),
dto
.
getId
(),
dto
.
getBrevityClockType
(),
dto
.
getBrevityClockPhoto
());
}
private
void
clockStoreCalDistanceByStoreQcId
(
String
storeQcId
,
String
clockCoordinates
)
{
// 查询组织架构参数、创建url
String
[]
clockCoordinateArr
=
clockCoordinates
.
split
(
","
);
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityClockQueryServiceImpl.java
浏览文件 @
46ad7041
...
...
@@ -3,8 +3,10 @@ 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.dao.TemporaryActivityPhotoDao
;
import
com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityPhotoDO
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.enums.activity.ActivityPhotoType
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityPhotoDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -67,11 +69,36 @@ public class TemporaryActivityClockQueryServiceImpl implements TemporaryActivity
if
(
Objects
.
isNull
(
temporaryClockDto
))
{
return
;
}
Map
<
Integer
,
String
>
photoGroup
=
temporaryActivityPhotoDao
.
findClockPhotoGroupByClockId
(
temporaryClockDto
.
getId
());
temporaryClockDto
.
setClockInPhoto
(
photoGroup
.
get
(
ActivityPhotoType
.
CLOCK_IN
.
getType
()));
temporaryClockDto
.
setNoonClockOutPhoto
(
photoGroup
.
get
(
ActivityPhotoType
.
NOON_CLOCK_OUT
.
getType
()));
temporaryClockDto
.
setNoonClockInPhoto
(
photoGroup
.
get
(
ActivityPhotoType
.
NOON_CLOCK_IN
.
getType
()));
temporaryClockDto
.
setClockOutPhoto
(
photoGroup
.
get
(
ActivityPhotoType
.
CLOCK_OUT
.
getType
()));
Map
<
Integer
,
TemporaryActivityPhotoDto
>
photoGroup
=
temporaryActivityPhotoDao
.
findClockPhotoGroupByClockId
(
temporaryClockDto
.
getId
());
// 上班打卡
TemporaryActivityPhotoDto
clockInPhotoDto
=
photoGroup
.
get
(
ActivityPhotoType
.
CLOCK_IN
.
getType
());
if
(
Objects
.
nonNull
(
clockInPhotoDto
)){
temporaryClockDto
.
setClockInPhoto
(
clockInPhotoDto
.
getPhotoUrl
());
temporaryClockDto
.
setClockInPhotoUpdateTime
(
clockInPhotoDto
.
getUpdateTime
());
}
// 午休下班卡
TemporaryActivityPhotoDto
noonClockOutPhotoDto
=
photoGroup
.
get
(
ActivityPhotoType
.
NOON_CLOCK_OUT
.
getType
());
if
(
Objects
.
nonNull
(
noonClockOutPhotoDto
)){
temporaryClockDto
.
setNoonClockOutPhoto
(
noonClockOutPhotoDto
.
getPhotoUrl
());
temporaryClockDto
.
setNoonClockOutPhotoUpdateTime
(
noonClockOutPhotoDto
.
getUpdateTime
());
}
// 午休上班卡
TemporaryActivityPhotoDto
noonClockInPhotoDto
=
photoGroup
.
get
(
ActivityPhotoType
.
NOON_CLOCK_IN
.
getType
());
if
(
Objects
.
nonNull
(
noonClockInPhotoDto
)){
temporaryClockDto
.
setNoonClockInPhoto
(
noonClockInPhotoDto
.
getPhotoUrl
());
temporaryClockDto
.
setNoonClockInPhotoUpdateTime
(
noonClockInPhotoDto
.
getUpdateTime
());
}
// 下班卡
TemporaryActivityPhotoDto
clockOutPhotoDto
=
photoGroup
.
get
(
ActivityPhotoType
.
CLOCK_OUT
.
getType
());
if
(
Objects
.
nonNull
(
clockOutPhotoDto
)){
temporaryClockDto
.
setClockOutPhoto
(
clockOutPhotoDto
.
getPhotoUrl
());
temporaryClockDto
.
setClockOutPhotoUpdateTime
(
clockOutPhotoDto
.
getUpdateTime
());
}
log
.
info
(
"查询打卡记录{}的所有图片:{}"
,
temporaryClockDto
.
getId
(),
photoGroup
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论