package com.taoke.autopay.controller.admin; import com.google.gson.*; import com.taoke.autopay.dao.PayMoneySettingMapper; import com.taoke.autopay.entity.OrderChannelEnum; import com.taoke.autopay.entity.PayMoneySetting; import com.taoke.autopay.entity.SystemConfigKeyEnum; import com.taoke.autopay.exception.PayMoneySettingException; import com.taoke.autopay.service.PayMoneySettingService; 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.StringUtil; import org.yeshi.utils.TimeUtil; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Type; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Date; import java.util.List; @Controller @RequestMapping("/admin/api/paymoneysetting") public class AdminPayMoneySettingController { @Resource private PayMoneySettingService payMoneySettingService; private Gson gson = new GsonBuilder() .registerTypeAdapter(OrderChannelEnum.class, new JsonSerializer() { @Override public JsonElement serialize(OrderChannelEnum value, Type theType, JsonSerializationContext context) { if(value==null){ return new JsonPrimitive(""); } if(value == OrderChannelEnum.unknown){ return new JsonPrimitive("不限制"); } return new JsonPrimitive(value.getName()); } }).registerTypeAdapter(Date.class, new JsonSerializer() { @Override public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { return value == null ? new JsonPrimitive("") : new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss")); } }) .create(); @ResponseBody @RequestMapping("list") public String list(String key, int page, int limit) { PayMoneySettingMapper.DaoQuery query = new PayMoneySettingMapper.DaoQuery(); if (!StringUtil.isNullOrEmpty(key)) { query.money = new BigDecimal(key).setScale(2, RoundingMode.HALF_UP); } List list = payMoneySettingService.list(query, page, limit); long count = payMoneySettingService.count(query); JSONObject data = new JSONObject(); data.put("count", count); data.put("list", gson.toJson(list)); return JsonUtil.loadTrueResult(data); } @ResponseBody @RequestMapping("get") public String get(Long id) { PayMoneySetting setting = payMoneySettingService.selectByPrimaryKey(id); if(setting==null){ return JsonUtil.loadFalseResult("ID不存在"); } return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(setting)); } @ResponseBody @RequestMapping("add") public String add(PayMoneySetting setting) { PayMoneySetting old = payMoneySettingService.getSettingByMoney(setting.getMoney()); if(old!=null){ return JsonUtil.loadFalseResult("金额已存在"); } try { payMoneySettingService.addSetting(setting); return JsonUtil.loadTrueResult(""); } catch (PayMoneySettingException e) { return JsonUtil.loadFalseResult(e.getMessage()); } } @ResponseBody @RequestMapping("update") public String update(PayMoneySetting setting) { if(setting.getId()==null){ return JsonUtil.loadFalseResult("ID不存在"); } payMoneySettingService.updateSelective(setting); return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(setting)); } @ResponseBody @RequestMapping("delete") public String delete(Long id) { if(id==null){ return JsonUtil.loadFalseResult("ID不存在"); } payMoneySettingService.deleteByPrimaryKey(id); return JsonUtil.loadTrueResult(""); } }