提交 365ceea5 authored 作者: 李秋林's avatar 李秋林

图片保存

上级 638c2f1a
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);
}
}
......@@ -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)) {
......
......@@ -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;
}
......
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
......
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);
}
......@@ -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查询
......
......@@ -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;
......
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;
}
}
......@@ -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[{}],数据信息:{}", tId, tDo);
return tId;
temporaryActivityReportedMapper.insert(tDo);
log.info("促销员今日活动上报数据完成,生成id[{}],数据信息:{}", tDo.getId(), tDo);
return tDo.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());
......
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> {
}
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
......@@ -18,7 +18,7 @@ public class TemporaryActivityWrapper {
/**
* temporaryId
*/
Long temporaryId;
Integer temporaryId;
/**
* 创建时间YYYY-MM-DD
......
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;
}
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();
}
}
......@@ -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;
/**
* 创建时间
*/
......
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;
......
......@@ -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;
}
package com.wangxiaolu.promotion.pojo.user.vo;
package com.wangxiaolu.promotion.pojo.activity.temporary.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
......
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());
......
......@@ -24,6 +24,7 @@ public enum RCode implements StatusCode {
*/
API_ERROR(2000, "业务异常"),
API_DATA_ERROR(2001, "业务数据异常"),
DATA_HAVE_ERROR(2002, "数据已存在,不可新增"),
/**
* user
......
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);
}
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
......
......@@ -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);
}
......@@ -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);
}
}
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);
}
}
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;
}
......
<?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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论