Skip to content

Commit 0510107

Browse files
committed
增加广告相关的管理,优化一些代码
1 parent c53d0f9 commit 0510107

36 files changed

+1401
-66
lines changed

admin-api/src/main/java/com/lmxdawn/api/admin/aspect/AuthorizeAspect.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,12 @@ public void doAdminAuthVerify(JoinPoint joinPoint) {
5151
HttpServletRequest request = attributes.getRequest();
5252

5353
String id = request.getHeader("X-Adminid");
54-
55-
Long adminId = Long.valueOf(id);
54+
Long adminId = null;
55+
try {
56+
adminId = Long.valueOf(id);
57+
}catch (Exception e) {
58+
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
59+
}
5660

5761
String token = request.getHeader("X-Token");
5862
if (token == null) {
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
package com.lmxdawn.api.admin.controller.ad;
2+
3+
import com.github.pagehelper.PageInfo;
4+
import com.lmxdawn.api.admin.annotation.AuthRuleAnnotation;
5+
import com.lmxdawn.api.admin.converter.AdSaveForm2AdConverter;
6+
import com.lmxdawn.api.admin.entity.ad.Ad;
7+
import com.lmxdawn.api.admin.enums.ResultEnum;
8+
import com.lmxdawn.api.admin.form.ad.AdQueryForm;
9+
import com.lmxdawn.api.admin.form.ad.AdSaveForm;
10+
import com.lmxdawn.api.admin.service.ad.AdService;
11+
import com.lmxdawn.api.admin.vo.PageSimpleVO;
12+
import com.lmxdawn.api.admin.vo.ResultVO;
13+
import com.lmxdawn.api.admin.vo.ad.AdVo;
14+
import com.lmxdawn.api.common.converter.String2StringListConverter;
15+
import com.lmxdawn.api.common.utils.ResultVOUtils;
16+
import org.springframework.beans.BeanUtils;
17+
import org.springframework.util.ObjectUtils;
18+
import org.springframework.validation.BindingResult;
19+
import org.springframework.web.bind.annotation.*;
20+
21+
import javax.annotation.Resource;
22+
import javax.validation.Valid;
23+
import java.util.*;
24+
import java.util.stream.Collectors;
25+
26+
/**
27+
* 管理员相关
28+
*/
29+
@RestController
30+
public class AdController {
31+
32+
@Resource
33+
private AdService adService;
34+
35+
/**
36+
* 获取列表
37+
*/
38+
@AuthRuleAnnotation("admin/ad/ad/index")
39+
@GetMapping("/admin/ad/ad/index")
40+
public ResultVO index(@Valid AdQueryForm adQueryForm,
41+
BindingResult bindingResult) {
42+
43+
if (bindingResult.hasErrors()) {
44+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
45+
}
46+
47+
List<Ad> adList = adService.listAdminPage(adQueryForm);
48+
49+
System.out.println(String2StringListConverter.convert("ss", ","));
50+
51+
List<AdVo> adVoList = adList.stream().map(item -> {
52+
AdVo adVo = new AdVo();
53+
BeanUtils.copyProperties(item, adVo);
54+
List<String> channelList = String2StringListConverter.convert(item.getChannelList(), ",");
55+
adVo.setChannelList(channelList);
56+
List<String> androidVersionList = String2StringListConverter.convert(item.getAndroidVersionList(), ",");
57+
adVo.setAndroidVersionList(androidVersionList);
58+
List<String> iosVersionList = String2StringListConverter.convert(item.getIosVersionList(), ",");
59+
adVo.setIosVersionList(iosVersionList);
60+
return adVo;
61+
}).collect(Collectors.toList());
62+
63+
PageInfo<Ad> pageInfo = new PageInfo<>(adList);
64+
PageSimpleVO<AdVo> pageSimpleVO = new PageSimpleVO<>();
65+
pageSimpleVO.setTotal(pageInfo.getTotal());
66+
pageSimpleVO.setList(adVoList);
67+
return ResultVOUtils.success(pageSimpleVO);
68+
69+
}
70+
71+
72+
/**
73+
* 新增
74+
*
75+
* @return
76+
*/
77+
@AuthRuleAnnotation("admin/ad/ad/save")
78+
@PostMapping("/admin/ad/ad/save")
79+
public ResultVO save(@RequestBody @Valid AdSaveForm adSaveForm,
80+
BindingResult bindingResult) {
81+
82+
if (bindingResult.hasErrors()) {
83+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
84+
}
85+
86+
Ad ad = AdSaveForm2AdConverter.convert(adSaveForm);
87+
88+
if (null == ad) {
89+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误");
90+
}
91+
92+
Date nowDate = new Date();
93+
ad.setCreateTime(nowDate);
94+
ad.setModifiedTime(nowDate);
95+
96+
System.out.println(ad);
97+
boolean b = adService.insertAd(ad);
98+
if (!b) {
99+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
100+
}
101+
102+
Map<String, Long> res = new HashMap<>();
103+
res.put("adId", ad.getAdId());
104+
return ResultVOUtils.success(res);
105+
}
106+
107+
/**
108+
* 修改
109+
*
110+
* @return
111+
*/
112+
@AuthRuleAnnotation("admin/ad/ad/edit")
113+
@PostMapping("/admin/ad/ad/edit")
114+
public ResultVO edit(@RequestBody @Valid AdSaveForm adSaveForm,
115+
BindingResult bindingResult) {
116+
117+
if (bindingResult.hasErrors()) {
118+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
119+
}
120+
121+
if (ObjectUtils.isEmpty(adSaveForm.getAdId())) {
122+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
123+
}
124+
125+
Ad ad = AdSaveForm2AdConverter.convert(adSaveForm);
126+
127+
if (null == ad) {
128+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误");
129+
}
130+
131+
Date nowDate = new Date();
132+
ad.setModifiedTime(nowDate);
133+
134+
System.out.println(ad);
135+
boolean b = adService.updateAd(ad);
136+
137+
if (!b) {
138+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
139+
}
140+
141+
return ResultVOUtils.success();
142+
}
143+
144+
/**
145+
* 删除
146+
*
147+
* @return
148+
*/
149+
@AuthRuleAnnotation("admin/ad/ad/delete")
150+
@PostMapping("/admin/ad/ad/delete")
151+
public ResultVO delete(@RequestBody AdSaveForm adSaveForm) {
152+
153+
if (ObjectUtils.isEmpty(adSaveForm.getAdId())) {
154+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
155+
}
156+
157+
boolean b = adService.deleteByAdId(adSaveForm.getAdId());
158+
if (!b) {
159+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
160+
}
161+
return ResultVOUtils.success();
162+
}
163+
164+
165+
}
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
package com.lmxdawn.api.admin.controller.ad;
2+
3+
import com.github.pagehelper.PageInfo;
4+
import com.lmxdawn.api.admin.annotation.AuthRuleAnnotation;
5+
import com.lmxdawn.api.admin.entity.ad.AdSite;
6+
import com.lmxdawn.api.admin.enums.ResultEnum;
7+
import com.lmxdawn.api.admin.form.ad.AdSiteQueryForm;
8+
import com.lmxdawn.api.admin.form.ad.AdSiteSaveForm;
9+
import com.lmxdawn.api.admin.service.ad.AdSiteService;
10+
import com.lmxdawn.api.admin.vo.PageSimpleVO;
11+
import com.lmxdawn.api.admin.vo.ResultVO;
12+
import com.lmxdawn.api.admin.vo.ad.AdSimpleVo;
13+
import com.lmxdawn.api.admin.vo.ad.AdSiteVo;
14+
import com.lmxdawn.api.common.converter.String2LongListConverter;
15+
import com.lmxdawn.api.common.utils.ResultVOUtils;
16+
import com.sun.deploy.util.StringUtils;
17+
import org.springframework.beans.BeanUtils;
18+
import org.springframework.util.ObjectUtils;
19+
import org.springframework.validation.BindingResult;
20+
import org.springframework.web.bind.annotation.*;
21+
22+
import javax.annotation.Resource;
23+
import javax.validation.Valid;
24+
import java.util.*;
25+
import java.util.stream.Collectors;
26+
27+
/**
28+
* 管理员相关
29+
*/
30+
@RestController
31+
public class AdSiteController {
32+
33+
@Resource
34+
private AdSiteService adSiteService;
35+
36+
/**
37+
* 获取管理员列表
38+
*/
39+
@AuthRuleAnnotation("admin/ad/site/index")
40+
@GetMapping("/admin/ad/site/index")
41+
public ResultVO index(@Valid AdSiteQueryForm adSiteQueryForm,
42+
BindingResult bindingResult) {
43+
44+
if (bindingResult.hasErrors()) {
45+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
46+
}
47+
48+
List<AdSite> adSiteList = adSiteService.listAdminPage(adSiteQueryForm);
49+
50+
Set<Long> adIds = new HashSet<>();
51+
for (AdSite item: adSiteList) {
52+
List<Long> ads = String2LongListConverter.convert(item.getAdIds(), ",");
53+
adIds.addAll(ads);
54+
}
55+
56+
// 查询根据所有广告id查询广告列表
57+
List<AdSimpleVo> adList = adSiteService.listAdminByAdIdsIn(new ArrayList<>(adIds));
58+
59+
List<AdSiteVo> adSiteVoList = adSiteList.stream().map(item -> {
60+
AdSiteVo adSiteVo = new AdSiteVo();
61+
List<Long> ads = String2LongListConverter.convert(item.getAdIds(), ",");
62+
List<AdSimpleVo> adSimpleVoList = new ArrayList<>();
63+
if (!ads.isEmpty()) {
64+
for (AdSimpleVo adSimpleVo: adList) {
65+
if (ads.contains(adSimpleVo.getAdId())) {
66+
adSimpleVoList.add(adSimpleVo);
67+
}
68+
}
69+
}
70+
adSiteVo.setAds(adSimpleVoList);
71+
BeanUtils.copyProperties(item, adSiteVo);
72+
return adSiteVo;
73+
}).collect(Collectors.toList());
74+
75+
PageInfo<AdSite> pageInfo = new PageInfo<>(adSiteList);
76+
PageSimpleVO<AdSiteVo> pageSimpleVO = new PageSimpleVO<>();
77+
pageSimpleVO.setTotal(pageInfo.getTotal());
78+
pageSimpleVO.setList(adSiteVoList);
79+
return ResultVOUtils.success(pageSimpleVO);
80+
81+
}
82+
83+
/**
84+
* 获取广告列表
85+
*/
86+
@AuthRuleAnnotation("admin/ad/site/adList")
87+
@GetMapping("/admin/ad/site/adList")
88+
public ResultVO adList(@RequestParam(value = "adIds", defaultValue = "") List<Long> adIds) {
89+
90+
List<AdSimpleVo> adSimpleVoList = adSiteService.listAdminByAdIdsIn(adIds);
91+
92+
PageSimpleVO<AdSimpleVo> pageSimpleVO = new PageSimpleVO<>();
93+
pageSimpleVO.setTotal(1L);
94+
pageSimpleVO.setList(adSimpleVoList);
95+
return ResultVOUtils.success(pageSimpleVO);
96+
97+
}
98+
99+
100+
/**
101+
* 新增
102+
*
103+
* @return
104+
*/
105+
@AuthRuleAnnotation("admin/ad/site/save")
106+
@PostMapping("/admin/ad/site/save")
107+
public ResultVO save(@RequestBody @Valid AdSiteSaveForm adSiteSaveForm,
108+
BindingResult bindingResult) {
109+
110+
if (bindingResult.hasErrors()) {
111+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
112+
}
113+
114+
AdSite adSite = new AdSite();
115+
BeanUtils.copyProperties(adSiteSaveForm, adSite);
116+
117+
if (null != adSiteSaveForm.getAdIds()) {
118+
adSite.setAdIds(StringUtils.join(adSiteSaveForm.getAdIds(), ","));
119+
}
120+
121+
Date nowDate = new Date();
122+
adSite.setCreateTime(nowDate);
123+
adSite.setModifiedTime(nowDate);
124+
125+
boolean b = adSiteService.insertAdSite(adSite);
126+
if (!b) {
127+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
128+
}
129+
130+
Map<String, Long> res = new HashMap<>();
131+
res.put("siteId", adSite.getSiteId());
132+
return ResultVOUtils.success(res);
133+
}
134+
135+
/**
136+
* 修改
137+
*
138+
* @return
139+
*/
140+
@AuthRuleAnnotation("admin/ad/site/edit")
141+
@PostMapping("/admin/ad/site/edit")
142+
public ResultVO edit(@RequestBody @Valid AdSiteSaveForm adSiteSaveForm,
143+
BindingResult bindingResult) {
144+
145+
if (bindingResult.hasErrors()) {
146+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
147+
}
148+
149+
AdSite adSite = new AdSite();
150+
BeanUtils.copyProperties(adSiteSaveForm, adSite);
151+
152+
if (null != adSiteSaveForm.getAdIds()) {
153+
adSite.setAdIds(StringUtils.join(adSiteSaveForm.getAdIds(), ","));
154+
}
155+
156+
Date nowDate = new Date();
157+
adSite.setModifiedTime(nowDate);
158+
159+
boolean b = adSiteService.updateAdSite(adSite);
160+
if (!b) {
161+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
162+
}
163+
return ResultVOUtils.success();
164+
}
165+
166+
/**
167+
* 删除 // TODO 这个接口讲道理的话,是不应该存在的
168+
*
169+
* @return
170+
*/
171+
@AuthRuleAnnotation("admin/ad/site/delete")
172+
@PostMapping("/admin/ad/site/delete")
173+
public ResultVO delete(@RequestBody AdSiteSaveForm adSiteSaveForm) {
174+
175+
if (ObjectUtils.isEmpty(adSiteSaveForm.getSiteId())) {
176+
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
177+
}
178+
179+
boolean b = adSiteService.deleteBySiteId(adSiteSaveForm.getSiteId());
180+
if (!b) {
181+
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
182+
}
183+
return ResultVOUtils.success();
184+
}
185+
186+
187+
}

admin-api/src/main/java/com/lmxdawn/api/admin/controller/auth/AuthAdminController.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,9 @@ public ResultVO save(@RequestBody @Valid AuthAdminSaveForm authAdminSaveForm,
151151
authRoleAdminService.insertRolesAdminIdAll(authAdminSaveForm.getRoles(), authAdmin.getId());
152152
}
153153

154-
AuthAdminVo authAdminVo = new AuthAdminVo();
155-
BeanUtils.copyProperties(authAdmin, authAdminVo);
156-
authAdminVo.setRoles(authAdminSaveForm.getRoles());
157-
158-
return ResultVOUtils.success(authAdminVo);
154+
Map<String, Long> res = new HashMap<>();
155+
res.put("id", authAdmin.getId());
156+
return ResultVOUtils.success(res);
159157
}
160158

161159
/**

0 commit comments

Comments
 (0)