package com.yeshi.makemoney.app.controller.admin.money;
|
|
import com.google.gson.*;
|
import com.yeshi.makemoney.app.aop.AdminApiFilter;
|
import com.yeshi.makemoney.app.dto.money.ExtractConfig;
|
import com.yeshi.makemoney.app.entity.config.SystemConfig;
|
import com.yeshi.makemoney.app.entity.config.SystemConfigKey;
|
import com.yeshi.makemoney.app.entity.money.ExtractPayType;
|
import com.yeshi.makemoney.app.service.inter.config.SystemConfigService;
|
import com.yeshi.makemoney.app.vo.AcceptAdminData;
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestBody;
|
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 com.google.gson.reflect.TypeToken;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpSession;
|
import java.lang.reflect.Type;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.yeshi.makemoney.app.entity.money.Extract;
|
import com.yeshi.makemoney.app.service.inter.money.ExtractService;
|
import com.yeshi.makemoney.app.service.query.money.ExtractQuery;
|
|
@Controller
|
@RequestMapping("admin/api/money/extract")
|
public class ExtractAdminController {
|
|
@Resource
|
private ExtractService extractService;
|
|
@Resource
|
private SystemConfigService systemConfigService;
|
|
|
@ResponseBody
|
@RequestMapping("list")
|
public String list(ExtractQuery query, int page, int limit, String callback) {
|
List<Extract> list = extractService.list(query, page, limit);
|
long count = extractService.count(query);
|
JSONObject data = new JSONObject();
|
Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
|
|
@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"));
|
}
|
}).registerTypeAdapter(ExtractPayType.class, new JsonSerializer<ExtractPayType>() {
|
|
@Override
|
public JsonElement serialize(ExtractPayType date, Type type, JsonSerializationContext jsonSerializationContext) {
|
return date == null ? new JsonPrimitive("") : new JsonPrimitive(date.getName());
|
}
|
}).create();
|
|
data.put("list", gson.toJson(list));
|
data.put("count", count);
|
return JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data));
|
|
}
|
|
|
@ResponseBody
|
@RequestMapping("get")
|
public String get(Long id, HttpSession session, String callback) {
|
Extract entity = extractService.get(id);
|
if (entity != null) {
|
return JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(entity));
|
|
} else {
|
return JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("ID不存在"));
|
|
}
|
}
|
|
@ResponseBody
|
@RequestMapping("getExtractConfig")
|
public String getExtractConfig(AcceptAdminData acceptAdminData) {
|
SystemConfig config = systemConfigService.getByKey(acceptAdminData.getSystem(), SystemConfigKey.extractConfig);
|
ExtractConfig extractConfig = null;
|
if (config != null && !StringUtil.isNullOrEmpty(config.getValue())) {
|
extractConfig = new Gson().fromJson(config.getValue(), ExtractConfig.class);
|
}
|
|
if (extractConfig == null) {
|
extractConfig = new ExtractConfig();
|
extractConfig.setNewerLittleMoneyNum(0);
|
extractConfig.setMaxMoney(new BigDecimal(0));
|
extractConfig.setMaxMoneyPerDay(new BigDecimal(0));
|
extractConfig.setMaxNumPerDay(0);
|
extractConfig.setMinMoney(new BigDecimal(0));
|
extractConfig.setExtractMoneyList(new ArrayList<>());
|
}
|
|
return JsonUtil.loadTrueResult(extractConfig);
|
|
}
|
|
@ResponseBody
|
@RequestMapping("updateExtractConfig")
|
public String updateExtractConfig(@RequestBody ExtractConfig extractConfig, AcceptAdminData acceptAdminData) {
|
SystemConfig config = systemConfigService.getByKey(acceptAdminData.getSystem(), SystemConfigKey.extractConfig);
|
if (config == null) {
|
SystemConfig newConfig = new SystemConfig();
|
newConfig.setSystem(acceptAdminData.getSystem());
|
newConfig.setKey(SystemConfigKey.extractConfig);
|
newConfig.setValue(new Gson().toJson(extractConfig));
|
try {
|
systemConfigService.add(newConfig);
|
} catch (Exception e) {
|
return JsonUtil.loadFalseResult(e.getMessage());
|
}
|
} else {
|
SystemConfig newConfig = new SystemConfig();
|
newConfig.setId(config.getId());
|
newConfig.setValue(new Gson().toJson(extractConfig));
|
systemConfigService.update(newConfig);
|
}
|
return JsonUtil.loadTrueResult("");
|
}
|
|
|
}
|