Commit 5e934a5d authored by daniel's avatar daniel

fix(swiper): 平台广告展示优化

parent 5b8cda68
...@@ -106,7 +106,7 @@ public class BannerService { ...@@ -106,7 +106,7 @@ public class BannerService {
} }
} }
// 限制其他赛事的处理 by ggb 2025-06-05 // 限制其他赛事的处理 by ggb 2025-06-05
if(partnerId==GEEXEK_PARTNER_ID&&banner.getCmptId()!=GK_CMPT_ID){ if(!Objects.equals(banner.getCmptId(), GK_CMPT_ID)){
return null; return null;
} }
// Integer maxSeq = bannerMapper.getMaxSeqPartnerBanner(partnerId); // Integer maxSeq = bannerMapper.getMaxSeqPartnerBanner(partnerId);
......
...@@ -92,28 +92,9 @@ public class BannerController { ...@@ -92,28 +92,9 @@ public class BannerController {
return Result.success(); return Result.success();
} }
@RequestMapping("partner/{cmptId}")
@PageView
public ModelAndView queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
// List<PartnerBanner> banners = bannerService.queryAllPartnerBanner(cmptId);
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.addObject("cmpt", cmpt);
// mv.addObject("banners", banners);
mv.setViewName("cmpt/partnerBanner");
return mv;
}
/**
* 查询组委会轮播图列表
* @param cmptId 赛事id
* @return Result
*/
@RequestMapping("partner/list/{cmptId}")
@ResponseBody
public Result<?> queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBanner(cmptId);
return Result.success().setContent(banners);
}
/** /**
* 查询组委会轮播图列表 * 查询组委会轮播图列表
* @param partnerId partnerId * @param partnerId partnerId
...@@ -126,45 +107,8 @@ public class BannerController { ...@@ -126,45 +107,8 @@ public class BannerController {
return Result.success().setContent(banners); return Result.success().setContent(banners);
} }
/**
* 组委会轮播图保存
* @param banner banner
* @return Result
*/
@RequestMapping("savePartnerBanner")
@ResponseBody
public Result<?> savePartnerBanner(@RequestBody PartnerBanner banner) {
if(banner.getCmptId() == null){
return Result.fail().setMsg("赛事ID不能为空!").setCode(403);
}
banner = bannerService.saveOrUpdatePartnerBanner(banner);
if(banner == null){
return Result.fail().setMsg("无权操作!").setCode(403);
}
return Result.success().setContent(banner);
}
/**
* 检查是否有编辑权限
* @param cmptId 赛事id
* @return 0 无权限 1 有权限
*/
@RequestMapping("partner/auth/{cmptId}")
@ResponseBody
public Result<?> checkPartnerBannerAuth(@PathVariable("cmptId") Integer cmptId) {
Integer enable = bannerService.checkPartnerBannerAuth(cmptId);
return Result.success().setContent(enable);
}
/**
* 删除小程序组委会轮播图
* @param id id
* @return Result
*/
@RequestMapping("delPartnerBanner/{id}")
@ResponseBody
public Result<?> delPartnerBanner(@PathVariable("id") Integer id, ModelAndView mv) {
bannerService.delPartnerBanner(id);
return Result.success();
}
} }
...@@ -73,6 +73,8 @@ public class ResourcesController { ...@@ -73,6 +73,8 @@ public class ResourcesController {
public void img(@PathVariable("cmptid") Integer cmptid, HttpServletResponse response) throws IOException { public void img(@PathVariable("cmptid") Integer cmptid, HttpServletResponse response) throws IOException {
JSONObject obj = new JSONObject(); JSONObject obj = new JSONObject();
obj.put("scene", "raceId=" + cmptid); obj.put("scene", "raceId=" + cmptid);
// 修改为小程序页面路径 by 2025-06-12
obj.put("page", "pages/race/raceHome");
String partnerId = cmptService.getPartnerId(cmptid); String partnerId = cmptService.getPartnerId(cmptid);
String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="; String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=";
try { try {
......
package com.dlbridge.jadp.plugins.cmpt.web;
import com.dlbridge.jadp.common.interceptor.PageView;
import com.dlbridge.jadp.plugins.cmpt.bean.PartnerBanner;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.service.BannerService;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import com.neusoft.www.utils.web.Result;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.util.List;
@Controller
@RequestMapping("gk/swiper")
public class SwiperController {
@Resource
private CmptService cmptService;
@Resource
BannerService bannerService;
@RequestMapping("/index/{cmptId}")
@PageView
public ModelAndView queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.addObject("cmpt", cmpt);
mv.setViewName("cmpt/swiper");
return mv;
}
/**
* 查询组委会轮播图列表
* @param cmptId 赛事id
* @return Result
*/
@RequestMapping("/list/{cmptId}")
@ResponseBody
public Result<?> queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBanner(cmptId);
return Result.success().setContent(banners);
}
/**
* 查询组委会轮播图列表
* @param partnerId partnerId
* @return Result
*/
@RequestMapping("/query/{partnerId}")
@ResponseBody
public Result<?> queryAllPartnerBannerByPartnerId(@PathVariable("partnerId") String partnerId) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBannerByPartnerId(partnerId);
return Result.success().setContent(banners);
}
/**
* 组委会轮播图保存
* @param banner banner
* @return Result
*/
@RequestMapping("/save")
@ResponseBody
public Result<?> savePartnerBanner(@RequestBody PartnerBanner banner) {
if(banner.getCmptId() == null){
return Result.fail().setMsg("赛事ID不能为空!").setCode(403);
}
banner = bannerService.saveOrUpdatePartnerBanner(banner);
if(banner == null){
return Result.fail().setMsg("无权操作!").setCode(403);
}
return Result.success().setContent(banner);
}
/**
* 检查是否有编辑权限
* @param cmptId 赛事id
* @return 0 无权限 1 有权限
*/
@RequestMapping("/auth/{cmptId}")
@ResponseBody
public Result<?> checkPartnerBannerAuth(@PathVariable("cmptId") Integer cmptId) {
Integer enable = bannerService.checkPartnerBannerAuth(cmptId);
return Result.success().setContent(enable);
}
/**
* 删除小程序组委会轮播图
* @param id id
* @return Result
*/
@RequestMapping("/delete/{id}")
@ResponseBody
public Result<?> delPartnerBanner(@PathVariable("id") Integer id, ModelAndView mv) {
bannerService.delPartnerBanner(id);
return Result.success();
}
}
...@@ -246,10 +246,10 @@ ...@@ -246,10 +246,10 @@
<jsp:include page="../common/header.jsp"></jsp:include> <jsp:include page="../common/header.jsp"></jsp:include>
<div class="page-content d-flex align-items-stretch main-body"> <div class="page-content d-flex align-items-stretch main-body">
<jsp:include page="../common/menu.jsp"></jsp:include> <jsp:include page="../common/menu.jsp"></jsp:include>
<div class="rght" id="partnerBanner"> <div class="rght" id="swiper">
<div class="section"> <div class="section">
<div> <div>
<h3 class="title">banner</h3> <h3 class="title">平台轮播图</h3>
<div class="add-btn" @click="addBanner"> <div class="add-btn" @click="addBanner">
<span>+</span> <span>+</span>
...@@ -320,7 +320,7 @@ ...@@ -320,7 +320,7 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="dialog" v-show="dialog" style="width:auto;height: 80vh; z-index: 99;display: flex;flex-direction: column;left: 50%; <div class="dialog" v-show="dialog" style="width:auto;height: 80vh; z-index: 11;display: flex;flex-direction: column;left: 50%;
transform: translateX(-50%);margin-left:0;"> transform: translateX(-50%);margin-left:0;">
<div> <div>
<span class="title" style="margin-bottom: 10px; color: #CE3939">{{title}}</span> <span class="title" style="margin-bottom: 10px; color: #CE3939">{{title}}</span>
...@@ -434,7 +434,7 @@ ...@@ -434,7 +434,7 @@
<script src="${ctxStatic}/vue/vue.js"></script> <script src="${ctxStatic}/vue/vue.js"></script>
<script> <script>
var app = new Vue({ var app = new Vue({
el: '#partnerBanner', el: '#swiper',
data: { data: {
editor: null, editor: null,
list: [], list: [],
...@@ -561,7 +561,7 @@ ...@@ -561,7 +561,7 @@
delBanner(data) { delBanner(data) {
layer.confirm("确认要删除吗?", function () { layer.confirm("确认要删除吗?", function () {
$.ajax({ $.ajax({
url: "/gk/banner/delPartnerBanner/" + data.id, url: "/gk/swiper/delete/" + data.id,
type: 'post', type: 'post',
contentType: 'application/json', contentType: 'application/json',
beforeSend: () => { beforeSend: () => {
...@@ -590,7 +590,7 @@ ...@@ -590,7 +590,7 @@
layer.msg("banner图不能为空!", { icon: 5, duration: 1500 }); layer.msg("banner图不能为空!", { icon: 5, duration: 1500 });
return; return;
} }
const url = "/gk/banner/savePartnerBanner" const url = "/gk/swiper/save"
$.ajax({ $.ajax({
url: url, url: url,
data: JSON.stringify(service), // 将 data 转换为 JSON 字符串 data: JSON.stringify(service), // 将 data 转换为 JSON 字符串
...@@ -607,10 +607,12 @@ ...@@ -607,10 +607,12 @@
} else { } else {
layer.msg(data.msg); layer.msg(data.msg);
} }
setTimeout(() => {
layer.closeAll()
},1500)
}, },
complete: () => { complete: () => {
layer.closeAll()
} }
}) })
}, },
...@@ -621,7 +623,7 @@ ...@@ -621,7 +623,7 @@
// 查询所有 // 查询所有
queryAll() { queryAll() {
if (!getCId()) return if (!getCId()) return
const url = "/gk/banner/partner/list/" + getCId() const url = "/gk/swiper/list/" + getCId()
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
contentType: 'application/json', contentType: 'application/json',
......
...@@ -341,9 +341,9 @@ ...@@ -341,9 +341,9 @@
<span class="menu-txt">分类管理</span> <span class="menu-txt">分类管理</span>
</a> </a>
</li> </li>
<li class="partnerBanner menu-sub-item" style="display: none;"> <li class="swiper menu-sub-item" >
<a <a
href="/gk/banner/partner/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}"> href="/gk/swiper/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span> <span class="left-arrow"></span>
<span class="menu-txt">轮播图管理</span> <span class="menu-txt">轮播图管理</span>
</a> </a>
...@@ -410,11 +410,12 @@ ...@@ -410,11 +410,12 @@
var classes = ['cmptSetting', 'nameList', 'manual', 'contact', 'manage', var classes = ['cmptSetting', 'nameList', 'manual', 'contact', 'manage',
'route', 'road', 'equip', 'photo', 'news', 'cert', 'data', 'route', 'road', 'equip', 'photo', 'news', 'cert', 'data',
'banner', 'score', 'auto', 'scan', 'review', 'customer', 'rule', 'banner', 'score', 'auto', 'scan', 'review', 'customer', 'rule',
'outter-link', 'sure-letter', 'rankSetting', 'service', "module", "partnerBanner"]; 'outter-link', 'sure-letter', 'rankSetting', 'service', "module", "swiper"];
let url = document.location.href; let url = document.location.href;
var done = false; var done = false;
for (var i in classes) { for (var i in classes) {
if (url.indexOf(classes[i]) > -1) { if (url.indexOf(classes[i]) > -1) {
console.log(classes[i])
document.getElementsByClassName(classes[i])[0].classList.add('active'); document.getElementsByClassName(classes[i])[0].classList.add('active');
if (classes[i] != 'cmptSetting') { if (classes[i] != 'cmptSetting') {
let classesStr = document.getElementsByClassName(classes[i])[0].parentNode.parentNode.firstElementChild.classList; let classesStr = document.getElementsByClassName(classes[i])[0].parentNode.parentNode.firstElementChild.classList;
......
...@@ -2,7 +2,7 @@ $(function () { ...@@ -2,7 +2,7 @@ $(function () {
// 检查是否有修改banner的权限 // 检查是否有修改banner的权限
$(function () { $(function () {
$.ajax({ $.ajax({
url: "/gk/banner/partner/auth/" + getCId(), url: "/gk/swiper/auth/" + getCId(),
type: 'post', type: 'post',
contentType: 'application/json', contentType: 'application/json',
beforeSend: () => { beforeSend: () => {
...@@ -10,7 +10,7 @@ $(function () { ...@@ -10,7 +10,7 @@ $(function () {
}, },
success: (res) => { success: (res) => {
// by ggb 2025-06-29 11:55:40 // by ggb 2025-06-29 11:55:40
res.content ? $(".partnerBanner").show() : $(".partnerBanner").hide(); res.content ? $(".swiper").show() : $(".swiper").hide();
}, },
complete: () => { complete: () => {
layer.closeAll() layer.closeAll()
...@@ -20,7 +20,6 @@ $(function () { ...@@ -20,7 +20,6 @@ $(function () {
$('body').on('click', '.fixed .status', function () { $('body').on('click', '.fixed .status', function () {
var attr = $(this).attr('data-attr'); var attr = $(this).attr('data-attr');
console.log(attr);
var checked = $(this).hasClass('checked'); var checked = $(this).hasClass('checked');
var param = {} var param = {}
param.cmptId = getCmptId() param.cmptId = getCmptId()
......
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