广告校验,前端补充,bug修复
This commit is contained in:
parent
ffe2d1b3bb
commit
dd2aef808e
|
@ -1,5 +1,8 @@
|
||||||
package com.ruoyi.bst.ad.domain;
|
package com.ruoyi.bst.ad.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.common.constants.DictType;
|
||||||
|
import com.ruoyi.common.core.validate.ValidGroup;
|
||||||
|
import com.ruoyi.common.valid.DictValid;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
@ -7,6 +10,9 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import javax.validation.constraints.Min;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -30,8 +36,8 @@ public class Ad extends BaseEntity
|
||||||
@ApiModelProperty("广告类型 1:活动推广")
|
@ApiModelProperty("广告类型 1:活动推广")
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty("广告图片")
|
@ApiModelProperty("广告图片")
|
||||||
|
@NotBlank(message = "广告图片不能为空",groups = {ValidGroup.Create.class})
|
||||||
private String picture;
|
private String picture;
|
||||||
|
|
||||||
@Excel(name = "运营商id")
|
@Excel(name = "运营商id")
|
||||||
|
@ -40,14 +46,19 @@ public class Ad extends BaseEntity
|
||||||
|
|
||||||
@Excel(name = "运营区id")
|
@Excel(name = "运营区id")
|
||||||
@ApiModelProperty("运营区id")
|
@ApiModelProperty("运营区id")
|
||||||
|
@NotNull(message = "运营区ID不能为空", groups = {ValidGroup.Create.class})
|
||||||
|
@Min(value = 1, message = "运营区ID需大于0")
|
||||||
private Long areaId;
|
private Long areaId;
|
||||||
|
|
||||||
@Excel(name = "跳转链接")
|
@Excel(name = "跳转链接")
|
||||||
@ApiModelProperty("跳转链接")
|
@ApiModelProperty("跳转链接")
|
||||||
|
@NotBlank(message = "跳转链接不能为空", groups = {ValidGroup.Create.class})
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
@Excel(name = "跳转类型,1外链跳转,2站内跳转")
|
@Excel(name = "跳转类型,1外链跳转,2站内跳转")
|
||||||
@ApiModelProperty("跳转类型,1外链跳转,2站内跳转")
|
@ApiModelProperty("跳转类型,1外链跳转,2站内跳转")
|
||||||
|
@NotBlank(message = "跳转类型不能为空", groups = {ValidGroup.Create.class})
|
||||||
|
@DictValid(type = DictType.URL_TYPE, message = "非法的跳转类型")
|
||||||
private String urlType;
|
private String urlType;
|
||||||
|
|
||||||
@Excel(name = "审核状态")
|
@Excel(name = "审核状态")
|
||||||
|
|
|
@ -46,8 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
su.agent_id
|
su.agent_id
|
||||||
from bst_ad bad
|
from bst_ad bad
|
||||||
left join bst_area ba on bad.area_id = ba.id
|
left join bst_area ba on bad.area_id = ba.id
|
||||||
left join bst_order bo ON ba.id = bo.area_id
|
left join sys_user su on ba.user_id = su.user_id
|
||||||
left join sys_user su on bo.user_id = su.user_id
|
|
||||||
left join sys_user su_verify on bad.verify_by = su_verify.user_id
|
left join sys_user su_verify on bad.verify_by = su_verify.user_id
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
|
@ -13,4 +13,6 @@ public interface AdConverter {
|
||||||
AdQuery toAdAdminVO();
|
AdQuery toAdAdminVO();
|
||||||
|
|
||||||
AdQuery toAdStoreVO();
|
AdQuery toAdStoreVO();
|
||||||
|
|
||||||
|
Ad toPoByCreate(Ad ad);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.ruoyi.bst.ad.domain.Ad;
|
||||||
import com.ruoyi.bst.ad.domain.AdQuery;
|
import com.ruoyi.bst.ad.domain.AdQuery;
|
||||||
import com.ruoyi.bst.ad.enums.AdBlong;
|
import com.ruoyi.bst.ad.enums.AdBlong;
|
||||||
import com.ruoyi.bst.ad.service.AdConverter;
|
import com.ruoyi.bst.ad.service.AdConverter;
|
||||||
|
import com.ruoyi.bst.area.domain.Area;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -34,4 +35,20 @@ public class AdConverterImpl implements AdConverter {
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Ad toPoByCreate(Ad data) {
|
||||||
|
if (data == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Ad po = new Ad();
|
||||||
|
// 基础信息
|
||||||
|
po.setAreaId(data.getAreaId());
|
||||||
|
po.setType(data.getType());
|
||||||
|
po.setPicture(data.getPicture());
|
||||||
|
po.setBelong(data.getBelong());
|
||||||
|
po.setUrl(data.getUrl());
|
||||||
|
po.setUrlType(data.getUrlType());
|
||||||
|
return po;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,14 +80,18 @@ public class AdServiceImpl implements AdService
|
||||||
@Override
|
@Override
|
||||||
public int insertAd(Ad ad)
|
public int insertAd(Ad ad)
|
||||||
{
|
{
|
||||||
|
// 默认设置为商户广告
|
||||||
if (ad.getBelong() == null || ad.getBelong().equals("")){
|
if (ad.getBelong() == null || ad.getBelong().equals("")){
|
||||||
ad.setBelong(AdBlong.STORE.getCode());
|
ad.setBelong(AdBlong.STORE.getCode());
|
||||||
}
|
}
|
||||||
AdQuery query = new AdQuery();
|
// 商户广告存在上限
|
||||||
query.setAreaId(ad.getAreaId());
|
if (ad.getBelong().equals(AdBlong.STORE.getCode())){
|
||||||
if (ad.getAreaId() != null){
|
|
||||||
AreaVO area = areaService.selectAreaById(ad.getAreaId());
|
AreaVO area = areaService.selectAreaById(ad.getAreaId());
|
||||||
ad.setStoreId(area.getUserId());
|
ad.setStoreId(area.getUserId());
|
||||||
|
// 条件查询广告
|
||||||
|
AdQuery query = new AdQuery();
|
||||||
|
query.setAreaId(ad.getAreaId());
|
||||||
|
query.setDeleted(false);
|
||||||
ServiceUtil.assertion(adMapper.selectOne(query)!=null,"当前运营区存在广告已达上限");
|
ServiceUtil.assertion(adMapper.selectOne(query)!=null,"当前运营区存在广告已达上限");
|
||||||
}
|
}
|
||||||
ad.setCreateTime(DateUtils.getNowDate());
|
ad.setCreateTime(DateUtils.getNowDate());
|
||||||
|
|
|
@ -18,4 +18,6 @@ public class DictType {
|
||||||
public static final String SUIT_TYPE = "suit_type";
|
public static final String SUIT_TYPE = "suit_type";
|
||||||
// 支付渠道类型
|
// 支付渠道类型
|
||||||
public static final String CHANNEL_TYPE = "channel_type";
|
public static final String CHANNEL_TYPE = "channel_type";
|
||||||
|
// 广告跳转类型
|
||||||
|
public static final String URL_TYPE = "ad_url_type";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ruoyi.web.app;
|
package com.ruoyi.web.app;
|
||||||
|
|
||||||
import com.ruoyi.bst.ad.domain.AdQuery;
|
import com.ruoyi.bst.ad.domain.AdQuery;
|
||||||
|
import com.ruoyi.bst.ad.enums.AdVerifyStatus;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
@ -25,6 +26,7 @@ public class AppAdController extends BaseController {
|
||||||
@Anonymous
|
@Anonymous
|
||||||
public AjaxResult getAd(AdQuery query) {
|
public AjaxResult getAd(AdQuery query) {
|
||||||
query.setUserId(getUserId());
|
query.setUserId(getUserId());
|
||||||
|
query.setAuditStatus(AdVerifyStatus.PASSED.getCode());
|
||||||
return success(adService.toAppVOList(query));
|
return success(adService.toAppVOList(query));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.ruoyi.bst.ad.domain.AdQuery;
|
||||||
import com.ruoyi.bst.ad.domain.AdVO;
|
import com.ruoyi.bst.ad.domain.AdVO;
|
||||||
import com.ruoyi.bst.ad.domain.AdVerifyDTO;
|
import com.ruoyi.bst.ad.domain.AdVerifyDTO;
|
||||||
import com.ruoyi.bst.ad.enums.AdBlong;
|
import com.ruoyi.bst.ad.enums.AdBlong;
|
||||||
|
import com.ruoyi.bst.ad.enums.AdVerifyStatus;
|
||||||
import com.ruoyi.bst.ad.service.AdConverter;
|
import com.ruoyi.bst.ad.service.AdConverter;
|
||||||
import com.ruoyi.bst.ad.service.AdService;
|
import com.ruoyi.bst.ad.service.AdService;
|
||||||
import com.ruoyi.bst.ad.service.AdValidator;
|
import com.ruoyi.bst.ad.service.AdValidator;
|
||||||
|
@ -15,6 +16,7 @@ import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.validate.ValidGroup;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.enums.UserType;
|
import com.ruoyi.common.enums.UserType;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
@ -60,9 +62,9 @@ public class AdController extends BaseController
|
||||||
{
|
{
|
||||||
startPage();
|
startPage();
|
||||||
startOrderBy();
|
startOrderBy();
|
||||||
query.setDeleted(false);
|
|
||||||
query.setUserId(getUserId());
|
|
||||||
query.setScope(true);
|
query.setScope(true);
|
||||||
|
query.setUserId(getUserId());
|
||||||
|
query.setDeleted(false);
|
||||||
return getDataTable(adService.selectAdList(query));
|
return getDataTable(adService.selectAdList(query));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,8 +97,9 @@ public class AdController extends BaseController
|
||||||
@PreAuthorize("@ss.hasPermi('bst:ad:add')")
|
@PreAuthorize("@ss.hasPermi('bst:ad:add')")
|
||||||
@Log(title = "广告", businessType = BusinessType.INSERT)
|
@Log(title = "广告", businessType = BusinessType.INSERT)
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody Ad ad)
|
public AjaxResult add(@Validated(ValidGroup.Create.class) @RequestBody Ad ad)
|
||||||
{
|
{
|
||||||
|
ad = adConverter.toPoByCreate(ad);
|
||||||
return toAjax(adService.insertAd(ad));
|
return toAjax(adService.insertAd(ad));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +109,7 @@ public class AdController extends BaseController
|
||||||
@PreAuthorize("@ss.hasPermi('bst:ad:edit')")
|
@PreAuthorize("@ss.hasPermi('bst:ad:edit')")
|
||||||
@Log(title = "广告", businessType = BusinessType.UPDATE)
|
@Log(title = "广告", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody Ad ad)
|
public AjaxResult edit(@Validated(ValidGroup.Update.class)@RequestBody Ad ad)
|
||||||
{
|
{
|
||||||
if (!adValidator.canEdit(ad.getAdId())){
|
if (!adValidator.canEdit(ad.getAdId())){
|
||||||
return AjaxResult.error("您没有权限修改id为" + ad.getAdId() + "的广告信息");
|
return AjaxResult.error("您没有权限修改id为" + ad.getAdId() + "的广告信息");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user