Commit b4547dbe authored by daniel's avatar daniel

fix(partnerBanner):banner菜单权限优化

parent cee3fd80
......@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
@Service
......@@ -21,6 +22,7 @@ public class BannerService {
// 赛小客partnerId
private final static String GEEXEK_PARTNER_ID = "DAE435E335D5001162F2";
private final static Integer GK_CMPT_ID = 27307;
public List<Banner> queryAll(int cmptId){
return bannerMapper.queryAll(cmptId);
......@@ -65,6 +67,29 @@ public class BannerService {
return bannerMapper.queryAllPartnerBanner(partnerId);
}
/**
* 检查是否有编辑权限
* 0 无权限 1 有权限
* @param cmptId
* @return
*/
public Integer checkPartnerBannerAuth (Integer cmptId){
String partnerId = GEEXEK_PARTNER_ID;
Partner partner = bannerMapper.getPartnerIdByCmptId(cmptId);
if(partner != null && StringUtils.isNotBlank(partner.getPartnerId())){
partnerId = partner.getPartnerId();
// 定制小程序允许修改 by ggb 2025-06-05
if(partnerId!=GEEXEK_PARTNER_ID){
return 1;
}
}
// 赛客的限制一个可以赛事编辑 演示赛事 by ggb 2025-06-05
if(!Objects.equals(cmptId, GK_CMPT_ID)){
return 0;
}
return 1;
}
/**
* 保存组委会banner图
* @param banner
......@@ -75,6 +100,14 @@ public class BannerService {
Partner partner = bannerMapper.getPartnerIdByCmptId(banner.getCmptId());
if(partner != null && StringUtils.isNotBlank(partner.getPartnerId())){
partnerId = partner.getPartnerId();
// 限制其他赛事的处理
if(partnerId!=GEEXEK_PARTNER_ID){
return null;
}
}
// 限制其他赛事的处理 by ggb 2025-06-05
if(partnerId==GEEXEK_PARTNER_ID&&banner.getCmptId()!=GK_CMPT_ID){
return null;
}
// Integer maxSeq = bannerMapper.getMaxSeqPartnerBanner(partnerId);
// banner.setSeq(maxSeq == null ? 1 : ++maxSeq);
......
......@@ -105,51 +105,64 @@ public class BannerController {
/**
* 查询组委会轮播图列表
* @param cmptId
* @return
* @param cmptId 赛事id
* @return Result
*/
@RequestMapping("partner/list/{cmptId}")
@ResponseBody
public Result queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId) {
public Result<?> queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBanner(cmptId);
return Result.success().setContent(banners);
}
/**
* 查询组委会轮播图列表
* @param partnerId
* @return
* @param partnerId partnerId
* @return Result
*/
@RequestMapping("partner/query/{partnerId}")
@ResponseBody
public Result queryAllPartnerBannerByPartnerId(@PathVariable("partnerId") String partnerId) {
public Result<?> queryAllPartnerBannerByPartnerId(@PathVariable("partnerId") String partnerId) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBannerByPartnerId(partnerId);
return Result.success().setContent(banners);
}
/**
* 组委会轮播图保存
* @param banner
* @return
* @param banner banner
* @return Result
*/
@RequestMapping("savePartnerBanner")
@ResponseBody
public Result savePartnerBanner(@RequestBody PartnerBanner banner) {
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
* @param mv
* @return
* @param id id
* @return Result
*/
@RequestMapping("delPartnerBanner/{id}")
@ResponseBody
public Result delPartnerBanner(@PathVariable("id") Integer id, ModelAndView mv) {
public Result<?> delPartnerBanner(@PathVariable("id") Integer id, ModelAndView mv) {
bannerService.delPartnerBanner(id);
return Result.success();
}
......
......@@ -341,7 +341,7 @@
<span class="menu-txt">分类管理</span>
</a>
</li>
<li class="parnterBanner menu-sub-item">
<li class="partnerBanner menu-sub-item" style="display: none;">
<a
href="/gk/banner/partner/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span>
......@@ -410,7 +410,7 @@
var classes = ['cmptSetting', 'nameList', 'manual', 'contact', 'manage',
'route', 'road', 'equip', 'photo', 'news', 'cert', 'data',
'banner', 'score', 'auto', 'scan', 'review', 'customer', 'rule',
'outter-link', 'sure-letter', 'rankSetting', 'service', "module","parnterBanner"];
'outter-link', 'sure-letter', 'rankSetting', 'service', "module", "partnerBanner"];
let url = document.location.href;
var done = false;
for (var i in classes) {
......@@ -437,6 +437,7 @@
}
}
done = true;
break;
}
......@@ -458,6 +459,7 @@
classList.add('active');
document.getElementById('base').nextSibling.nextSibling.classList.add('menu-hidden');
document.getElementById('cmptSetting').nextSibling.nextSibling.classList.add('menu-hidden');
}
function getCmptId() {
......@@ -481,4 +483,6 @@
}
window.baseURL = '${baseURL}';
</script>
\ No newline at end of file
$(function () {
// 检查是否有修改banner的权限
$(function () {
$.ajax({
url: "/gk/banner/partner/auth/" + getCId(),
type: 'post',
contentType: 'application/json',
beforeSend: () => {
layer.load()
},
success: (res) => {
// by ggb 2025-06-29 11:55:40
res.content ? $(".partnerBanner").show() : $(".partnerBanner").hide();
},
complete: () => {
layer.closeAll()
}
});
})
$('body').on('click', '.fixed .status', function () {
var attr = $(this).attr('data-attr');
console.log(attr);
......
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