|
@@ -4,12 +4,15 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.dto.Result;
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
|
|
+import com.cyksj.mapper.mirrorshop.UserMirrorShopManageAdvertiseStatusRelateMapper;
|
|
|
import com.cyksj.model.entity.UserMirrorShopManageAdvertise;
|
|
import com.cyksj.model.entity.UserMirrorShopManageAdvertise;
|
|
|
|
|
+import com.cyksj.model.entity.UserMirrorShopManageAdvertiseStatusRelate;
|
|
|
import com.cyksj.service.mange.RefreshCacheService;
|
|
import com.cyksj.service.mange.RefreshCacheService;
|
|
|
import com.cyksj.service.mirrorshop.UserMirrorShopAdvertiseService;
|
|
import com.cyksj.service.mirrorshop.UserMirrorShopAdvertiseService;
|
|
|
import com.cyksj.web.util.StpUserMirrorShopManageUser;
|
|
import com.cyksj.web.util.StpUserMirrorShopManageUser;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.SearchResult;
|
|
import com.ejlchina.searcher.SearchResult;
|
|
|
|
|
+import com.ejlchina.searcher.util.MapBuilder;
|
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -37,16 +40,28 @@ public class CmsUserMirrorAdvertiseController {
|
|
|
|
|
|
|
|
private RefreshCacheService refreshCacheService;
|
|
private RefreshCacheService refreshCacheService;
|
|
|
|
|
|
|
|
|
|
+ private UserMirrorShopManageAdvertiseStatusRelateMapper userMirrorShopManageAdvertiseStatusRelateMapper;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 店铺公告列表
|
|
* 店铺公告列表
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/get")
|
|
@GetMapping("/get")
|
|
|
- public Result<SearchResult<UserMirrorShopManageAdvertise>> get() {
|
|
|
|
|
|
|
+ public Result<SearchResult<UserMirrorShopManageAdvertise>> get(@RequestParam(defaultValue = "1") Boolean self) {
|
|
|
long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
|
|
long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
|
|
|
- SearchResult<UserMirrorShopManageAdvertise> search = beanSearcher.search(UserMirrorShopManageAdvertise.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
|
|
- .field(UserMirrorShopManageAdvertise::getUserId, userId)
|
|
|
|
|
- .orderBy(UserMirrorShopManageAdvertise::getUpdateTime).desc()
|
|
|
|
|
- .build());
|
|
|
|
|
|
|
+ MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
|
|
+ if (self) {
|
|
|
|
|
+ builder.put("uid", String.format(String.format("ua.user_id in (0,%s)"), userId));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ builder.field(UserMirrorShopManageAdvertise::getUserId, 0);
|
|
|
|
|
+ }
|
|
|
|
|
+ SearchResult<UserMirrorShopManageAdvertise> search = beanSearcher.search(UserMirrorShopManageAdvertise.class, builder.orderBy(UserMirrorShopManageAdvertise::getUpdateTime).desc().build());
|
|
|
|
|
+ search.getDataList().forEach(data -> {
|
|
|
|
|
+ if (data.getUserId() == 0) {
|
|
|
|
|
+ Optional.ofNullable(userMirrorShopManageAdvertiseStatusRelateMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShopManageAdvertiseStatusRelate.class).eq(UserMirrorShopManageAdvertiseStatusRelate::getAdvertiseId, data.getId())
|
|
|
|
|
+ .eq(UserMirrorShopManageAdvertiseStatusRelate::getUserId, userId)
|
|
|
|
|
+ .last("limit 1"))).ifPresent(e -> data.setStatus(e.getStatus()));
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -87,11 +102,28 @@ public class CmsUserMirrorAdvertiseController {
|
|
|
Long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
|
|
Long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
|
|
|
Optional.ofNullable(userMirrorShopAdvertiseService.getById(id))
|
|
Optional.ofNullable(userMirrorShopAdvertiseService.getById(id))
|
|
|
.ifPresent(en -> {
|
|
.ifPresent(en -> {
|
|
|
- if (!en.getUserId().equals(userId)) {
|
|
|
|
|
|
|
+ if (en.getUserId() != 0) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- en.setStatus(!en.getStatus());
|
|
|
|
|
- userMirrorShopAdvertiseService.updateById(en);
|
|
|
|
|
|
|
+ //官方公告
|
|
|
|
|
+ if (!en.getUserId().equals(userId)) {
|
|
|
|
|
+ UserMirrorShopManageAdvertiseStatusRelate userMirrorShopManageAdvertiseStatusRelate = Optional.ofNullable(userMirrorShopManageAdvertiseStatusRelateMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShopManageAdvertiseStatusRelate.class)
|
|
|
|
|
+ .eq(UserMirrorShopManageAdvertiseStatusRelate::getUserId, userId)
|
|
|
|
|
+ .eq(UserMirrorShopManageAdvertiseStatusRelate::getAdvertiseId, id).last("limit 1"))).orElse(new UserMirrorShopManageAdvertiseStatusRelate());
|
|
|
|
|
+
|
|
|
|
|
+ userMirrorShopManageAdvertiseStatusRelate.setAdvertiseId(id);
|
|
|
|
|
+ userMirrorShopManageAdvertiseStatusRelate.setUserId(userId);
|
|
|
|
|
+ if (userMirrorShopManageAdvertiseStatusRelate.getId() == null) {
|
|
|
|
|
+ userMirrorShopManageAdvertiseStatusRelate.setStatus(!en.getStatus());
|
|
|
|
|
+ userMirrorShopManageAdvertiseStatusRelateMapper.insert(userMirrorShopManageAdvertiseStatusRelate);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ userMirrorShopManageAdvertiseStatusRelate.setStatus(!userMirrorShopManageAdvertiseStatusRelate.getStatus());
|
|
|
|
|
+ userMirrorShopManageAdvertiseStatusRelateMapper.updateById(userMirrorShopManageAdvertiseStatusRelate);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ en.setStatus(!en.getStatus());
|
|
|
|
|
+ userMirrorShopAdvertiseService.updateById(en);
|
|
|
|
|
+ }
|
|
|
refreshCacheService.refreshUserMirrorShopAdvertiseCache(userId);
|
|
refreshCacheService.refreshUserMirrorShopAdvertiseCache(userId);
|
|
|
});
|
|
});
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|