Commit d7863363 by kk

19389-运营各页面数据导出逻辑汇总

parent 90e61892
......@@ -2,6 +2,7 @@ package cn.kk.spring_simple_operation.mapper;
import cn.kk.spring_simple_operation.entity.PhotoProgress;
import cn.kk.spring_simple_operation.entity.PhotoProgressPerson;
import cn.kk.spring_simple_operation.model.vo.PhotoProcessExportVo;
import cn.kk.spring_simple_operation.model.vo.PhotoProgressPhotographerVo;
import cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......@@ -38,4 +39,6 @@ public interface PhotoProgressMapper extends BaseMapper<PhotoProgress> {
void updatePhotography(@Param("visualNumber") String visualNumber, @Param("userName") String userName, @Param("idList") List<Long> idList);
List<PhotoProgressPerson> getPhotoSkuSimpleVideoPhotography(@Param("skuList") List<String> skuList);
List<PhotoProcessExportVo> selectPhotoProcessList();
}
......@@ -2,6 +2,7 @@ package cn.kk.spring_simple_operation.mapper;
import cn.kk.spring_simple_operation.entity.VideoProduct;
import cn.kk.spring_simple_operation.model.dto.SkuSiteDTO;
import cn.kk.spring_simple_operation.model.vo.VideoProductExportVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -22,4 +23,6 @@ public interface VideoProductMapper extends BaseMapper<VideoProduct> {
List<String> selectHaveTask(@Param("skus") List<String> skus);
List<VideoProduct> getListBySkuAndSite(@Param("list") List<SkuSiteDTO> list);
List<VideoProductExportVo> selectVideoProductList();
}
package cn.kk.spring_simple_operation.model.vo;
import cn.kk.spring_simple_operation.utils.Excel;
import lombok.Data;
/**
* 摄影进度导出VO
* @author kk
* @date 2026/2/12
*/
@Data
public class PhotoProcessExportVo {
/**
* 部门
*/
@Excel(name = "部门")
private String dept;
/**
* 组别
*/
@Excel(name = "组别")
private String group;
/**
* SKU
*/
@Excel(name = "SKU")
private String sku;
/**
* 站点
*/
@Excel(name = "站点")
private String site;
/**
* 账号
*/
@Excel(name = "账号")
private String account;
/**
* 账号编辑
*/
@Excel(name = "账号编辑")
private String accountEdit;
/**
* 简易视频上传状态
*/
@Excel(name = "简易视频上传状态", readConverterExp = "0=未上传,1=已上传,2=其他,3=暂未上传,4=未上传(有更新),5=已删除")
private Integer simpleVideoUploadStatus;
/**
* 简易视频完成时间
*/
@Excel(name = "简易视频完成时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private Integer simpleVideoCompleteTime;
/**
* 简易视频地址
*/
@Excel(name = "简易视频地址")
private String simpleVideoUrl;
@Excel(name = "简易视频摄影师编号")
private String simpleVideoPhotographerNum;
@Excel(name = "简易视频摄影师名称")
private String simpleVideoPhotographerName;
}
package cn.kk.spring_simple_operation.model.vo;
import cn.kk.spring_simple_operation.utils.Excel;
import lombok.Data;
/**
* 视频产品导出VO
* @author kk
* @date 2026/2/12
*/
@Data
public class VideoProductExportVo {
/**
* 部门
*/
@Excel(name = "部门")
private String dept;
/**
* 组别
*/
@Excel(name = "组别")
private String group;
/**
* SKU
*/
@Excel(name = "SKU")
private String sku;
/**
* 站点
*/
@Excel(name = "站点")
private String site;
/**
* 账号
*/
@Excel(name = "账号")
private String account;
/**
* 账号编辑
*/
@Excel(name = "账号编辑")
private String accountEdit;
/**
* 视频是否上传后台
*/
@Excel(name = "视频是否上传后台", readConverterExp = "0=默认值,1=未完成,2=完成,3=不需要处理,4=暂未上传,5=已删除")
private Integer videoIsUploadBackstage;
/**
* 推送时间
*/
@Excel(name = "推送时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private Integer pushTime;
}
......@@ -154,4 +154,29 @@
#{sku}
</foreach>
</select>
<select id="selectPhotoProcessList" resultType="cn.kk.spring_simple_operation.model.vo.PhotoProcessExportVo">
SELECT
sac.dept,
sac.`group`,
pp.sku,
spp.site,
spp.account,
soos.account_edit AS accountEdit,
pp.simple_video_upload_status AS simpleVideoUploadStatus,
ppp.simple_video_complete_time AS simpleVideoCompleteTime,
ppp.simple_video_photographer_num,
ppp.simple_video_photographer_name,
pp.simple_video_url AS simpleVideoUrl
FROM
photo_progress pp
INNER JOIN photo_progress_person ppp ON ppp.id = pp.id
INNER JOIN sync_product_publish spp ON spp.sku = pp.sku
LEFT JOIN sync_other_operate_staff soos ON soos.account_nick_name = spp.account
LEFT JOIN sync_account_manager sac ON sac.manager_name = soos.account_edit
WHERE
pp.create_at > 1640966400
AND ppp.simple_video_complete_time BETWEEN 1735660800 AND 1770800400
AND pp.simple_video_upload_status = 0
</select>
</mapper>
......@@ -27,4 +27,35 @@
(#{item.sku}, #{item.site})
</foreach>
</select>
<select id="selectVideoProductList" resultType="cn.kk.spring_simple_operation.model.vo.VideoProductExportVo">
SELECT
sac.dept,
sac.`group`,
vp.sku,
spp.site,
spp.account,
soos.account_edit AS accountEdit,
vp.video_is_upload_backstage AS videoIsUploadBackstage,
vvp.upload_long_video_time AS pushTime
FROM
video_product vp
INNER JOIN visual_video_plan vvp ON vvp.id = vp.video_plan_id
AND vvp.is_delete = 0
INNER JOIN visual_photographer vp2 ON vp2.id = vp.photographer_id
AND vp2.is_delete = 0
INNER JOIN sync_product_publish spp ON spp.sku = vp.sku
AND spp.site = vp.site
LEFT JOIN sync_other_operate_staff soos ON soos.account_nick_name = spp.account
LEFT JOIN sync_account_manager sac ON sac.manager_name = soos.account_edit
WHERE
vp.is_delete = 0
AND vp.optimize_type = 0
AND vp.video_is_upload_backstage = 1
AND vvp.long_video_url > ''
AND vp2.editor_status = 2
AND vvp.upload_long_video_time BETWEEN 1735660800 AND 1770800400
group by vp.id
</select>
</mapper>
package cn.kk.spring_simple_operation;
import cn.kk.spring_simple_operation.mapper.PhotoProgressMapper;
import cn.kk.spring_simple_operation.mapper.SyncProductPublishMapper;
import cn.kk.spring_simple_operation.mapper.VideoProductMapper;
import cn.kk.spring_simple_operation.model.vo.BrandRecordStatisticsVo;
import cn.kk.spring_simple_operation.model.vo.PhotoProcessExportVo;
import cn.kk.spring_simple_operation.model.vo.VideoProductExportVo;
import cn.kk.spring_simple_operation.utils.DateUtils;
import cn.kk.spring_simple_operation.utils.ExcelUtil;
import com.google.common.collect.Lists;
......@@ -24,9 +28,40 @@ public class MyTest {
@Resource
private SyncProductPublishMapper syncProductPublishMapper;
@Resource
private PhotoProgressMapper photoProgressMapper;
@Resource
private VideoProductMapper videoProductMapper;
@Test
void exportVideoProductList() {
List<VideoProductExportVo> voList = videoProductMapper.selectVideoProductList();
if (CollectionUtils.isEmpty(voList)) {
System.out.println("没有查询到数据");
return;
}
ExcelUtil<VideoProductExportVo> util = new ExcelUtil<VideoProductExportVo>(VideoProductExportVo.class);
util.exportExcelFile(voList, "精细视频数据.xlsx");
System.out.println("导出完成,共 " + voList.size() + " 条数据");
}
@Test
void exportPhotoProcessList() {
List<PhotoProcessExportVo> voList = photoProgressMapper.selectPhotoProcessList();
if (CollectionUtils.isEmpty(voList)) {
System.out.println("没有查询到数据");
return;
}
ExcelUtil<PhotoProcessExportVo> util = new ExcelUtil<PhotoProcessExportVo>(PhotoProcessExportVo.class);
util.exportExcelFile(voList, "简易视频上传状态-运营.xlsx");
System.out.println("导出完成,共 " + voList.size() + " 条数据");
}
@Test
void contextLoads() {
void exportBrandList() {
ArrayList<String> accountList = Lists.newArrayList("HOD", "SDT", "AE", "HOL", "HON", "AH", "AI", "AL", "AN", "HOS", "AO", "HOU", "QAA", "AR", "SEE", "AU", "AW", "AY", "YQQ", "AZ", "FLA", "SEL", "QAO", "BA", "BB", "SES", "BC", "BD", "BE", "QAR", "SEW", "SEV", "SEY", "FLO", "BK", "BL", "BM", "BO", "BQ", "WNE", "BS", "BT", "BV", "BW", "BY", "JUA", "DIB", "DIA", "CA", "JUI", "LYN", "JUL", "CD", "CE", "CG", "CH", "CI", "JUQ", "CK", "DIN", "CL", "JUS", "CM", "CN", "JUU", "CO", "CP", "CR", "CS", "CU", "BEU", "CW", "WOO", "CZ", "WON", "BEY", "DA", "DB", "DC", "DD", "DE", "DF", "DG", "DH", "DI", "DK", "DL", "DN", "DO", "DQ", "DR", "DS", "JIZH", "DT", "DU", "SHE", "DW", "DY", "SHI", "SHN", "SHP", "SHO", "EA", "SHQ", "EC", "EE", "EF", "SHU", "EG", "EI", "YUA", "SHY", "EK", "EL", "YUE", "EN", "EO", "SIA", "YUG", "EP", "EQ", "YUI", "SIC", "ER", "YUH", "ES", "ET", "EU", "QEE", "SIG", "YUM", "YUL", "EW", "YUO", "SII", "EX", "YUN", "EY", "YUQ", "SIJ", "SIL", "YUR", "YUU", "SIO", "SIN", "YUT", "FA", "FB", "QEQ", "FC", "SIR", "YUX", "FD", "SIU", "FE", "FG", "HTN", "SIX", "FL", "FM", "FN", "WRD", "FR", "FS", "JYD", "HUB", "HUA", "HUD", "FQA", "HUE", "GA", "JYI", "GC", "HUJ", "BIC", "HUI", "SJU", "HUN", "HUM", "GJ", "GL", "HUQ", "GM", "HUS", "GO", "BIO", "HUU", "GR", "JYY", "GT", "GU", "OCE", "GY", "HA", "HB", "HC", "HD", "HE", "HF", "HG", "HI", "HJ", "HL", "HM", "HN", "HO", "YXE", "HR", "HS", "HT", "HU", "HY", "SLI", "HZ", "IA", "DOE", "IE", "IF", "IG", "II", "DON", "IL", "IM", "DOR", "QIA", "IT", "DOU", "YYJ", "IU", "IV", "DOZ", "DOY", "MAD", "SMO", "YYW", "JA", "QIN", "JB", "BLB", "JD", "MAO", "MAN", "QIR", "JF", "QIU", "JG", "QIT", "QIY", "JK", "JO", "JR", "JS", "JT", "JV", "JY", "JZ", "KA", "KB", "KF", "KG", "KH", "FUN", "KK", "KL", "KM", "KN", "KO", "KQ", "KS", "SOG", "KV", "KX", "KY", "KZ", "SON", "LA", "LB", "LE", "LG", "LH", "LI", "LL", "LM", "LN", "LO", "LS", "UTE", "LT", "SPE", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MI", "BOI", "MK", "ML", "MM", "MO", "MP", "BOO", "QMA", "MS", "MT", "MX", "QMF", "MY", "MEE", "BOY", "MZ", "MED", "MEG", "KAE", "MEF", "MEI", "KAI", "OIL", "MEM", "NC", "MEL", "MEN", "MEQ", "KAO", "NG", "KAS", "NL", "NM", "NO", "NS", "NT", "QNH", "OA", "OB", "DUC", "OC", "OE", "OF", "DUG", "OH", "DUI", "OJ", "OK", "DUN", "OL", "OM", "ON", "DUO", "OO", "OR", "DUU", "OU", "OV", "OY", "PA", "PD", "SSU", "PE", "PL", "lexq", "PP", "STA", "PR", "PS", "ZAI", "PT", "STE", "ZAN", "STJ", "OLI", "QA", "QE", "QG", "QI", "STY", "QP", "QQ", "SUE", "QU", "QX", "ZBN", "KED", "MII", "SUN", "KEI", "SUR", "KEJ", "RE", "MIN", "KEO", "KEN", "RH", "RI", "IAN", "MIU", "RK", "RO", "RP", "RS", "KEZ", "RT", "RU", "RY", "ZCO", "ONG", "SC", "SD", "SE", "MJO", "SG", "SH", "SI", "SJ", "ONU", "SK", "SL", "SO", "SP", "SR", "SS", "ST", "SW", "SZ", "TA", "TC", "TD", "TE", "TF", "TG", "TH", "TM", "TN", "TO", "ZEE", "TR", "TS", "TT", "TU", "TV", "TW", "TX", "XAN", "TY", "TZ", "XAO", "UA", "UD", "UE", "UG", "UJ", "UL", "SYA", "QUA", "UR", "US", "QUE", "UY", "MME", "QUN", "QUQ", "SYU", "VI", "KIR", "VO", "MNA", "WA", "WB", "WC", "WD", "WE", "WF", "WG", "WI", "WL", "WM", "WN", "IFS", "WO", "ZHI", "WS", "WT", "WV", "WW", "MOC", "ZHO", "ZHU", "ZHW", "MOO", "XE", "XI", "XJ", "XN", "ZIF", "XO", "MOX", "XP", "XS", "XU", "XEI", "VAN", "YB", "XEU", "YD", "YE", "YG", "YH", "YL", "YM", "YN", "YQ", "YR", "YS", "YT", "YU", "YW", "YX", "YY", "GEE", "ZA", "GEG", "GEI", "ZE", "ZH", "GEM", "ZI", "GEL", "ZJ", "ZK", "GEN", "ZM", "ZN", "GES", "ZO", "GET", "GEY", "GEX", "ZY", "GFA", "MRK", "KOO", "GGN", "KOU", "XIA", "VEA", "TAB", "XIE", "XIH", "XII", "XIL", "XIK", "XIN", "XIM", "VEN", "TAN", "XIQ", "TAO", "XIU", "XIX", "TAT", "TAY", "MTY", "MUA", "OYH", "MUI", "MUL", "GIM", "MUY", "EES", "CAS", "ZON", "XLA", "XLN", "TEA", "TEN", "TET", "KUA", "CEE", "KUL", "MYU", "KUR", "THE", "THI", "ISI", "GOH", "GOO", "GON", "GOR", "TID", "ZUN", "PAC", "ZUO", "TIL", "TIN", "ZUU", "TIO", "PAN", "CHA", "ELE", "CHE", "TIU", "CHH", "ELL", "CHI", "TIY", "CHO", "CHT", "CHS", "CHU", "CHX", "GQE", "CII", "ZWA", "GRA", "fob", "GRE", "GRH", "ENV", "GRY", "RHO", "RHY", "XUE", "XUL", "RIM", "PEN", "XUU", "NAN", "CLO", "NAY", "GUF", "GUI", "GUH", "GUR", "GUU", "TOO", "TOU", "COM", "COO", "COT", "PIN", "NEN", "LAN", "PIR", "NET", "NEV", "LAU", "NEW", "LAY", "ANB", "TSV", "CRI", "ANL", "TTC", "AOE", "PLU", "LED", "LEC", "JAA", "JAC", "LEE", "JAF", "NIL", "TUR", "LEI", "LEL", "LEN", "LEM", "JAN", "LER", "JAO", "LET", "JAX", "JAW", "JAY", "RRY", "ARI", "YAC", "YAJ", "YAN", "YAR", "YAW", "LHJ", "LIA", "RUJ", "RUI", "LIC", "LIF", "HAA", "LIE", "RUN", "JEE", "JEI", "LIN", "JEL", "HAI", "LIO", "RUX", "HAN", "LIR", "HAP", "JER", "HAT", "LIY", "HAY", "YCL", "PRI", "JGF", "JGG", "YEE", "WAE", "WAD", "YEI", "YEO", "YEN", "YES", "WAP", "YEU", "WAR", "WAY", "JIA", "JIH", "HEE", "PUM", "JIL", "HEL", "JIN", "HEN", "FAN", "HEQ", "YGE", "WCE", "FAS", "HEY", "LNA", "LNE", "LNG", "AYA", "LNN", "LNY", "AYO", "TJRW", "YHO", "LON", "LOM", "LOO", "YIE", "WEG", "YIO", "YIN", "WEN", "WEQ", "UAN", "YIU", "YIT", "FDE", "NUE", "HID", "HIC", "DAB", "DAC", "FEE", "HIJ", "HII", "DAG", "HIM", "FEN", "DAN", "FER", "DAO", "YKH", "FEY", "DAY", "JNE", "LRU", "JNU", "YLF", "YLI", "JOO", "YMF", "JOY", "SAI", "WIL", "SAH", "WIO", "SAN", "SAW", "YNG", "LUA", "DEA", "YNX", "YNY", "LUO", "DEL", "YOA", "BAN", "DER", "YOG", "YOF", "YOJ", "HMY", "YOL", "YON", "YOU");
//ArrayList<String> accountList = Lists.newArrayList("HOD", "SDT", "AE", "HOL", "HON", "AH", "AI", "AL", "AN", "HOS", "AO", "HOU");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment