Commit 1772e351 authored by “yiyousong”'s avatar “yiyousong”
parents e9677e12 7fd2781b
package com.mortals.xhx.module.site.web; package com.mortals.xhx.module.site.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.mortals.framework.annotation.UnAuth; import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.common.keys.RedisCacheKeys;
import com.mortals.xhx.module.site.model.SiteQuery;
import com.mortals.xhx.module.window.model.WindowBusinessEntity;
import org.apache.ibatis.cache.CacheKey;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.site.model.SiteThemeEntity; import com.mortals.xhx.module.site.model.SiteThemeEntity;
import com.mortals.xhx.module.site.service.SiteThemeService; import com.mortals.xhx.module.site.service.SiteThemeService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
/** /**
* * 主题
* 主题 *
* * @author zxfei
* @author zxfei * @date 2022-11-23
* @date 2022-11-23 */
*/
@RestController @RestController
@RequestMapping("site/theme") @RequestMapping("site/theme")
public class SiteThemeController extends BaseCRUDJsonBodyMappingController<SiteThemeService,SiteThemeEntity,Long> { public class SiteThemeController extends BaseCRUDJsonBodyMappingController<SiteThemeService, SiteThemeEntity, Long> {
@Autowired @Autowired
private ParamService paramService; private ICacheService cacheService;
public SiteThemeController(){ public SiteThemeController() {
super.setModuleDesc( "主题"); super.setModuleDesc("主题");
} }
@Override @Override
...@@ -48,4 +62,49 @@ public class SiteThemeController extends BaseCRUDJsonBodyMappingController<SiteT ...@@ -48,4 +62,49 @@ public class SiteThemeController extends BaseCRUDJsonBodyMappingController<SiteT
} }
/**
* 根据站点id获取当前站点主题
*/
@PostMapping(value = "getThemeBySite")
@UnAuth
public String getThemeCacheBySite(@RequestBody SiteThemeEntity site) {
JSONObject jsonObject = new JSONObject();
List<SiteThemeEntity> siteThemeList = new ArrayList<>();
String busiDesc = "根据站点id获取当前站点主题列表" + this.getModuleDesc();
try {
if (ObjectUtils.isEmpty(site.getSiteId())) throw new AppException("站点id不能为空!");
//if(ObjectUtils.isEmpty(site.getUserType())) throw new AppException("服务类型不能为空!");
if (ObjectUtils.isEmpty(site.getUserType())) {
//合并多个
for (int i = 1; i <= 3; i++) {
String jsonstr = cacheService.hget(RedisCacheKeys.getSiteUserTypeThemeCodeKey() + site.getSiteId(), String.valueOf(i), String.class);
if (!ObjectUtils.isEmpty(jsonstr)) {
List<SiteThemeEntity> siteThemeEntities = JSON.parseObject(jsonstr, new TypeReference<List<SiteThemeEntity>>() {
});
if (!ObjectUtils.isEmpty(siteThemeEntities)) {
siteThemeList.addAll(siteThemeEntities);
}
}
}
} else {
String jsonstr = cacheService.hget(RedisCacheKeys.getSiteUserTypeThemeCodeKey() + site.getSiteId(), site.getUserType(), String.class);
if (!ObjectUtils.isEmpty(jsonstr)) {
List<SiteThemeEntity> siteThemeEntities = JSON.parseObject(jsonstr, new TypeReference<List<SiteThemeEntity>>() {
});
if (!ObjectUtils.isEmpty(siteThemeEntities)) {
siteThemeList.addAll(siteThemeEntities);
}
}
}
jsonObject.put(KEY_RESULT_DATA, siteThemeList);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
jsonObject.put(KEY_RESULT_MSG, "根据站点id获取当前站点主题列表成功!");
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error("获取异常", e);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
jsonObject.put(KEY_RESULT_MSG, super.convertException(e));
}
return jsonObject.toJSONString();
}
} }
\ No newline at end of file
...@@ -115,7 +115,7 @@ POST {{baseUrl}}/site/syncGovMatterBySiteId ...@@ -115,7 +115,7 @@ POST {{baseUrl}}/site/syncGovMatterBySiteId
Content-Type: application/json Content-Type: application/json
{ {
"id":23 "id":24
} }
......
...@@ -13,14 +13,15 @@ client.global.set("SmsSet_id", JSON.parse(response.body).data.id); ...@@ -13,14 +13,15 @@ client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token); client.global.set("authToken", JSON.parse(response.body).data.token);
%} %}
###主题列表
POST {{baseUrl}}/site/theme/list
###主题站点
POST {{baseUrl}}/site/theme/site
Content-Type: application/json Content-Type: application/json
{ {
"siteId":22, "siteId":1,
"page":1, "userType":4
"size":10
} }
......
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