提交 aa21b0f6 authored 作者: douxy's avatar douxy

CP计划小程序改造,新增呢个照片逻辑保存

上级 0974ac19
...@@ -33,6 +33,32 @@ import java.util.stream.Collectors; ...@@ -33,6 +33,32 @@ import java.util.stream.Collectors;
@Service @Service
public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetService { public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetService {
// ========== 新增:照片类型常量定义 ==========
/** 推广试吃照片 */
private static final int PHOTO_TYPE_TGSC = 1;
/** 推广互动照片 */
private static final int PHOTO_TYPE_TGHD = 2;
/** 推广成交照片 */
private static final int PHOTO_TYPE_TGCJ = 3;
/** 上班打卡图片 */
private static final int PHOTO_TYPE_CLOCK_IN = 4;
/** 午休下班打卡图片 */
private static final int PHOTO_TYPE_NOON_CLOCK_OUT = 5;
/** 午休上班打卡图片 */
private static final int PHOTO_TYPE_NOON_CLOCK_IN = 6;
/** 下班打卡图片 */
private static final int PHOTO_TYPE_CLOCK_OUT = 7;
/** 当日销量POS机页面凭证 */
private static final int PHOTO_TYPE_POS_SELL_VOUCHER = 8;
/** 试吃照片 */
private static final int PHOTO_TYPE_TASTY_PHOTO = 9;
/** 配发赠品照片 */
private static final int PHOTO_TYPE_SEND_GIFT_PHOTO = 10;
/** 高峰期在岗 */
private static final int PHOTO_TYPE_RANDOM_TASK = 11;
/** 试吃物料照片 */
private static final int PHOTO_TYPE_TASTY_MATERIALS = 12;
private static FeishuSheetRecordDO sheetInfoD = null; private static FeishuSheetRecordDO sheetInfoD = null;
@Value("${feishu.activity_robot_1.app_id}") @Value("${feishu.activity_robot_1.app_id}")
...@@ -44,6 +70,7 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -44,6 +70,7 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
@Value("${feishu.activity_robot_2.app_secret}") @Value("${feishu.activity_robot_2.app_secret}")
private String appSecret2; private String appSecret2;
@Autowired @Autowired
RedisCache redisCache; RedisCache redisCache;
@Autowired @Autowired
...@@ -232,61 +259,71 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -232,61 +259,71 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
* 打卡类型大于等于9 的 单独筛选出处理 * 打卡类型大于等于9 的 单独筛选出处理
*/ */
Map<Integer, String> clockMap = activityPhotoDOS.stream() Map<Integer, String> clockMap = activityPhotoDOS.stream()
.filter(photo -> photo.getType() < 9 && photo.getType() >= 4) .filter(photo -> photo.getType() >= PHOTO_TYPE_CLOCK_IN && photo.getType() <= PHOTO_TYPE_CLOCK_OUT)
.collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl)); .collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl));
Map<Integer, List<TemporaryActivityPhotoDO>> taskMap = activityPhotoDOS.stream()
.filter(photo -> photo.getType() >= PHOTO_TYPE_POS_SELL_VOUCHER)
.collect(Collectors.groupingBy(TemporaryActivityPhotoDO::getType));
// 上班打卡照片 >>> // 上班打卡照片 >>>
if (clockMap.containsKey(4)) { if (clockMap.containsKey(PHOTO_TYPE_CLOCK_IN)) {
valuesImageToSheet(String.format(rangFormat, "AB", "AB"), clockMap.get(4)); valuesImageToSheet(String.format(rangFormat, "AB", "AB"), clockMap.get(PHOTO_TYPE_CLOCK_IN));
} }
StringBuilder pct = new StringBuilder(); StringBuilder pct = new StringBuilder();
List<TemporaryActivityPhotoDO> photosType1 = Objects.isNull(photoTypeMap.get(1)) ? new ArrayList<>() : photoTypeMap.get(1); List<TemporaryActivityPhotoDO> photosType1 = Objects.isNull(photoTypeMap.get(PHOTO_TYPE_TGSC)) ? new ArrayList<>() : photoTypeMap.get(PHOTO_TYPE_TGSC);
List<TemporaryActivityPhotoDO> photosType9 = Objects.isNull(photoTypeMap.get(PHOTO_TYPE_TASTY_PHOTO)) ? new ArrayList<>() : photoTypeMap.get(PHOTO_TYPE_TASTY_PHOTO);
List<TemporaryActivityPhotoDO> photosType12 = Objects.isNull(photoTypeMap.get(PHOTO_TYPE_TASTY_MATERIALS)) ? new ArrayList<>() : photoTypeMap.get(PHOTO_TYPE_TASTY_MATERIALS);
List<TemporaryActivityPhotoDO> photosType10 = Objects.isNull(photoTypeMap.get(PHOTO_TYPE_SEND_GIFT_PHOTO)) ? new ArrayList<>() : photoTypeMap.get(PHOTO_TYPE_SEND_GIFT_PHOTO);
int photosType9Size = photosType9.size();
int photosType1Size = photosType1.size(); int photosType1Size = photosType1.size();
// 推广试吃照片1 >>> int photosType12Size = photosType12.size();
if (!(photosType1Size < 1 || Objects.isNull(photosType1.get(0)))) { int photosType10Size = photosType10.size();
valuesImageToSheet(String.format(rangFormat, "AC", "AC"), photosType1.get(0).getPhotoUrl()); // 试吃品照片
pct.append("试吃1:"+DateUtil.formatDateTime(photosType1.get(0).getCreateTime())); if (!(photosType9Size < 1 || Objects.isNull(photosType9.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AC", "AC"), photosType9.get(0).getPhotoUrl());
pct.append("试吃品照片:"+DateUtil.formatDateTime(photosType9.get(0).getCreateTime()));
} }
// 推广试吃照片2 >>> // 试吃必备物料(试吃台/盘/杯)照片 >>>
if (!(photosType1Size < 2 || Objects.isNull(photosType1.get(1)))) { if (!(photosType12Size < 1 || Objects.isNull(photosType12.get(0)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AD", "AD"), photosType1.get(1).getPhotoUrl()); valuesImageToSheetByRobot2(String.format(rangFormat, "AD", "AD"), photosType12.get(0).getPhotoUrl());
pct.append("、试吃2:"+DateUtil.formatDateTime(photosType1.get(1).getCreateTime())); pct.append("、试吃必备物料:"+DateUtil.formatDateTime(photosType12.get(0).getCreateTime()));
} }
// 推广试吃照片4 >>> // 配发赠品照片 >>>
if (!(photosType1Size < 4 || Objects.isNull(photosType1.get(3)))) { if (!(photosType10Size < 1 || Objects.isNull(photosType10.get(0)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AE", "AE"), photosType1.get(3).getPhotoUrl()); valuesImageToSheetByRobot2(String.format(rangFormat, "AE", "AE"), photosType10.get(0).getPhotoUrl());
pct.append("、试吃4:"+DateUtil.formatDateTime(photosType1.get(3).getCreateTime())); pct.append("、配发赠品照片:"+DateUtil.formatDateTime(photosType10.get(0).getCreateTime()));
} }
log.info("上传推广-试吃照片完成,行号:{}", rowNumStr); log.info("上传推广-试吃照片完成,行号:{}", rowNumStr);
// 午休下班打卡照片 >>> // 午休下班打卡照片 >>>
if (clockMap.containsKey(5)) { if (clockMap.containsKey(PHOTO_TYPE_NOON_CLOCK_OUT)) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AF", "AF"), clockMap.get(5)); valuesImageToSheetByRobot2(String.format(rangFormat, "AF", "AF"), clockMap.get(PHOTO_TYPE_NOON_CLOCK_OUT));
} }
// 午休上班打卡照片 >>> // 午休上班打卡照片 >>>
if (clockMap.containsKey(6)) { if (clockMap.containsKey(PHOTO_TYPE_NOON_CLOCK_IN)) {
valuesImageToSheet(String.format(rangFormat, "AG", "AG"), clockMap.get(6)); valuesImageToSheet(String.format(rangFormat, "AG", "AG"), clockMap.get(PHOTO_TYPE_NOON_CLOCK_IN));
} }
/** /**
* 推广试吃照片 * 推广试吃照片
*/ */
// 推广试吃照片3 >>>
if (!(photosType1Size < 3 || Objects.isNull(photosType1.get(2)))) { // 试吃执行照片 推广试吃照片3 >>>
valuesImageToSheet(String.format(rangFormat, "AH", "AH"), photosType1.get(2).getPhotoUrl()); if (!(photosType1Size < 1 || Objects.isNull(photosType1.get(0)))) {
pct.append("、试吃3:"+DateUtil.formatDateTime(photosType1.get(2).getCreateTime())); valuesImageToSheet(String.format(rangFormat, "AH", "AH"), photosType1.get(0).getPhotoUrl());
pct.append("、试吃3:"+DateUtil.formatDateTime(photosType1.get(0).getCreateTime()));
} }
/** /**
* 推广互动照片 * 推广互动照片
*/ */
List<TemporaryActivityPhotoDO> photosType2 = Objects.isNull(photoTypeMap.get(2)) ? new ArrayList<>() : photoTypeMap.get(2); List<TemporaryActivityPhotoDO> photosType2 = Objects.isNull(photoTypeMap.get(PHOTO_TYPE_TGHD)) ? new ArrayList<>() : photoTypeMap.get(PHOTO_TYPE_TGHD);
int photosType2Size = photosType2.size(); int photosType2Size = photosType2.size();
// 推广互动照片1 >>> // 推广互动照片 >>>
if (!(photosType2Size < 1 || Objects.isNull(photosType2.get(0)))) { if (!(photosType2Size < 1 || Objects.isNull(photosType2.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AI", "AI"), photosType2.get(0).getPhotoUrl()); valuesImageToSheet(String.format(rangFormat, "AI", "AI"), photosType2.get(0).getPhotoUrl());
pct.append("、互动1:"+DateUtil.formatDateTime(photosType2.get(0).getCreateTime())); pct.append("、互动1:"+DateUtil.formatDateTime(photosType2.get(0).getCreateTime()));
...@@ -296,37 +333,34 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -296,37 +333,34 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
/** /**
* 推广成交照片 * 推广成交照片
*/ */
List<TemporaryActivityPhotoDO> photosType3 = Objects.isNull(photoTypeMap.get(3)) ? new ArrayList<>() : photoTypeMap.get(3); List<TemporaryActivityPhotoDO> photosType3 = Objects.isNull(photoTypeMap.get(PHOTO_TYPE_TGCJ)) ? new ArrayList<>() : photoTypeMap.get(PHOTO_TYPE_TGCJ);
int photosType3Size = photosType3.size(); int photosType3Size = photosType3.size();
// 推广成交照片1 >>> // 推广成交照片1 >>>
if (!(photosType3Size < 1 || Objects.isNull(photosType3.get(0)))) { if (!(photosType3Size < 1 || Objects.isNull(photosType3.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AJ", "AJ"), photosType3.get(0).getPhotoUrl()); valuesImageToSheet(String.format(rangFormat, "AJ", "AJ"), photosType3.get(0).getPhotoUrl());
pct.append("、成交1:"+DateUtil.formatDateTime(photosType3.get(0).getCreateTime())); pct.append("、成交:"+DateUtil.formatDateTime(photosType3.get(0).getCreateTime()));
} }
Map<Integer, List<TemporaryActivityPhotoDO>> taskMap = activityPhotoDOS.stream()
.filter(photo -> photo.getType() >= 9)
.collect(Collectors.groupingBy(TemporaryActivityPhotoDO::getType ));
// 随机任务照片 // 高峰期在岗照片
List<TemporaryActivityPhotoDO> randTaskPhotos = taskMap.get(10); List<TemporaryActivityPhotoDO> randTaskPhotos = taskMap.get(PHOTO_TYPE_RANDOM_TASK);
if (ObjectUtil.isNotEmpty(randTaskPhotos) && randTaskPhotos.size() > 0 && ObjectUtil.isNotEmpty(randTaskPhotos.get(0))) { if (ObjectUtil.isNotEmpty(randTaskPhotos) && randTaskPhotos.size() > 0 && ObjectUtil.isNotEmpty(randTaskPhotos.get(0))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AK", "AK"), randTaskPhotos.get(0).getPhotoUrl()); valuesImageToSheetByRobot2(String.format(rangFormat, "AK", "AK"), randTaskPhotos.get(0).getPhotoUrl());
pct.append("、随机任务:"+DateUtil.formatDateTime(randTaskPhotos.get(0).getCreateTime())); pct.append("、高峰期在岗:"+DateUtil.formatDateTime(randTaskPhotos.get(0).getCreateTime()));
} }
/** /**
* 推广照>> 真实pos证明反馈 * 推广照>> 真实pos证明反馈
*/ */
List<TemporaryActivityPhotoDO> photosType8 = Objects.isNull(photoTypeMap.get(8)) ? new ArrayList<>() : photoTypeMap.get(8); List<TemporaryActivityPhotoDO> photosType8 = Objects.isNull(photoTypeMap.get(PHOTO_TYPE_POS_SELL_VOUCHER)) ? new ArrayList<>() : photoTypeMap.get(PHOTO_TYPE_POS_SELL_VOUCHER);
int photosType8Size = photosType8.size(); int photosType8Size = photosType8.size();
// 真实pos证明反馈1 >>> // 真实pos证明反馈1 >>>
if (!(photosType8Size < 1 || Objects.isNull(photosType8.get(0))) ) { if (!(photosType8Size < 1 || Objects.isNull(photosType8.get(0))) ) {
valuesImageToSheet(String.format(rangFormat, "AL", "AL"), photosType8.get(0).getPhotoUrl()); valuesImageToSheet(String.format(rangFormat, "AL", "AL"), photosType8.get(0).getPhotoUrl());
pct.append("、销额POS证明:"+DateUtil.formatDateTime(photosType8.get(0).getCreateTime()));
}else if (StringUtils.isNotBlank(rdo.getPosManualSalesRecord() )) { }else if (StringUtils.isNotBlank(rdo.getPosManualSalesRecord() )) {
row.add(rdo.getPosManualSalesRecord()); row.add(rdo.getPosManualSalesRecord());
} }
...@@ -334,14 +368,15 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -334,14 +368,15 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
// 真实pos证明反馈2 >>> // 真实pos证明反馈2 >>>
if (!(photosType8Size < 2 || Objects.isNull(photosType8.get(1)))) { if (!(photosType8Size < 2 || Objects.isNull(photosType8.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AM", "AM"), photosType8.get(1).getPhotoUrl()); valuesImageToSheetByRobot2(String.format(rangFormat, "AM", "AM"), photosType8.get(1).getPhotoUrl());
pct.append("、销额POS证明(补充):"+DateUtil.formatDateTime(photosType8.get(1).getCreateTime()));
}else if (StringUtils.isNotBlank(rdo.getPosManualSalesRecord() )) { }else if (StringUtils.isNotBlank(rdo.getPosManualSalesRecord() )) {
row.add(rdo.getPosManualSalesRecord()); row.add(rdo.getPosManualSalesRecord());
} }
// 下班打卡照片 >>> // 下班打卡照片 >>>
if (clockMap.containsKey(7)) { if (clockMap.containsKey(PHOTO_TYPE_CLOCK_OUT)) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AN", "AN"), clockMap.get(7)); valuesImageToSheetByRobot2(String.format(rangFormat, "AN", "AN"), clockMap.get(PHOTO_TYPE_CLOCK_OUT));
} }
log.info("上传打卡照片完成,行号:{}", rowNumStr); log.info("上传打卡照片完成,行号:{}", rowNumStr);
// 推广类照片上传时间 // 推广类照片上传时间
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论