From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/UserSystemCouponAdminController.java |  847 ++++++++++++++++++++++++++------------------------------
 1 files changed, 397 insertions(+), 450 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserSystemCouponAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserSystemCouponAdminController.java
index a2f6c35..61d240b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserSystemCouponAdminController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserSystemCouponAdminController.java
@@ -1,450 +1,397 @@
-package com.yeshi.fanli.controller.admin;
-
-import java.io.PrintWriter;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.yeshi.utils.JsonUtil;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.yeshi.fanli.controller.admin.utils.AdminUtils;
-import com.yeshi.fanli.service.inter.count.UserSystemCouponCountService;
-import com.yeshi.fanli.tag.PageEntity;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.vo.user.SystemCouponVO;
-import com.yeshi.fanli.vo.user.UserSystemCouponCountVO;
-
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
-@Controller
-@RequestMapping("admin/new/api/v1/userCoupon")
-public class UserSystemCouponAdminController {
-
-	@Resource
-	private UserSystemCouponCountService userSystemCouponCountService;
-
-	/**
-	 * 鐢ㄦ埛濂栧姳鍒稿垪琛�
-	 * 
-	 * @param callback
-	 * @param pageIndex
-	 * @param pageSize
-	 * @param key
-	 * @param keyType   1-鐢ㄦ埛id銆� 2鏉ユ簮
-	 * @param state
-	 * @param percent
-	 * @param out
-	 */
-	@RequestMapping(value = "listRebateCoupon")
-	public void listRebateCoupon(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType,
-			Integer state, Integer percent, PrintWriter out) {
-
-		if (pageIndex == null || pageIndex < 1) {
-			pageIndex = 1;
-		}
-
-		if (pageSize == null || pageSize < 1) {
-			pageSize = Constant.PAGE_SIZE;
-		}
-
-		try {
-			List<UserSystemCouponCountVO> list = userSystemCouponCountService
-					.listRebateCoupon((pageIndex - 1) * pageSize, pageSize, key, keyType, state, percent);
-
-			if (list == null || list.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-				return;
-			}
-
-			long count = userSystemCouponCountService.countRebateCoupon(key, keyType, state, percent);
-
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-
-			GsonBuilder gsonBuilder = new GsonBuilder();
-			gsonBuilder.serializeNulls();
-			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
-
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", gson.toJson(list));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-			e.printStackTrace();
-		}
-	}
-
-	@RequestMapping(value = "listSystemRebateCoupon")
-	public void listSystemRebateCoupon(String callback, Integer pageIndex, Integer pageSize, String key, Integer sort,
-			PrintWriter out) {
-
-		if (pageIndex == null || pageIndex < 1) {
-			pageIndex = 1;
-		}
-
-		if (pageSize == null || pageSize < 1) {
-			pageSize = Constant.PAGE_SIZE;
-		}
-
-		try {
-			List<SystemCouponVO> list = userSystemCouponCountService
-					.listSystemCouponByRebate((pageIndex - 1) * pageSize, pageSize, key, sort);
-
-			if (list == null || list.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-				return;
-			}
-
-			long count = userSystemCouponCountService.countSystemCouponRebate(key);
-
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-
-			GsonBuilder gsonBuilder = new GsonBuilder();
-			gsonBuilder.serializeNulls();
-			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
-
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", gson.toJson(list));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-			e.printStackTrace();
-		}
-	}
-
-	@RequestMapping(value = "listSystemFreeCoupon")
-	public void listSystemFreeCoupon(String callback, Integer pageIndex, Integer pageSize, String key, Integer sort,
-			PrintWriter out) {
-
-		if (pageIndex == null || pageIndex < 1) {
-			pageIndex = 1;
-		}
-
-		if (pageSize == null || pageSize < 1) {
-			pageSize = Constant.PAGE_SIZE;
-		}
-
-		try {
-			List<SystemCouponVO> list = userSystemCouponCountService.listSystemCouponByFree((pageIndex - 1) * pageSize,
-					pageSize, key, sort);
-
-			if (list == null || list.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-				return;
-			}
-
-			long count = userSystemCouponCountService.countSystemCouponFree(key);
-
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-
-			GsonBuilder gsonBuilder = new GsonBuilder();
-			gsonBuilder.serializeNulls();
-			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
-
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", gson.toJson(list));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * 鐢ㄦ埛濂栧姳鍒稿垪琛�
-	 * 
-	 * @param callback
-	 * @param pageIndex
-	 * @param pageSize
-	 * @param key
-	 * @param keyType   1-鐢ㄦ埛id銆� 2鏉ユ簮
-	 * @param state
-	 * @param percent
-	 * @param out
-	 */
-	@RequestMapping(value = "listFreeCoupon")
-	public void listFreeCoupon(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType,
-			Integer state, Integer activated, PrintWriter out) {
-
-		if (pageIndex == null || pageIndex < 1) {
-			pageIndex = 1;
-		}
-
-		if (pageSize == null || pageSize < 1) {
-			pageSize = Constant.PAGE_SIZE;
-		}
-
-		try {
-			List<UserSystemCouponCountVO> list = userSystemCouponCountService.listFreeCoupon((pageIndex - 1) * pageSize,
-					pageSize, key, keyType, state, activated);
-
-			if (list == null || list.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-				return;
-			}
-
-			long count = userSystemCouponCountService.countFreeCoupon(key, keyType, state, activated);
-
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-
-			GsonBuilder gsonBuilder = new GsonBuilder();
-			gsonBuilder.serializeNulls();
-			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
-
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", gson.toJson(list));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * 鐢ㄦ埛濂栧姳鍒稿垪琛�
-	 * 
-	 * @param callback
-	 * @param pageIndex
-	 * @param pageSize
-	 * @param key
-	 * @param keyType   1-鐢ㄦ埛id銆� 2鏉ユ簮
-	 * @param state
-	 * @param percent
-	 * @param out
-	 */
-	@RequestMapping(value = "listFreeCouponRecord")
-	public void listFreeCouponRecord(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType,
-			Integer state, PrintWriter out) {
-
-		if (pageIndex == null || pageIndex < 1) {
-			pageIndex = 1;
-		}
-
-		if (pageSize == null || pageSize < 1) {
-			pageSize = Constant.PAGE_SIZE;
-		}
-
-		try {
-			List<UserSystemCouponCountVO> list = userSystemCouponCountService
-					.listFreeCouponRecord((pageIndex - 1) * pageSize, pageSize, key, keyType, state);
-
-			if (list == null || list.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-				return;
-			}
-
-			long count = userSystemCouponCountService.countFreeCouponRecord(key, keyType, state);
-
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-
-			GsonBuilder gsonBuilder = new GsonBuilder();
-			gsonBuilder.serializeNulls();
-			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
-
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", gson.toJson(list));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * 濂栧姳鍒告暟閲忔洸绾垮浘
-	 * @param callback
-	 * @param dateType
-	 * @param year
-	 * @param startTime
-	 * @param endTime
-	 * @param out
-	 */
-	@RequestMapping(value = "getRebateCouponUsedNumCharts")
-	public void getRebateCouponUsedNumCharts(String callback, Integer dateType, String year, String startTime,
-			String endTime, PrintWriter out){
-		try {
-			String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
-			if (validateMsg != null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
-				return;
-			}
-			JSONObject data = getChartsData(dateType, year, startTime, endTime, 1, null);
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父"));
-			e.printStackTrace();
-		}
-	}
-
-	
-	/**
-	 * 濂栧姳鍒告暟閲忔洸绾垮浘
-	 * @param callback
-	 * @param dateType
-	 * @param year
-	 * @param startTime
-	 * @param endTime
-	 * @param out
-	 */
-	@RequestMapping(value = "getRebateCouponMoneyCharts")
-	public void getRebateCouponMoneyCharts(String callback, Integer dateType, String year, String startTime,
-			String endTime, PrintWriter out){
-		try {
-			String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
-			if (validateMsg != null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
-				return;
-			}
-			JSONObject data = getChartsData(dateType, year, startTime, endTime, 2, null);
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父"));
-			e.printStackTrace();
-		}
-	}
-	
-	/**
-	 * 濂栧姳鍒告暟閲忔洸绾垮浘
-	 * @param callback
-	 * @param dateType
-	 * @param year
-	 * @param startTime
-	 * @param endTime
-	 * @param out
-	 */
-	@RequestMapping(value = "getFreeCouponMoneyCharts")
-	public void getFreeCouponMoneyCharts(String callback, Integer dateType, String year, String startTime,
-			String endTime, Integer coupon, PrintWriter out){
-		try {
-			
-			if (coupon == null || (coupon != 1 && coupon != 2)) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒哥被鍨嬩笉姝g‘"));
-				return;
-			}
-			
-			String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
-			if (validateMsg != null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
-				return;
-			}
-			
-			String couponType = null;
-			if (coupon == 1) {
-				couponType = "freeCoupon";
-			} else if  (coupon == 2){
-				couponType = "welfareFreeCoupon";
-			}
-			
-			
-			JSONObject data = getChartsData(dateType, year, startTime, endTime, 3, couponType);
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父"));
-			e.printStackTrace();
-		}
-	}
-	
-	public JSONObject getChartsData(Integer dateType, String year, String startTime,
-			String endTime, int source, String couponType) throws Exception {
-
-		if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
-			startTime = null;
-			endTime = null;
-		}
-
-		if (dateType == 1 && year != null) {
-			year = null;
-		} else if (dateType == 2) {
-			if (startTime != null)
-				startTime = null;
-
-			if (endTime != null)
-				endTime = null;
-
-		} else if (dateType == 3) {
-			if (year != null)
-				year = null;
-
-			if (startTime != null)
-				startTime = null;
-
-			if (endTime != null)
-				endTime = null;
-		}
-		Gson gson = new Gson();
-		List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
-
-		JSONObject innerList = new JSONObject();
-		List<Map<String, Object>> list = null;
-		if (source == 1) {
-			// 濂栧姳鍒告暟閲�
-			innerList.put("name", "鏁伴噺");
-			list = userSystemCouponCountService.getRebateCouponUsedNumToCharts(dateType, year,
-					startTime, endTime);
-		} else if (source == 2) {
-			// 濂栧姳鍒搁噾棰�
-			innerList.put("name", "閲戦");
-			list = userSystemCouponCountService.getRebateCouponMoneyToCharts(dateType, year,
-					startTime, endTime);
-		} else if (source == 3) {
-			// 濂栧姳鍒搁噾棰�
-			innerList.put("name", "閲戦");
-			list = userSystemCouponCountService.getFreeCouponMoneyToCharts(dateType, year,
-					startTime, endTime, couponType);
-		}
-		
-		
-		Object objectDate = null;
-	
-		if (dateType != 3) {
-			innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
-		} else {
-			// 骞磋鍥�
-			Map<String, Object> map = AdminUtils.yearsDataFactory(list);
-
-			if (objectDate == null) {
-				objectDate = map.get("date");
-			}
-			innerList.put("data", gson.toJson(map.get("value")));
-		}
-
-		JSONArray line_list = new JSONArray();
-		line_list.add(innerList);
-
-		JSONObject data = new JSONObject();
-		if (objectDate != null) {
-			data.put("xAxis_list", gson.toJson(objectDate));
-		} else {
-			data.put("xAxis_list", gson.toJson(dateList));
-		}
-
-		data.put("line_list", line_list);
-		return data;
-	}
-}
+package com.yeshi.fanli.controller.admin;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.accept.AdminAcceptData;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.yeshi.utils.JsonUtil;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
+import com.yeshi.fanli.entity.bus.user.UserSystemCouponGiveRecord;
+import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
+import com.yeshi.fanli.service.inter.count.UserSystemCouponCountService;
+import com.yeshi.fanli.service.inter.user.UserSystemCouponGiveRecordService;
+import com.yeshi.common.entity.PageEntity;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.vo.user.SystemCouponVO;
+import com.yeshi.fanli.vo.user.UserSystemCouponCountVO;
+
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("admin/new/api/v1/userCoupon")
+public class UserSystemCouponAdminController {
+
+	@Resource
+	private UserSystemCouponCountService userSystemCouponCountService;
+	
+	@Resource
+	private UserSystemCouponGiveRecordService userSystemCouponGiveRecordService;
+
+	/**
+	 * 鐢ㄦ埛濂栧姳鍒稿垪琛�
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param key
+	 * @param keyType   1-鐢ㄦ埛id銆� 2鏉ユ簮
+	 * @param state
+	 * @param percent
+	 * @param out
+	 */
+	@RequestMapping(value = "listRebateCoupon")
+	public void listRebateCoupon(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType,
+								 Integer state, Integer percent, PrintWriter out) {
+
+		if (pageIndex == null || pageIndex < 1) {
+			pageIndex = 1;
+		}
+
+		if (pageSize == null || pageSize < 1) {
+			pageSize = Constant.PAGE_SIZE;
+		}
+
+		try {
+			List<UserSystemCouponCountVO> list = userSystemCouponCountService
+					.listRebateCoupon((pageIndex - 1) * pageSize, pageSize, key, keyType, state, percent);
+
+			if (list == null || list.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+
+			long count = userSystemCouponCountService.countRebateCoupon(key, keyType, state, percent);
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
+
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("result_list", gson.toJson(list));
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
+	@RequestMapping(value = "listSystemRebateCoupon")
+	public void listSystemRebateCoupon(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer sort,
+			PrintWriter out) {
+
+		if (pageIndex == null || pageIndex < 1) {
+			pageIndex = 1;
+		}
+
+		if (pageSize == null || pageSize < 1) {
+			pageSize = Constant.PAGE_SIZE;
+		}
+
+		try {
+			List<SystemCouponVO> list = userSystemCouponCountService
+					.listSystemCouponByRebate((pageIndex - 1) * pageSize, pageSize, key, sort);
+
+			if (list == null || list.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+
+			long count = userSystemCouponCountService.countSystemCouponRebate(key);
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
+
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("result_list", gson.toJson(list));
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
+	@RequestMapping(value = "listSystemFreeCoupon")
+	public void listSystemFreeCoupon(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer sort,
+			PrintWriter out) {
+
+		if (pageIndex == null || pageIndex < 1) {
+			pageIndex = 1;
+		}
+
+		if (pageSize == null || pageSize < 1) {
+			pageSize = Constant.PAGE_SIZE;
+		}
+
+		try {
+			List<SystemCouponVO> list = userSystemCouponCountService.listSystemCouponByFree((pageIndex - 1) * pageSize,
+					pageSize, key, sort);
+
+			if (list == null || list.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+
+			long count = list.size();
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
+
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("result_list", gson.toJson(list));
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 鐢ㄦ埛濂栧姳鍒稿垪琛�
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param key
+	 * @param keyType   1-鐢ㄦ埛id銆� 2鏉ユ簮
+	 * @param state
+	 * @param percent
+	 * @param out
+	 */
+	@RequestMapping(value = "listFreeCoupon")
+	public void listFreeCoupon(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType,
+			Integer state, Integer activated, PrintWriter out) {
+
+		if (pageIndex == null || pageIndex < 1) {
+			pageIndex = 1;
+		}
+
+		if (pageSize == null || pageSize < 1) {
+			pageSize = Constant.PAGE_SIZE;
+		}
+
+		try {
+			List<UserSystemCouponCountVO> list = userSystemCouponCountService.listFreeCoupon((pageIndex - 1) * pageSize,
+					pageSize, key, keyType, state, activated);
+
+			if (list == null || list.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+
+			long count = userSystemCouponCountService.countFreeCoupon(key, keyType, state, activated);
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
+
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("result_list", gson.toJson(list));
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 鐢ㄦ埛濂栧姳鍒稿垪琛�
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param key
+	 * @param keyType   1-鐢ㄦ埛id銆� 2鏉ユ簮
+	 * @param state
+	 * @param percent
+	 * @param out
+	 */
+	@RequestMapping(value = "listFreeCouponRecord")
+	public void listFreeCouponRecord(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType,
+			Integer state, PrintWriter out) {
+
+		if (pageIndex == null || pageIndex < 1) {
+			pageIndex = 1;
+		}
+
+		if (pageSize == null || pageSize < 1) {
+			pageSize = Constant.PAGE_SIZE;
+		}
+
+		try {
+			List<UserSystemCouponCountVO> list = userSystemCouponCountService
+					.listFreeCouponRecord((pageIndex - 1) * pageSize, pageSize, key, keyType, state);
+
+			if (list == null || list.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+
+			long count = userSystemCouponCountService.countFreeCouponRecord(key, keyType, state);
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
+
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("result_list", gson.toJson(list));
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+	
+	
+	
+	/**
+	 * 鏌ヨ璧犻�佸厤鍒�
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param key
+	 * @param type 1璧犻�佸厤鍗曞埜 銆�2-濂栧姳鍒�
+	 * @param state
+	 * @param out
+	 */
+	@RequestMapping(value = "listGiveCoupon")
+	public void listGiveCoupon(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer type,
+			Integer state, PrintWriter out) {
+
+		if (pageIndex == null || pageIndex < 1) {
+			pageIndex = 1;
+		}
+
+		if (pageSize == null || pageSize < 1) {
+			pageSize = Constant.PAGE_SIZE;
+		}
+		
+		String couponType = null;
+		if (type != null) {
+			if (type == 1) {
+				couponType = "freeCouponGive";
+			} else if  (type == 2){
+				couponType = "rebatePercentCoupon";
+			} 
+		}
+
+		try {
+			List<UserSystemCouponGiveRecord> list = userSystemCouponGiveRecordService.listGiveRecord((pageIndex - 1) * pageSize,
+					pageSize, couponType, state);
+
+			if (list == null || list.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+
+			long count = userSystemCouponGiveRecordService.countGiveRecord(couponType, state);
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
+
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("result_list", gson.toJson(list));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
+	
+	/**
+	 * 鍒哥粺璁�
+	 * @param callback
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "statisticsCoupon")
+	public void statisticsCoupon(AdminAcceptData acceptData,String callback, Long uid, PrintWriter out) {
+		try {
+			List<String> listSource = new ArrayList<>();
+			listSource.add(UserSystemCoupon.SOURCE_EXCHANGE);
+			
+			// 鍏嶅崟鍒�
+			List<String> listFree = new ArrayList<>();
+			listFree.add(CouponTypeEnum.freeCoupon.name());
+			listFree.add(CouponTypeEnum.welfareFreeCoupon.name());
+			listFree.add(CouponTypeEnum.freeCouponBuy.name());
+			listFree.add(CouponTypeEnum.freeCouponGive.name());
+			// 绱-閲戝竵鍏戞崲
+			long freeTotal = userSystemCouponCountService.countCouponNum(uid, null, null, listFree,listSource);
+			// 浣跨敤涓�
+			long freeUseIn = userSystemCouponCountService.countCouponNum(uid, UserSystemCoupon.STATE_IN_USE, null, listFree, null);
+			// 鍓╀綑
+			long freeUseCan = userSystemCouponCountService.countCouponNum(uid, UserSystemCoupon.STATE_CAN_USE, null, listFree, null);
+			long freeUseActive = userSystemCouponCountService.countCouponNum(uid, 0, 0, listFree, null);
+			
+			// 濂栧姳鍒�
+			listFree.clear();
+			listFree.add(CouponTypeEnum.rebatePercentCoupon.name());
+			// 绱-閲戝竵鍏戞崲
+			long rebateTotal = userSystemCouponCountService.countCouponNum(uid, null, null, listFree, listSource);
+			// 浣跨敤涓�
+			long rebateUseIn = userSystemCouponCountService.countCouponNum(uid, UserSystemCoupon.STATE_IN_USE, null, listFree, null);
+			// 鍓╀綑
+			long rebateUseCan = userSystemCouponCountService.countCouponNum(uid, UserSystemCoupon.STATE_CAN_USE, null, listFree, null);
+			
+			JSONObject data = new JSONObject();
+			data.put("freeTotal", freeTotal);
+			data.put("freeUseIn", freeUseIn);
+			data.put("freeLeft", freeUseCan + freeUseActive);
+			data.put("rebateTotal", rebateTotal);
+			data.put("rebateUseIn", rebateUseIn);
+			data.put("rebateLeft", rebateUseCan);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
+
+}

--
Gitblit v1.8.0