package com.ks.app.controller.admin.config; import com.google.gson.*; import com.ks.app.entity.config.SystemConfig; import com.ks.app.entity.config.SystemConfigKey; import com.ks.app.entity.config.SystemConfigType; import com.ks.app.service.inter.config.SystemConfigService; import com.ks.app.service.query.config.SystemConfigQuery; import com.ks.app.vo.AcceptAdminData; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.TimeUtil; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import java.lang.reflect.Type; import java.util.Date; import java.util.List; @Controller @RequestMapping("/admin/api/config") public class SystemConfigAdminController { @Resource private SystemConfigService systemConfigService; private String loadPrint(String callback, String root) { return root; } @ResponseBody @RequestMapping("list") public String list(SystemConfigQuery query, int page, int limit, String callback) { List list = systemConfigService.listByType(query.getType() == null ? SystemConfigType.common : query.getType()); long count = list.size(); JSONObject data = new JSONObject(); Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer() { @Override public JsonElement serialize(Date date, Type type, JsonSerializationContext jsonSerializationContext) { return date == null ? new JsonPrimitive("") : new JsonPrimitive(TimeUtil.getGernalTime(date.getTime(), "yyyy.MM.dd HH:mm")); } }).create(); data.put("list", gson.toJson(list)); data.put("count", count); return loadPrint(callback, JsonUtil.loadTrueResult(data)); } @ResponseBody @RequestMapping("add") public String add(SystemConfig bean, AcceptAdminData acceptAdminData, String callback) { try { bean.setSystem(acceptAdminData.getSystem()); systemConfigService.add(bean); return loadPrint(callback, JsonUtil.loadTrueResult("")); } catch (Exception e) { return loadPrint(callback, JsonUtil.loadFalseResult(e.getMessage())); } } @ResponseBody @RequestMapping("get") public String get(String id, HttpSession session, String callback) { SystemConfig entity = systemConfigService.get(id); if (entity != null) { return loadPrint(callback, JsonUtil.loadTrueResult(entity)); } else { return loadPrint(callback, JsonUtil.loadFalseResult("ID不存在")); } } @ResponseBody @RequestMapping("update") public String update(SystemConfig bean, HttpSession session, String callback) { if (bean.getId() == null) { return loadPrint(callback, JsonUtil.loadFalseResult("ID不能为空")); } try { systemConfigService.update(bean); } catch (Exception e) { return loadPrint(callback, JsonUtil.loadFalseResult(e.getMessage())); } return loadPrint(callback, JsonUtil.loadTrueResult("")); } @ResponseBody @RequestMapping("getKeyList") public String getKeyList(SystemConfigType type) { JSONArray array = new JSONArray(); for (SystemConfigKey key : SystemConfigKey.values()) { if (key.getType() == (type == null ? SystemConfigType.common : type)) { JSONObject data = new JSONObject(); data.put("key", key.name()); data.put("value", key.getDesc()); array.add(data); } } return JsonUtil.loadTrueResult(array); } }