master:系统调优;

pull/1121/head
liujiang 2025-05-29 19:18:05 +08:00
parent c47da34197
commit 5be401c7cb
12 changed files with 110 additions and 75 deletions

View File

@ -7,9 +7,9 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.Page;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.web.controller.xkt.vo.adminAdvertRound.*;
import com.ruoyi.web.controller.xkt.vo.advertRound.AdRoundUploadPicVO;
import com.ruoyi.web.controller.xkt.vo.advertRound.AdRoundUpdateVO;
import com.ruoyi.xkt.dto.adminAdvertRound.*;
import com.ruoyi.xkt.dto.advertRound.AdRoundUploadPicDTO;
import com.ruoyi.xkt.dto.advertRound.AdRoundUpdateDTO;
import com.ruoyi.xkt.service.IAdminAdvertRoundService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -68,8 +68,8 @@ public class AdminAdvertRoundController extends XktBaseController {
@ApiOperation(value = "管理员上传档口推广图", httpMethod = "PUT", response = R.class)
@Log(title = "管理员上传档口推广图", businessType = BusinessType.UPDATE)
@PutMapping("/upload/pic")
public R<Integer> uploadAdvertPic(@Valid @RequestBody AdRoundUploadPicVO uploadPicVO) {
return R.ok(adminAdvertRoundService.uploadAdvertPic(BeanUtil.toBean(uploadPicVO, AdRoundUploadPicDTO.class)));
public R<Integer> uploadAdvertPic(@Valid @RequestBody AdRoundUpdateVO uploadPicVO) {
return R.ok(adminAdvertRoundService.uploadAdvertPic(BeanUtil.toBean(uploadPicVO, AdRoundUpdateDTO.class)));
}
/**

View File

@ -118,12 +118,12 @@ public class AdvertRoundController extends XktBaseController {
}
/**
* 广
* 广
*/
@ApiOperation(value = "档口上传推广图", httpMethod = "PUT", response = R.class)
@PutMapping("/upload/pic")
public R<Integer> uploadAdvertPic(@Valid @RequestBody AdRoundUploadPicVO uploadPicVO) {
return R.ok(advertRoundService.uploadAdvertPic(BeanUtil.toBean(uploadPicVO, AdRoundUploadPicDTO.class)));
@ApiOperation(value = "档口上传推广图 或 修改商品", httpMethod = "PUT", response = R.class)
@PutMapping("/update")
public R<Integer> updateAdvert(@Valid @RequestBody AdRoundUpdateVO uploadPicVO) {
return R.ok(advertRoundService.updateAdvert(BeanUtil.toBean(uploadPicVO, AdRoundUpdateDTO.class)));
}
/**

View File

@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@ -15,11 +14,11 @@ import java.math.BigDecimal;
* @version v1.0
* @date 2025/3/27 15:12
*/
@ApiModel("档口上传推广图")
@ApiModel("档口上传推广图 或 修改商品")
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AdRoundUploadPicVO {
public class AdRoundUpdateVO {
@NotNull(message = "推广轮次ID不能为空!")
@ApiModelProperty(value = "推广轮次ID")
@ -27,14 +26,19 @@ public class AdRoundUploadPicVO {
@NotNull(message = "档口ID不能为空!")
@ApiModelProperty(value = "档口ID")
private Long storeId;
@NotBlank(message = "文件名称不能为空!")
@ApiModelProperty(value = "文件名称")
private String fileName;
@NotBlank(message = "文件路径不能为空!")
@ApiModelProperty(value = "文件路径")
private String fileUrl;
@NotNull(message = "文件大小不能为空!")
@ApiModelProperty(value = "文件大小")
private BigDecimal fileSize;
@ApiModelProperty(value = "推广图")
private ARUFileVO file;
@ApiModelProperty(value = "商品ID字符串")
private String prodIdStr;
@Data
public static class ARUFileVO {
@ApiModelProperty(value = "文件名称")
private String fileName;
@ApiModelProperty(value = "文件路径")
private String fileUrl;
@ApiModelProperty(value = "文件大小")
private BigDecimal fileSize;
}
}

View File

@ -0,0 +1,45 @@
package com.ruoyi.xkt.dto.advertRound;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@ApiModel("档口上传推广图 或 修改商品")
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AdRoundUpdateDTO {
@NotNull(message = "推广轮次ID不能为空!")
@ApiModelProperty(value = "推广轮次ID")
private Long advertRoundId;
@NotNull(message = "档口ID不能为空!")
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "推广图")
private ARUFileDTO file;
@ApiModelProperty(value = "商品ID字符串")
private String prodIdStr;
@Data
public static class ARUFileDTO {
@ApiModelProperty(value = "文件名称")
private String fileName;
@ApiModelProperty(value = "文件路径")
private String fileUrl;
@ApiModelProperty(value = "文件大小")
private BigDecimal fileSize;
}
}

View File

@ -1,33 +0,0 @@
package com.ruoyi.xkt.dto.advertRound;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@ApiModel("档口上传推广图")
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AdRoundUploadPicDTO {
@ApiModelProperty(value = "推广轮次ID")
private Long advertRoundId;
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "文件名称")
private String fileName;
@ApiModelProperty(value = "文件路径")
private String fileUrl;
@ApiModelProperty(value = "文件大小")
private BigDecimal fileSize;
}

View File

@ -1,10 +1,13 @@
package com.ruoyi.xkt.dto.advertRound;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @author liujiang
* @version v1.0
@ -35,6 +38,9 @@ public class AdvertRoundStorePageResDTO {
private String endTime;
@ApiModelProperty(value = "出价")
private String payPrice;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty(value = "凭证日期")
private Date voucherDate;
@ApiModelProperty(value = "投放状态")
private Integer launchStatus;
@ApiModelProperty(value = "投放状态")

View File

@ -2,7 +2,7 @@ package com.ruoyi.xkt.service;
import com.ruoyi.common.core.page.Page;
import com.ruoyi.xkt.dto.adminAdvertRound.*;
import com.ruoyi.xkt.dto.advertRound.AdRoundUploadPicDTO;
import com.ruoyi.xkt.dto.advertRound.AdRoundUpdateDTO;
/**
* 广Service
@ -42,7 +42,7 @@ public interface IAdminAdvertRoundService {
* @param picDTO 广
* @return Integer
*/
Integer uploadAdvertPic(AdRoundUploadPicDTO picDTO);
Integer uploadAdvertPic(AdRoundUpdateDTO picDTO);
/**
* 广

View File

@ -104,7 +104,7 @@ public interface IAdvertRoundService {
* @param picDTO 广
* @return Integer
*/
Integer uploadAdvertPic(AdRoundUploadPicDTO picDTO);
Integer updateAdvert(AdRoundUpdateDTO picDTO);
/**
*

View File

@ -17,7 +17,7 @@ import com.ruoyi.xkt.domain.AdvertRoundRecord;
import com.ruoyi.xkt.domain.AdvertStoreFile;
import com.ruoyi.xkt.domain.SysFile;
import com.ruoyi.xkt.dto.adminAdvertRound.*;
import com.ruoyi.xkt.dto.advertRound.AdRoundUploadPicDTO;
import com.ruoyi.xkt.dto.advertRound.AdRoundUpdateDTO;
import com.ruoyi.xkt.enums.*;
import com.ruoyi.xkt.mapper.AdvertRoundMapper;
import com.ruoyi.xkt.mapper.AdvertRoundRecordMapper;
@ -160,7 +160,7 @@ public class AdminAdvertRoundServiceImpl implements IAdminAdvertRoundService {
*/
@Override
@Transactional
public Integer uploadAdvertPic(AdRoundUploadPicDTO picDTO) {
public Integer uploadAdvertPic(AdRoundUpdateDTO picDTO) {
// TODO 判断当前是否是管理员
this.isSuperAdmin();

View File

@ -562,15 +562,28 @@ public class AdvertRoundServiceImpl implements IAdvertRoundService {
*/
@Override
@Transactional
public Integer uploadAdvertPic(AdRoundUploadPicDTO picDTO) {
AdvertRound advertRound = Optional.ofNullable(this.advertRoundMapper.selectOne(new LambdaQueryWrapper<AdvertRound>()
public Integer updateAdvert(AdRoundUpdateDTO picDTO) {
// TODO 若为 已过期、已退订,则不可修改
// TODO 若为 待投放,判断上传时间是否为 推广开始前一晚 22:20 分
// TODO 若为 投放中,则判断 voucherDate 是否等于当天,若是,则再判断 是否晚于22:20分若是则不可编辑
/* AdvertRound advertRound = Optional.ofNullable(this.advertRoundMapper.selectOne(new LambdaQueryWrapper<AdvertRound>()
.eq(AdvertRound::getId, picDTO.getAdvertRoundId()).eq(AdvertRound::getDelFlag, Constants.UNDELETED)))
.orElseThrow(() -> new ServiceException("推广位不存在!", HttpStatus.ERROR));
SysFile file = BeanUtil.toBean(picDTO, SysFile.class);
int count = this.fileMapper.insert(file);
// 更新推广位的图片ID
advertRound.setPicId(file.getId());
return this.advertRoundMapper.updateById(advertRound);
return this.advertRoundMapper.updateById(advertRound);*/
return null;
}
/**

View File

@ -32,6 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
s.store_name,
ar.type_id,
CONCAT('位置', ar.position) AS position,
ar.voucher_date,
ar.start_time,
ar.end_time,
ar.pay_price,
@ -71,6 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
s.store_name,
a.platform_id,
ar.type_id,
ar.voucher_date,
CONCAT('位置', ar.position) AS position,
ar.start_time,
ar.end_time,

View File

@ -40,22 +40,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sp.id,
s.store_name AS storeName,
sf.file_url AS mainPic,
spca1.dict_value AS season,
spca2.dict_value AS style,
spca.suitable_season AS season,
spca.style AS style,
spcp.min_price AS prodPrice,
spc1.`name` AS prodCateName,
spc2.id AS parCateId,
spc2.`name` AS parCateName
FROM
store_product sp
LEFT JOIN store s ON sp.store_id = s.id
LEFT JOIN store_product_file spf ON sp.id = spf.store_prod_id AND spf.del_flag = 0 AND spf.file_type = 1 AND spf.order_num = 1
LEFT JOIN sys_file sf ON spf.file_id = sf.id
LEFT JOIN store_product_category_attribute spca1 ON sp.id = spca1.store_prod_id AND spca1.dict_type = 'suitable_season'
LEFT JOIN sys_product_category spc1 ON sp.prod_cate_id = spc1.id
LEFT JOIN sys_product_category spc2 ON spc1.parent_id = spc2.id
LEFT JOIN store_product_category_attribute spca2 ON sp.id = spca2.store_prod_id AND spca2.dict_type = 'style'
LEFT JOIN ( SELECT store_prod_id, MIN( price ) AS min_price FROM store_product_color_price GROUP BY store_prod_id ) spcp ON sp.id = spcp.store_prod_id
LEFT JOIN store s ON sp.store_id = s.id
LEFT JOIN store_product_file spf ON sp.id = spf.store_prod_id AND spf.del_flag = 0 AND spf.file_type = 1 AND spf.order_num = 1
LEFT JOIN sys_file sf ON spf.file_id = sf.id
LEFT JOIN store_product_category_attribute spca ON sp.id = spca.store_prod_id
LEFT JOIN sys_product_category spc1 ON sp.prod_cate_id = spc1.id
LEFT JOIN sys_product_category spc2 ON spc1.parent_id = spc2.id
LEFT JOIN ( SELECT store_prod_id, MIN( price ) AS min_price FROM store_product_color_price GROUP BY store_prod_id ) spcp ON sp.id = spcp.store_prod_id
WHERE
sp.del_flag = 0 AND sp.id IN
<foreach item="id" collection="idList" open="(" separator="," close=")">
@ -66,12 +65,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getStyleList" >
SELECT DISTINCT
dict_value
style
FROM
store_product_category_attribute
WHERE
dict_type = 'style'
AND del_flag = 0
del_flag = 0
</select>