master:管理员处理推广营销;

pull/1121/head
liujiang 2025-06-20 00:16:27 +08:00
parent f97d18d5cb
commit 49cb044ec9
26 changed files with 184 additions and 94 deletions

View File

@ -12,6 +12,7 @@ import com.ruoyi.xkt.service.INoticeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -28,6 +29,7 @@ public class NoticeController extends BaseController {
final INoticeService noticeService;
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "新增公告(档口公告、系统公告)", httpMethod = "POST", response = R.class)
@Log(title = "新增公告(档口公告、系统公告)", businessType = BusinessType.INSERT)
@PostMapping
@ -35,6 +37,7 @@ public class NoticeController extends BaseController {
return R.ok(noticeService.create(BeanUtil.toBean(createVO, NoticeCreateDTO.class)));
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "编辑公告(档口公告、系统公告)", httpMethod = "PUT", response = R.class)
@Log(title = "编辑公告", businessType = BusinessType.UPDATE)
@PutMapping
@ -48,6 +51,7 @@ public class NoticeController extends BaseController {
return R.ok(BeanUtil.toBean(noticeService.getInfo(noticeId), NoticeResVO.class));
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "删除公告(档口公告、系统公告)", httpMethod = "DELETE", response = R.class)
@Log(title = "删除公告", businessType = BusinessType.DELETE)
@DeleteMapping("")
@ -55,6 +59,7 @@ public class NoticeController extends BaseController {
return R.ok(noticeService.delete(BeanUtil.toBean(deleteVO, NoticeDeleteDTO.class)));
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "档口公告列表、系统公告列表 ", httpMethod = "POST", response = R.class)
@PostMapping("/page")
public R<Page<NoticeResDTO>> page(@Validated @RequestBody NoticePageVO pageVO) {

View File

@ -41,6 +41,14 @@ public class StoreController extends XktBaseController {
return R.ok(storeService.create(BeanUtil.toBean(createVO, StoreCreateDTO.class)));
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "模糊查询档口", httpMethod = "GET", response = R.class)
@Log(title = "模糊查询档口", businessType = BusinessType.UPDATE)
@GetMapping("/fuzzy")
public R<List<StoreNameResVO>> fuzzyQuery(@RequestParam(value = "storeName", required = false) String storeName) {
return R.ok(BeanUtil.copyToList(storeService.fuzzyQuery(storeName), StoreNameResVO.class));
}
@PreAuthorize("@ss.hasAnyRoles('store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "修改档口基本信息", httpMethod = "PUT", response = R.class)
@Log(title = "修改档口基本信息", businessType = BusinessType.UPDATE)

View File

@ -16,10 +16,10 @@ import javax.validation.constraints.NotNull;
public class AdminAdRoundAuditVO {
@NotNull(message = "advertRoundId不能为空")
@ApiModelProperty(value = "推广轮次ID")
@ApiModelProperty(value = "推广轮次ID", required = true)
private Long advertRoundId;
@NotNull(message = "storeId不能为空")
@ApiModelProperty(value = "档口ID")
@ApiModelProperty(value = "档口ID", required = true)
private Long storeId;
@ApiModelProperty(value = "图片审核状态 1 待审核 2 审核通过 3 审核驳回")
private Integer picAuditStatus;

View File

@ -23,13 +23,13 @@ import java.util.List;
public class AdminAdRoundSysInterceptVO {
@NotNull(message = "推广轮次ID不能为空")
@ApiModelProperty(value = "推广轮次ID")
@ApiModelProperty(value = "推广轮次ID", required = true)
private Long advertRoundId;
@NotNull(message = "档口ID不能为空")
@ApiModelProperty(value = "档口ID")
@ApiModelProperty(value = "档口ID", required = true)
private Long storeId;
@NotBlank(message = "档口名称不能为空")
@ApiModelProperty(value = "档口名称")
@ApiModelProperty(value = "档口名称", required = true)
private String storeName;
@ApiModelProperty(value = "管理员上传推广图")
private AARSIFileVO file;

View File

@ -17,10 +17,10 @@ import java.math.BigDecimal;
public class AdminAdRoundUnsubscribeVO {
@NotNull(message = "advertRoundId不能为空")
@ApiModelProperty(value = "推广轮次ID")
@ApiModelProperty(value = "推广轮次ID", required = true)
private Long advertRoundId;
@NotNull(message = "storeId不能为空")
@ApiModelProperty(value = "档口ID")
@ApiModelProperty(value = "档口ID", required = true)
private Long storeId;
@ApiModelProperty(value = "扣除金额")
private BigDecimal deductionFee;

View File

@ -21,41 +21,41 @@ import java.util.Date;
@Accessors(chain = true)
public class AdvertUpdateVO {
@ApiModelProperty(value = "推广ID")
@ApiModelProperty(value = "推广ID", required = true)
@NotNull(message = "推广ID不能为空!")
private Long advertId;
@NotNull(message = "推广平台ID不能为空!")
@ApiModelProperty(value = "推广平台ID")
@ApiModelProperty(value = "推广平台ID", required = true)
private Integer platformId;
@NotNull(message = "推广类型不能为空!")
@ApiModelProperty(value = "推广类型")
@ApiModelProperty(value = "推广类型", required = true)
private Integer typeId;
@NotNull(message = "推广tab不能为空!")
@ApiModelProperty(value = "推广tab")
@ApiModelProperty(value = "推广tab", required = true)
private Integer tabId;
@NotNull(message = "每个档口可以购买当前广告位数量限制不能为空!")
@ApiModelProperty(value = "每个档口可以购买当前广告位数量限制")
@ApiModelProperty(value = "每个档口可以购买当前广告位数量限制", required = true)
private Integer storeBuyLimit;
@NotNull(message = "播放轮次展示类型不能为空!")
@ApiModelProperty(value = "播放轮次展示类型 1 时间范围or 2位置枚举")
@ApiModelProperty(value = "播放轮次展示类型 1 时间范围or 2位置枚举", required = true)
private Integer showType;
@NotNull(message = "prodMaxNum不能为空!")
@ApiModelProperty(value = "播放商品,或者图及商品 最多可容纳的商品数量")
@ApiModelProperty(value = "播放商品,或者图及商品 最多可容纳的商品数量", required = true)
private Integer prodMaxNum;
@NotNull(message = "展示类型不能为空!")
@ApiModelProperty(value = "展示类型 1推广图、2商品、3推广图及商品")
@ApiModelProperty(value = "展示类型 1推广图、2商品、3推广图及商品", required = true)
private Integer displayType;
@NotNull(message = "起拍价格不能为空!")
@ApiModelProperty(value = "起拍价格")
@ApiModelProperty(value = "起拍价格", required = true)
private BigDecimal startPrice;
@NotNull(message = "播放间隔不能为空!")
@ApiModelProperty(value = "播放间隔")
@ApiModelProperty(value = "播放间隔", required = true)
private Integer playInterval;
@NotNull(message = "播放轮次不能为空!")
@ApiModelProperty(value = "播放轮次")
@ApiModelProperty(value = "播放轮次", required = true)
private Integer playRound;
@NotNull(message = "播放数量不能为空!")
@ApiModelProperty(value = "播放数量")
@ApiModelProperty(value = "播放数量", required = true)
private Integer playNum;
@ApiModelProperty(value = "推广范例图片")
private AdvertFileVO example;

View File

@ -92,7 +92,7 @@ public class StoreOrderQueryVO extends BasePageVO {
private String prodArtNum;
@NotNull(message = "来源页面不能为空")
@ApiModelProperty(value = "来源页面[1:卖家订单列表 2:档口订单列表]")
@ApiModelProperty(value = "来源页面[1:卖家订单列表 2:档口订单列表]", required = true)
private Integer srcPage;
}

View File

@ -17,11 +17,11 @@ import java.util.List;
public class StoreOrderRefundRejectVO {
@NotNull(message = "订单ID不能为空")
@ApiModelProperty(value = "订单ID")
@ApiModelProperty(value = "订单ID", required = true)
private Long storeOrderId;
@NotEmpty(message = "明细ID不能为空")
@ApiModelProperty(value = "明细ID集合")
@ApiModelProperty(value = "明细ID集合", required = true)
private List<Long> storeOrderDetailIds;
@ApiModelProperty(value = "原因")

View File

@ -21,13 +21,13 @@ public class StoreOrderUpdateReqVO {
* ID
*/
@NotNull(message = "订单ID不能为空")
@ApiModelProperty(value = "订单ID")
@ApiModelProperty(value = "订单ID", required = true)
private Long id;
/**
* ID
*/
@NotNull(message = "档口ID不能为空")
@ApiModelProperty(value = "档口ID")
@ApiModelProperty(value = "档口ID", required = true)
private Long storeId;
/**
*
@ -38,49 +38,49 @@ public class StoreOrderUpdateReqVO {
* ID
*/
@NotNull(message = "物流ID不能为空")
@ApiModelProperty(value = "物流ID")
@ApiModelProperty(value = "物流ID", required = true)
private Long expressId;
/**
* -
*/
@NotEmpty(message = "收货人名称不能为空")
@ApiModelProperty(value = "收货人-名称")
@ApiModelProperty(value = "收货人-名称", required = true)
private String destinationContactName;
/**
* -
*/
@NotEmpty(message = "收货人电话不能为空")
@ApiModelProperty(value = "收货人-电话")
@ApiModelProperty(value = "收货人-电话", required = true)
private String destinationContactPhoneNumber;
/**
* -
*/
@NotEmpty(message = "收货人省编码不能为空")
@ApiModelProperty(value = "收货人-省编码")
@ApiModelProperty(value = "收货人-省编码", required = true)
private String destinationProvinceCode;
/**
* -
*/
@NotEmpty(message = "收货人市编码不能为空")
@ApiModelProperty(value = "收货人-市编码")
@ApiModelProperty(value = "收货人-市编码", required = true)
private String destinationCityCode;
/**
* -
*/
@NotEmpty(message = "收货人区县编码不能为空")
@ApiModelProperty(value = "收货人-区县编码")
@ApiModelProperty(value = "收货人-区县编码", required = true)
private String destinationCountyCode;
/**
* -
*/
@NotEmpty(message = "收货人详细地址不能为空")
@ApiModelProperty(value = "收货人-详细地址")
@ApiModelProperty(value = "收货人-详细地址", required = true)
private String destinationDetailAddress;
/**
* [1: 2:]
*/
@NotNull(message = "发货方式不能为空")
@ApiModelProperty(value = "发货方式[1:货其再发 2:有货先发]")
@ApiModelProperty(value = "发货方式[1:货其再发 2:有货先发]", required = true)
private Integer deliveryType;
/**
*
@ -92,7 +92,7 @@ public class StoreOrderUpdateReqVO {
*/
@Valid
@NotEmpty(message = "订单明细不能为空")
@ApiModelProperty(value = "明细列表")
@ApiModelProperty(value = "明细列表", required = true)
private List<Detail> detailList;
@ApiModel(value = "明细")
@ -100,11 +100,11 @@ public class StoreOrderUpdateReqVO {
public static class Detail {
@NotNull(message = "商品颜色尺码ID不能为空")
@ApiModelProperty(value = "商品颜色尺码ID")
@ApiModelProperty(value = "商品颜色尺码ID", required = true)
private Long storeProdColorSizeId;
@NotNull(message = "商品数量不能为空")
@ApiModelProperty(value = "商品数量")
@ApiModelProperty(value = "商品数量", required = true)
private Integer goodsQuantity;
}
}

View File

@ -0,0 +1,21 @@
package com.ruoyi.web.controller.xkt.vo.store;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@ApiModel("档口返回基本数据")
@Data
public class StoreNameResVO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "档口名称")
private String storeName;
}

View File

@ -21,7 +21,7 @@ import java.util.List;
public class StoreCusProdDiscExistVO {
@NotNull(message = "档口ID不能为空!")
@ApiModelProperty(value = "档口ID")
@ApiModelProperty(value = "档口ID", required = true)
private Long storeId;
@NotNull(message = "优惠列表不能为空!")
@Valid
@ -31,16 +31,16 @@ public class StoreCusProdDiscExistVO {
@Data
public static class DiscountItemVO {
@NotNull(message = "档口商品ID不能为空!")
@ApiModelProperty(value = "档口商品ID")
@ApiModelProperty(value = "档口商品ID", required = true)
private Long storeProdId;
@NotBlank(message = "商品货号不能为空!")
@ApiModelProperty(value = "商品货号")
@ApiModelProperty(value = "商品货号", required = true)
private String prodArtNum;
@ApiModelProperty(value = "商品颜色名称")
@ApiModelProperty(value = "商品颜色名称", required = true)
@NotBlank(message = "商品颜色名称不能为空!")
private String colorName;
@NotNull(message = "档口商品颜色ID不能为空!")
@ApiModelProperty(value = "档口商品颜色ID")
@ApiModelProperty(value = "档口商品颜色ID", required = true)
private Long storeProdColorId;
@NotNull(message = "优惠金额不能为空!")
@ApiModelProperty(value = "优惠金额", required = true)

View File

@ -19,16 +19,16 @@ import javax.validation.constraints.NotNull;
public class StoreProdStockVO {
@NotNull(message = "档口商品库存ID不能为空")
@ApiModelProperty(value = "档口商品库存ID")
@ApiModelProperty(value = "档口商品库存ID", required = true)
private Long storeProdStockId;
@NotNull(message = "档口商品ID不能为空")
@ApiModelProperty(value = "档口商品ID")
@ApiModelProperty(value = "档口商品ID", required = true)
private Long storeProdId;
@NotBlank(message = "商品货号不能为空")
@ApiModelProperty(value = "商品货号")
@ApiModelProperty(value = "商品货号", required = true)
private String prodArtNum;
@NotNull(message = "档口商品颜色ID不能为空")
@ApiModelProperty(value = "档口商品颜色ID")
@ApiModelProperty(value = "档口商品颜色ID", required = true)
private Long storeProdColorId;
@ApiModelProperty(value = "档口颜色ID")
private Long storeColorId;

View File

@ -18,13 +18,13 @@ import javax.validation.constraints.Size;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class StoreRoleAccUpdateVO {
@ApiModelProperty(value = "档口子账号ID")
@ApiModelProperty(value = "档口子账号ID", required = true)
@NotNull(message = "档口子账号ID不能为空!")
private Long storeRoleAccId;
@ApiModelProperty(value = "子账户名称")
@Size(min = 0, max = 30, message = "子账户名称长度不能超过30个字!")
private String accountName;
@ApiModelProperty(value = "档口子角色ID")
@ApiModelProperty(value = "档口子角色ID", required = true)
@NotNull(message = "档口子角色ID不能为空!")
private Long storeRoleId;
@ApiModelProperty(value = "档口ID", required = true)

View File

@ -22,19 +22,19 @@ public class UserFavBatchAddToShopCartVO {
@Valid
@NotNull(message = "批量操作列表不能为空!")
@ApiModelProperty(value = "批量操作列表")
@ApiModelProperty(value = "批量操作列表", required = true)
List<BatchVO> batchList;
@Data
public static class BatchVO {
@NotBlank(message = "商品货号不能为空!")
@ApiModelProperty(value = "商品货号")
@ApiModelProperty(value = "商品货号", required = true)
private String prodArtNum;
@NotNull(message = "档口ID不能为空!")
@ApiModelProperty(value = "档口ID")
@ApiModelProperty(value = "档口ID", required = true)
private Long storeId;
@NotNull(message = "档口商品ID不能为空!")
@ApiModelProperty(value = "档口商品ID")
@ApiModelProperty(value = "档口商品ID", required = true)
private Long storeProdId;
}

View File

@ -19,7 +19,7 @@ import java.util.List;
public class UserFavoriteDeleteVO {
@NotNull(message = "用户收藏ID列表不能为空!")
@ApiModelProperty(value = "用户收藏ID列表")
@ApiModelProperty(value = "用户收藏ID列表", required = true)
private List<Long> userFavoriteIdList;
}

View File

@ -18,7 +18,7 @@ import javax.validation.constraints.NotNull;
public class UserSubscVO {
@NotNull(message = "档口ID不能为空!")
@ApiModelProperty(value = "档口ID")
@ApiModelProperty(value = "档口ID", required = true)
private Long storeId;
}

View File

@ -41,7 +41,7 @@ public class IndexSearchVO extends BasePageVO {
@ApiModelProperty(value = "排序")
private String sort;
@NotNull(message = "排序方式不能为空")
@ApiModelProperty(value = "排序方式")
@ApiModelProperty(value = "排序方式", required = true)
private SortOrder order;

View File

@ -16,103 +16,102 @@ import lombok.Getter;
public enum AdType {
// 顶部横向大图
PC_HOME_TOP_LEFT_BANNER(1, "顶部横向大图", "/url"),
PC_HOME_TOP_LEFT_BANNER(1, "顶部横向大图"),
// 顶部纵向小图
PC_HOME_TOP_RIGHT_BANNER(2, "顶部纵向小图", "/url"),
PC_HOME_TOP_RIGHT_BANNER(2, "顶部纵向小图"),
// 首页销售榜榜一
PC_HOME_SALE_RANK_ONE(3, "销售榜榜一", "/url"),
PC_HOME_SALE_RANK_ONE(3, "销售榜榜一"),
// 首页销售榜榜二
PC_HOME_SALE_RANK_TWO(4, "销售榜榜二", "/url"),
PC_HOME_SALE_RANK_TWO(4, "销售榜榜二"),
// 首页销售榜榜三
PC_HOME_SALE_RANK_THREE(5, "销售榜榜三", "/url"),
PC_HOME_SALE_RANK_THREE(5, "销售榜榜三"),
// 首页销售榜榜四
PC_HOME_SALE_RANK_FOUR(6, "销售榜榜四", "/url"),
PC_HOME_SALE_RANK_FOUR(6, "销售榜榜四"),
// 风格榜
PC_HOME_STYLE_RANK(7, "风格榜", "/url"),
PC_HOME_STYLE_RANK(7, "风格榜"),
// 人气榜左侧大图
PC_HOME_POP_LEFT_BANNER(8, "人气榜左大图", "/url"),
PC_HOME_POP_LEFT_BANNER(8, "人气榜左大图"),
// 人气榜中间图
PC_HOME_POP_MID(9, "人气榜中间图", "/url"),
PC_HOME_POP_MID(9, "人气榜中间图"),
// 人气榜右侧图
PC_HOME_POP_RIGHT(10, "人气榜右侧图", "/url"),
PC_HOME_POP_RIGHT(10, "人气榜右侧图"),
// 首页档口横幅
PC_HOME_SINGLE_BANNER(11, "首页档口横幅", "/url"),
PC_HOME_SINGLE_BANNER(11, "首页档口横幅"),
// 首页商品列表
PC_HOME_PRODUCT_LIST(12, "首页商品列表", "/url"),
PC_HOME_PRODUCT_LIST(12, "首页商品列表"),
// 首页两侧固定挂耳
PC_HOME_FIXED_EAR(13, "首页两侧固定挂耳", "/url"),
PC_HOME_FIXED_EAR(13, "首页两侧固定挂耳"),
// 首页搜索框下名称
PC_HOME_SEARCH_DOWN_NAME(14, "首页搜索框下档口名称", "/url"),
PC_HOME_SEARCH_DOWN_NAME(14, "首页搜索框下档口名称"),
// 首页搜索框中推荐商品
PC_HOME_SEARCH_PRODUCT(15, "首页搜索框中推荐商品", "/url"),
PC_HOME_SEARCH_PRODUCT(15, "首页搜索框中推荐商品"),
// 新品馆顶部横向大图
PC_NEW_PROD_TOP_LEFT_BANNER(101, "新品馆顶部横向大图", "/url"),
PC_NEW_PROD_TOP_LEFT_BANNER(101, "新品馆顶部横向大图"),
// 新品馆顶部纵向小图
PC_NEW_PROD_TOP_RIGHT(102, "新品馆顶部纵向小图", "/url"),
PC_NEW_PROD_TOP_RIGHT(102, "新品馆顶部纵向小图"),
// 新品馆品牌榜
PC_NEW_PROD_BRAND_BANNER(103, "新品馆品牌榜", "/url"),
PC_NEW_PROD_BRAND_BANNER(103, "新品馆品牌榜"),
// 新品馆热卖榜左大图
PC_NEW_PROD_HOT_LEFT_BANNER(104, "新品馆热卖榜左大图", "/url"),
PC_NEW_PROD_HOT_LEFT_BANNER(104, "新品馆热卖榜左大图"),
// 新品馆热卖榜右推广商品
PC_NEW_PROD_HOT_RIGHT_PRODUCT(105, "新品馆热卖榜右推广商品", "/url"),
PC_NEW_PROD_HOT_RIGHT_PRODUCT(105, "新品馆热卖榜右推广商品"),
// 新品馆横幅
PC_NEW_PROD_SINGLE_BANNER(106, "新品馆横幅", "/url"),
PC_NEW_PROD_SINGLE_BANNER(106, "新品馆横幅"),
// 新品馆商品列表
PC_NEW_PROD_PRODUCT_LIST(107, "新品馆商品列表", "/url"),
PC_NEW_PROD_PRODUCT_LIST(107, "新品馆商品列表"),
// 档口馆 顶部轮播图
PC_STORE_TOP_BANNER(201, "档口馆顶部轮播图", "/url"),
PC_STORE_TOP_BANNER(201, "档口馆顶部轮播图"),
// 档口馆 横幅
PC_STORE_MID_BANNER(202, "档口馆横幅", "/url"),
PC_STORE_MID_BANNER(202, "档口馆横幅"),
// 档口馆 推荐档口
PC_STORE_RECOMMEND(203, "档口馆推荐档口", "/url"),
PC_STORE_RECOMMEND(203, "档口馆推荐档口"),
// 首页以图搜款框商品、以图搜款结果商品、点击以图搜款界面
PIC_SEARCH_PRODUCT(300, "以图搜款商品", "/url"),
PIC_SEARCH_PRODUCT(300, "以图搜款商品"),
// PC搜索结果
PC_SEARCH_RESULT(401, "电脑端搜索结果", "/url"),
PC_SEARCH_RESULT(401, "电脑端搜索结果"),
// PC用户中心 18个位置
PC_USER_CENTER(402, "电脑端用户中心", "/url"),
PC_USER_CENTER(402, "电脑端用户中心"),
// PC下载页
PC_DOWNLOAD(403, "电脑端下载页", "/url"),
PC_DOWNLOAD(403, "电脑端下载页"),
// APP首页顶部轮播图
APP_HOME_TOP_BANNER(501, "APP首页顶部轮播图", "/url"),
APP_HOME_TOP_BANNER(501, "APP首页顶部轮播图"),
// APP首页品牌好货
APP_HOME_RECOMMEND_PRODUCT(502, "APP首页品牌好货", "/url"),
APP_HOME_RECOMMEND_PRODUCT(502, "APP首页品牌好货"),
// APP首页热卖推荐 轮播商品
APP_HOME_HOT_RECOMMEND_FIXED_PROD(503, "APP首页热卖推荐固定轮播商品", "/url"),
APP_HOME_HOT_RECOMMEND_FIXED_PROD(503, "APP首页热卖推荐固定轮播商品"),
// APP首页热卖推荐 商品列表
APP_HOME_HOT_RECOMMEND_PROD(504, "APP首页热卖推荐", "/url"),
APP_HOME_HOT_RECOMMEND_PROD(504, "APP首页热卖推荐"),
// APP首页人气榜 商品列表
APP_HOME_POP_RECOMMEND_PROD(505, "APP首页人气榜", "/url"),
APP_HOME_POP_RECOMMEND_PROD(505, "APP首页人气榜"),
// APP首页新品榜 商品列表
APP_HOME_NEW_PROD_RECOMMEND_PROD(506, "APP首页新品榜", "/url"),
APP_HOME_NEW_PROD_RECOMMEND_PROD(506, "APP首页新品榜"),
// APP搜索结果
APP_SEARCH_RESULT(507, "APP搜索结果", "/url"),
APP_SEARCH_RESULT(507, "APP搜索结果"),
// APP分类页轮播图
APP_CATEGORY_TOP_BANNER(601, "APP分类页轮播图", "/url"),
APP_CATEGORY_TOP_BANNER(601, "APP分类页轮播图"),
// APP个人中心猜你喜欢
APP_USER_CENTER_GUESS_YOU_LIKE(602, "APP我的猜你喜欢", "/url"),
APP_USER_CENTER_GUESS_YOU_LIKE(602, "APP我的猜你喜欢"),
;
private final Integer value;
private final String label;
private final String demoUrl;
public static AdType of(Integer value) {
for (AdType e : AdType.values()) {

View File

@ -32,7 +32,7 @@ public class AdvertRound extends XktBaseEntity {
*/
private Integer showType;
/**
* 广广
* 广广
*/
private Integer displayType;
/**

View File

@ -31,6 +31,8 @@ public class AdminAdRoundPageResDTO {
private String platformName;
@ApiModelProperty(value = "投放类型")
private Integer typeId;
@ApiModelProperty(value = "展示类型 推广图、商品、推广图及商品、档口名称")
private Integer displayType;
@ApiModelProperty(value = "投放类型")
private String typeName;
@ApiModelProperty(value = "投放位置")

View File

@ -0,0 +1,23 @@
package com.ruoyi.xkt.dto.store;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@ApiModel("档口返回基本数据")
@Data
@Accessors(chain = true)
public class StoreNameResDTO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "档口名称")
private String storeName;
}

View File

@ -142,4 +142,12 @@ public interface IStoreService {
* @return
*/
Map<Long, String> getStoreNameByIds(Collection<Long> ids);
/**
*
*
* @param storeName
* @return
*/
List<StoreNameResDTO> fuzzyQuery(String storeName);
}

View File

@ -156,6 +156,8 @@ public class AdminAdvertRoundServiceImpl implements IAdminAdvertRoundService {
int count = this.fileMapper.insert(file);
// 更新推广位的图片ID
advertRound.setPicId(file.getId());
advertRound.setPicSetType(AdPicSetType.SET.getValue());
advertRound.setPicAuditStatus(AdPicAuditStatus.AUDIT_PASS.getValue());
this.advertRoundMapper.updateById(advertRound);
// 将档口上传图片保存到AdvertStoreFile
AdvertStoreFile advertStoreFile = new AdvertStoreFile().setAdvertRoundId(advertRound.getId())

View File

@ -218,7 +218,9 @@ public class AdvertServiceImpl implements IAdvertService {
// tab下所有的推广类型
.setTypeList(typeList.stream().map(type -> new AdvertPlatformResDTO.APTypeDTO()
.setAdvertId(type.getAdvertId()).setTypeId(type.getTypeId()).setTypeName(AdType.of(type.getTypeId()).getLabel())
.setDemoUrl(AdType.of(type.getTypeId()).getDemoUrl())).collect(Collectors.toList()))));
// .setDemoUrl(AdType.of(type.getTypeId()).getDemoUrl())
)
.collect(Collectors.toList()))));
platformList.add(new AdvertPlatformResDTO().setPlatformId(platformId)
.setPlatformName(AdPlatformType.of(platformId).getLabel())
.setTabList(tabList));

View File

@ -13,6 +13,7 @@ import com.ruoyi.common.core.page.Page;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bigDecimal.CollectorsUtil;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.xkt.domain.*;
@ -381,4 +382,22 @@ public class StoreServiceImpl implements IStoreService {
return storeMapper.selectByIds(ids).stream().collect(Collectors.toMap(Store::getId, Store::getStoreName));
}
/**
*
*
* @param storeName
* @return
*/
@Override
@Transactional(readOnly = true)
public List<StoreNameResDTO> fuzzyQuery(String storeName) {
LambdaQueryWrapper<Store> queryWrapper = new LambdaQueryWrapper<Store>().eq(Store::getDelFlag, Constants.UNDELETED);
if (StringUtils.isNotBlank(storeName)) {
queryWrapper.like(Store::getStoreName, storeName);
}
List<Store> storeList = this.storeMapper.selectList(queryWrapper);
return storeList.stream().map(x -> new StoreNameResDTO().setStoreId(x.getId()).setStoreName(x.getStoreName()))
.collect(Collectors.toList());
}
}

View File

@ -74,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.tab_id,
a.platform_id,
ar.type_id,
ar.display_type,
ar.voucher_date,
CONCAT('位置', ar.position) AS position,
ar.start_time,