提交 046db9fe authored 作者: 000516's avatar 000516 提交者: Coding

推送促销数据到电子表格时,新增数据

推送促销数据到电子表格时,新增数据
......@@ -103,11 +103,13 @@ public class ActivityToFeishuSheet {
log.info("============== 活动记录上传飞书 end ==============");
}
/**
* @param activityIds 6166L,6181L,6319L,6359L,6431L
*/
@GetMapping("/feishu/ids_sheet")
public void idsActivityList(){
public void idsActivityList(List<Long> activityIds){
log.info("============== 活动记录上传飞书 start ==============");
List<Long> activityIds = Arrays.asList(6166L,6181L,6319L,6359L,6431L,6514L,6542L,6648L,6745L,6797L);
List<TemporaryActivityReportedDO> reportedDos = promotionActivityService.findActivityListByIds(activityIds);
log.info("应上传飞书{}条活动记录",reportedDos.size());
......
......@@ -21,6 +21,7 @@ public class TemporaryActivityClockDO implements Serializable {
private Long reportedId;
private String createDate;
private String qinceStoreCode;
/**
* 上班打卡地址
......
......@@ -6,6 +6,7 @@ import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
*
......@@ -35,6 +36,7 @@ public class TemporaryActivityPhotoDO implements Serializable {
* 图片http地址
*/
private String photoUrl;
private Date createTime;
@TableField(exist = false)
......
......@@ -123,6 +123,9 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
// 系统名称
row.add(rdo.getLineName());
// 勤策门店编码
row.add(clockDo.getQinceStoreCode());
// 门店名称
row.add(rdo.getStoreName());
......@@ -132,7 +135,7 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
// 是否提交审核
row.add("APPROVED".equals(rdo.getApproveStatus()) ? "已审核" : "未提交");
// 推广活动销额(元) N
// 推广活动销额(元) O
row.add("0");
// 上传文本数据
......@@ -140,14 +143,14 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
String rowNumStr = redisCache.get(getRowNumRedisKey());
if (StringUtils.isBlank(rowNumStr)) {
log.error("行标识[{}]为未发生改变,当前行不做图片处理,上传数据:{}", rowNumStr, row.toString());
log.error("行标识[{}]为未发生改变,当前行不做图片处理,上传数据:{}", rowNumStr, row);
return;
}
String rangFormat = sheetInfoD.getSheetId() + "!%s" + rowNumStr + ":%s" + rowNumStr;
// S-V: 上班打卡时间/地点 午休下班打卡时间/地点 午休上班打卡时间/地点 下班打卡时间/地点
// T-AB: 上班打卡时间/地点 午休下班打卡时间/地点 午休上班打卡时间/地点 下班打卡时间/地点
if (Objects.nonNull(clockDo)){
List<Object> rowClockData = new ArrayList<>();
if (Objects.nonNull(clockDo.getClockInTime()) && Objects.nonNull(clockDo.getClockOutTime())){
......@@ -158,11 +161,15 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
}else {
rowClockData.add("0");
}
rowClockData.add("【"+DateUtil.formatDateTime(clockDo.getClockInTime())+"】" + clockDo.getClockInAddress());
rowClockData.add("【"+DateUtil.formatDateTime(clockDo.getNoonClockOutTime())+"】" + clockDo.getNoonClockOutAddress());
rowClockData.add("【"+DateUtil.formatDateTime(clockDo.getNoonClockInTime())+"】" + clockDo.getNoonClockInAddress());
rowClockData.add("【"+DateUtil.formatDateTime(clockDo.getClockOutTime())+"】" + clockDo.getClockOutAddress());
String range =String.format(rangFormat, "S", "W");
rowClockData.add(DateUtil.formatDateTime(clockDo.getClockInTime()));
rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockOutTime()));
rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockInTime()));
rowClockData.add(DateUtil.formatDateTime(clockDo.getClockOutTime()));
rowClockData.add(clockDo.getClockInAddress());
rowClockData.add(clockDo.getNoonClockOutAddress());
rowClockData.add(clockDo.getNoonClockInAddress());
rowClockData.add(clockDo.getClockOutAddress());
String range =String.format(rangFormat, "T", "AB");
updateClockData(range,rowClockData);
}
......@@ -183,22 +190,22 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
// 真实pos证明反馈1 >>>
if (!(photosType7Size < 1 || Objects.isNull(photosType7.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "O", "O"), photosType7.get(0).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "P", "P"), photosType7.get(0).getPhotoUrl());
}
// 真实pos证明反馈2 >>>
if (!(photosType7Size < 2 || Objects.isNull(photosType7.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "P", "P"), photosType7.get(1).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "Q", "Q"), photosType7.get(1).getPhotoUrl());
}
// 真实pos证明反馈3 >>>
if (!(photosType7Size < 3 || Objects.isNull(photosType7.get(2)))) {
valuesImageToSheet(String.format(rangFormat, "Q", "Q"), photosType7.get(2).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "R", "R"), photosType7.get(2).getPhotoUrl());
}
// 真实pos证明反馈4 >>>
if (!(photosType7Size < 4 || Objects.isNull(photosType7.get(3)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "R", "R"), photosType7.get(3).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "S", "S"), photosType7.get(3).getPhotoUrl());
}
log.info("上传pos照片完成,行号:{}", rowNumStr);
......@@ -209,48 +216,53 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
Map<Integer, String> clockMap = activityClock.stream().collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl));
// 上班打卡照片 >>>
if (clockMap.containsKey(4)) {
valuesImageToSheet(String.format(rangFormat, "X", "X"), clockMap.get(4));
valuesImageToSheet(String.format(rangFormat, "AC", "AC"), clockMap.get(4));
}
// 午休下班打卡照片 >>>
if (clockMap.containsKey(5)) {
valuesImageToSheetByRobot2(String.format(rangFormat, "Y", "Y"), clockMap.get(5));
valuesImageToSheetByRobot2(String.format(rangFormat, "AD", "AD"), clockMap.get(5));
}
// 午休上班打卡照片 >>>
if (clockMap.containsKey(6)) {
valuesImageToSheet(String.format(rangFormat, "Z", "Z"), clockMap.get(6));
valuesImageToSheet(String.format(rangFormat, "AE", "AE"), clockMap.get(6));
}
// 下班打卡照片 >>>
if (clockMap.containsKey(7)) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AA", "AA"), clockMap.get(7));
valuesImageToSheetByRobot2(String.format(rangFormat, "AF", "AF"), clockMap.get(7));
}
log.info("上传打卡照片完成,行号:{}", rowNumStr);
/**
* 推广试吃照片
*/
StringBuilder pct = new StringBuilder();
List<TemporaryActivityPhotoDO> photosType1 = Objects.isNull(photoTypeMap.get(1)) ? new ArrayList<>() : photoTypeMap.get(1);
int photosType1Size = photosType1.size();
// 推广试吃照片1 >>>
if (!(photosType1Size < 1 || Objects.isNull(photosType1.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AB", "AB"), photosType1.get(0).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AG", "AG"), photosType1.get(0).getPhotoUrl());
pct.append("试吃1:"+DateUtil.formatDateTime(photosType1.get(0).getCreateTime()));
}
// 推广试吃照片2 >>>
if (!(photosType1Size < 2 || Objects.isNull(photosType1.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AC", "AC"), photosType1.get(1).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AH", "AH"), photosType1.get(1).getPhotoUrl());
pct.append("、试吃2:"+DateUtil.formatDateTime(photosType1.get(1).getCreateTime()));
}
// 推广试吃照片3 >>>
if (!(photosType1Size < 3 || Objects.isNull(photosType1.get(2)))) {
valuesImageToSheet(String.format(rangFormat, "AD", "AD"), photosType1.get(2).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AI", "AI"), photosType1.get(2).getPhotoUrl());
pct.append("、试吃3:"+DateUtil.formatDateTime(photosType1.get(2).getCreateTime()));
}
// 推广试吃照片4 >>>
if (!(photosType1Size < 4 || Objects.isNull(photosType1.get(3)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AE", "AE"), photosType1.get(3).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AJ", "AJ"), photosType1.get(3).getPhotoUrl());
pct.append("、试吃4:"+DateUtil.formatDateTime(photosType1.get(3).getCreateTime()));
}
log.info("上传推广-试吃照片完成,行号:{}", rowNumStr);
......@@ -261,22 +273,26 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType2Size = photosType2.size();
// 推广互动照片1 >>>
if (!(photosType2Size < 1 || Objects.isNull(photosType2.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AF", "AF"), photosType2.get(0).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AK", "AK"), photosType2.get(0).getPhotoUrl());
pct.append("、互动1:"+DateUtil.formatDateTime(photosType2.get(0).getCreateTime()));
}
// 推广互动照片2 >>>
if (!(photosType2Size < 2 || Objects.isNull(photosType2.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AG", "AG"), photosType2.get(1).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AL", "AL"), photosType2.get(1).getPhotoUrl());
pct.append("、互动2:"+DateUtil.formatDateTime(photosType2.get(1).getCreateTime()));
}
// 推广互动照片3 >>>
if (!(photosType2Size < 3 || Objects.isNull(photosType2.get(2)))) {
valuesImageToSheet(String.format(rangFormat, "AH", "AH"), photosType2.get(2).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AM", "AM"), photosType2.get(2).getPhotoUrl());
pct.append("、互动3:"+DateUtil.formatDateTime(photosType2.get(2).getCreateTime()));
}
// 推广互动照片4 >>>
if (!(photosType2Size < 4 || Objects.isNull(photosType2.get(3)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AI", "AI"), photosType2.get(3).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AN", "AN"), photosType2.get(3).getPhotoUrl());
pct.append("、互动4:"+DateUtil.formatDateTime(photosType2.get(3).getCreateTime()));
}
log.info("上传推广-互动照片完成,行号:{}", rowNumStr);
......@@ -287,23 +303,32 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType3Size = photosType3.size();
// 推广成交照片1 >>>
if (!(photosType3Size < 1 || Objects.isNull(photosType3.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AJ", "AJ"), photosType3.get(0).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AO", "AO"), photosType3.get(0).getPhotoUrl());
pct.append("、成交1:"+DateUtil.formatDateTime(photosType3.get(0).getCreateTime()));
}
// 推广成交照片2 >>>
if (!(photosType3Size < 2 || Objects.isNull(photosType3.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AK", "AK"), photosType3.get(1).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AP", "AP"), photosType3.get(1).getPhotoUrl());
pct.append("、成交2:"+DateUtil.formatDateTime(photosType3.get(1).getCreateTime()));
}
// 推广成交照片3 >>>
if (!(photosType3Size < 3 || Objects.isNull(photosType3.get(2)))) {
valuesImageToSheet(String.format(rangFormat, "AL", "AL"), photosType3.get(2).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AQ", "AQ"), photosType3.get(2).getPhotoUrl());
pct.append("、成交3:"+DateUtil.formatDateTime(photosType3.get(2).getCreateTime()));
}
// 推广成交照片4 >>>
if (!(photosType3Size < 4 || Objects.isNull(photosType3.get(3)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AM", "AM"), photosType3.get(3).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AR", "AR"), photosType3.get(3).getPhotoUrl());
pct.append("、成交4:"+DateUtil.formatDateTime(photosType3.get(3).getCreateTime()));
}
// 推广类照片上传时间
String range =String.format(rangFormat, "AS", "AS");
updateClockData(range,Arrays.asList(pct.toString()));
log.info("上传推广-成交照片完成,行号:{}", rowNumStr);
}
......@@ -311,7 +336,7 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
String redisKey = getRowNumRedisKey();
String rowNumStr = redisCache.get(redisKey);
Integer rowNumNext = StringUtils.isBlank(rowNumStr) ? 2 : Integer.parseInt(rowNumStr) + 1;
String range = sheetInfoD.getSheetId() + "!A" + rowNumNext + ":N" + rowNumNext;
String range = sheetInfoD.getSheetId() + "!A" + rowNumNext + ":O" + rowNumNext;
Integer rowNumEnd = feishuSheetUtils.appendValueToSheet(range, rowData, sheetInfoD.getSheetToken(), getFeishuTenantToken1());
if (rowNumEnd < 1) {
......
......@@ -2,9 +2,10 @@ spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://bj-cdb-j8ppdy86.sql.tencentcdb.com:63569/promotion_dev?autoReconnect=true
username: LnNDBM
password: fd0%bhD4@oO(%
# url: jdbc:mysql://bj-cdb-j8ppdy86.sql.tencentcdb.com:63569/promotion_dev?autoReconnect=true
url: jdbc:mysql://192.168.100.39:25301/promotion_dev?autoReconnect=true
username: root
password: Zt%68Dsuv&M
redis:
port: 21101
host: bj-crs-oyzhz3c6.sql.tencentcdb.com
......
......@@ -10,6 +10,8 @@
<collection property="photoList" ofType="com.wangxiaolu.export.mapper.entity.TemporaryActivityPhotoDO">
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="photoUrl" column="photo_url" jdbcType="VARCHAR"/>
<result property="photoUrl" column="photo_url" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</collection>
</resultMap>
......@@ -17,6 +19,7 @@
<resultMap id="clockInfoMap" type="com.wangxiaolu.export.mapper.entity.TemporaryActivityClockDO">
<result property="temporaryId" column="temporary_id" jdbcType="BIGINT"/>
<result property="reportedId" column="reported_id" jdbcType="BIGINT"/>
<result property="qinceStoreCode" column="qince_store_code" jdbcType="VARCHAR"/>
<result property="createDate" column="create_date" jdbcType="VARCHAR"/>
<result property="clockInTime" column="clock_in_time" jdbcType="TIMESTAMP"/>
<result property="noonClockOutTime" column="noon_clock_out_time" jdbcType="TIMESTAMP"/>
......@@ -49,7 +52,8 @@
ar.temporary_id temporary_id,
ar.create_date create_date,
ap.type type,
ap.photo_url photo_url
ap.photo_url photo_url,
ap.create_time create_time
from
temporary_activity_reported ar
inner join temporary_activity_clock ac on ar.temporary_id = ac.temporary_id
......@@ -75,6 +79,7 @@
<select id="findClockListByActivityIds" resultMap="clockInfoMap">
SELECT
reported_id,
qince_store_code,
clock_in_time,
clock_in_address,
noon_clock_out_time,
......
......@@ -10,10 +10,11 @@
<result property="clockId" column="clock_id" jdbcType="BIGINT"/>
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="photoUrl" column="photo_url" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="findActivityPhotos" resultMap="BaseResultMap">
select reported_id, type, photo_url
select reported_id, type, photo_url,create_time
from temporary_activity_photo
where is_delete = 1
and reported_id in
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论