master:系统调优;
parent
c47da34197
commit
5be401c7cb
|
|
@ -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)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -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 = "投放状态")
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
/**
|
||||
* 管理员拦截推广营销
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ public interface IAdvertRoundService {
|
|||
* @param picDTO 档口上传推广图入参
|
||||
* @return Integer
|
||||
*/
|
||||
Integer uploadAdvertPic(AdRoundUploadPicDTO picDTO);
|
||||
Integer updateAdvert(AdRoundUpdateDTO picDTO);
|
||||
|
||||
/**
|
||||
* 获取审核失败的拒绝理由
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue