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/apph5/AppH5HelpCenterController.java |  370 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 222 insertions(+), 148 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java
index 9aba216..48f0a40 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java
@@ -1,148 +1,222 @@
-package com.yeshi.fanli.controller.apph5;
-
-import java.io.PrintWriter;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.yeshi.utils.JsonUtil;
-
-import com.yeshi.fanli.entity.bus.help.HelpCenter;
-import com.yeshi.fanli.entity.bus.help.HelpClass;
-import com.yeshi.fanli.entity.bus.help.HelpInfo;
-import com.yeshi.fanli.exception.HelpCenterException;
-import com.yeshi.fanli.service.inter.help.HelpCenterService;
-import com.yeshi.fanli.service.inter.help.HelpClassService;
-import com.yeshi.fanli.tag.PageEntity;
-import com.yeshi.fanli.util.Constant;
-
-import net.sf.json.JSONObject;
-
-@Controller
-@RequestMapping("api/apph5/v1/helpCenter")
-public class AppH5HelpCenterController {
-
-	@Resource
-	private HelpCenterService helpCenterService;
-	
-	@Resource
-	private HelpClassService helpClassService;
-	
-	/**
-	 * 鏌ヨ甯姪鍒楄〃
-	 * @param callback
-	 * @param pageIndex
-	 * @param pageSize
-	 * @param key
-	 * @param out
-	 */
-	@RequestMapping(value = "query")
-	public void query(String callback, Integer pageIndex, Integer pageSize,	String key, PrintWriter out) {
-		
-		try {
-			
-			if (pageIndex == null) 
-				pageIndex = 1;
-			
-			if (pageSize == null) 
-				pageSize = Constant.PAGE_SIZE;
-			
-			List<HelpCenter> helpCenterList = 
-					helpCenterService.queryIdAndTitle((pageIndex - 1) * pageSize, pageSize, key, null);
-			
-			if (helpCenterList == null || helpCenterList.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�"));
-				return;
-			} 
-			
-			long count = helpCenterService.countQuery(key, null);
-				
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count	/ pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-			
-			
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", helpCenterList);
-			
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-
-		} catch (Exception e) {
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鏆傛湭鏁版嵁")));
-			e.printStackTrace();
-		}
-	}
-	
-	
-	
-	/**
-	 * 鑾峰彇甯姪璇︽儏
-	 * @param callback
-	 * @param id
-	 * @param out
-	 */
-	@RequestMapping(value = "getInfo")
-	public void getInfo(String callback, Long id, PrintWriter out){
-		try {
-			if (id == null) {
-				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("璇ュ唴瀹逛笉瀛樺湪")));
-				return;
-			}
-			
-			HelpCenter crrent = helpCenterService.selectByPrimaryKeyCache(id);
-			
-			if (crrent == null) {
-				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")));
-				return;
-			}
-			
-			String html = null;
-			
-			
-			HelpInfo helpInfo = helpCenterService.getHelpInfoCache(id);
-			if (helpInfo != null) {
-				html = helpInfo.getHtml();
-			}
-			
-			JSONObject data = new JSONObject();
-			data.put("id",crrent.getId());
-			data.put("title",crrent.getTitle());
-			data.put("html", html);
-			
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-			
-		} catch (HelpCenterException e) {
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌鍐呭")));
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 鏌ヨ鍚敤鐨勫垎绫�
-	 * @param callback
-	 * @param out
-	 */
-	@RequestMapping(value = "getClass")
-	public void getClass(String callback, PrintWriter out) {
-
-		try {
-			List<HelpClass> list = helpClassService.getClassByState(1);
-			if (list == null || list.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-				return;
-			}
-
-			JSONObject data = new JSONObject();
-			data.put("class_list", list);
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-			
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-			e.printStackTrace();
-		}
-	}
-	
-}
+package com.yeshi.fanli.controller.apph5;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.yeshi.utils.JsonUtil;
+
+import com.yeshi.fanli.entity.AppVersionInfo;
+import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.help.HelpCenter;
+import com.yeshi.fanli.entity.bus.help.HelpClass;
+import com.yeshi.fanli.entity.bus.help.HelpInfo;
+import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType;
+import com.yeshi.fanli.service.inter.config.AppVersionService;
+import com.yeshi.fanli.service.inter.help.HelpCenterService;
+import com.yeshi.fanli.service.inter.help.HelpClassService;
+import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("api/apph5/v1/helpCenter")
+public class AppH5HelpCenterController {
+
+    @Resource
+    private HelpCenterService helpCenterService;
+
+    @Resource
+    private HelpClassService helpClassService;
+
+    @Resource
+    private AppVersionService appVersionService;
+
+    @Resource
+    private AdActivityVersionControlService adActivityVersionControlService;
+
+    /**
+     * 鏌ヨ甯姪鍒楄〃
+     *
+     * @param callback
+     * @param pageSize
+     * @param key
+     * @param out
+     */
+    @RequestMapping(value = "query")
+    public void query(String callback, AcceptData acceptData, Long pageId, Integer pageSize, String key, Long cid,
+                      PrintWriter out) {
+        //鍏朵粬APP鏃犲府鍔╀腑蹇冨垪琛�
+        if (acceptData.getSystem() == null)
+            acceptData.setSystem(SystemEnum.blks);
+        try {
+            if (pageSize == null)
+                pageSize = Constant.PAGE_SIZE;
+
+            if (cid != null && cid == 0)
+                cid = null; // 鏌ヨ鍏ㄩ儴
+
+            if (!StringUtil.isNullOrEmpty(key))
+                key = key.trim();
+
+            if (pageId == null)
+                pageId = 0L;
+
+            List<HelpCenter> list1 = helpCenterService.listValid(pageId, pageSize, key, cid, acceptData.getSystem());
+            List<HelpCenter> list = new ArrayList<>();
+            if (list1 != null && list1.size() > 0)
+                list.addAll(list1);
+
+            if (list.size() == 0) {
+                pageId = 0L;
+            } else {
+                pageId = list.get(list.size() - 1).getId();
+                // 鐗堟湰杩囨护
+                int version = Integer.parseInt(acceptData.getVersion());
+                String platform = acceptData.getPlatform().toLowerCase();
+                List<AppVersionInfo> versionList = appVersionService.listByPlatformAndMinVersionCode(platform, version, acceptData.getSystem());
+                if (versionList == null || versionList.size() <= 0) {
+                    //闄嶇骇
+                    versionList = appVersionService.listByPlatformAndMaxVersionCode(platform, version, acceptData.getSystem());
+                    if(versionList!=null&&versionList.size()>0) {
+                        version = versionList.get(versionList.size() - 1).getVersionCode();
+                        versionList = appVersionService.listByPlatformAndMinVersionCode(platform, version, acceptData.getSystem());
+                    }
+                }
+                if (versionList == null || versionList.size() <= 0) {
+                    list.clear();
+                } else {
+                    List<Long> sourceIdList = new ArrayList<>();
+                    for (HelpCenter record : list) {
+                        sourceIdList.add(record.getId());
+                    }
+                    List<Long> versionIdList = new ArrayList<>();
+                    for (AppVersionInfo versionInfo : versionList)
+                        versionIdList.add(versionInfo.getId());
+                    Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList,
+                            AdActivityType.helpCenter, versionIdList);
+
+                    for (int i = 0; i < list.size(); i++) {
+                        if (!sets.contains(list.get(i).getId())) {
+                            list.remove(i--);
+                        }
+                    }
+                }
+            }
+
+            JSONObject data = new JSONObject();
+            data.put("pageId", pageId);
+            data.put("result_list", JsonUtil.getApiCommonGson().toJson(list));
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+        } catch (Exception e) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 鑾峰彇甯姪璇︽儏
+     *
+     * @param callback
+     * @param id
+     * @param out
+     */
+    @RequestMapping(value = "getInfo")
+    public void getInfo(String callback, Long id, PrintWriter out) {
+        try {
+            if (id == null) {
+                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹逛笉瀛樺湪"));
+                return;
+            }
+            HelpCenter crrent = helpCenterService.selectByPrimaryKeyCache(id);
+            if (crrent == null) {
+                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
+                return;
+            }
+
+            String html = null;
+            HelpInfo helpInfo = helpCenterService.getHelpInfoCache(id);
+            if (helpInfo != null) {
+                html = helpInfo.getHtml();
+            }
+
+            JSONObject data = new JSONObject();
+            data.put("id", crrent.getId());
+            data.put("title", crrent.getTitle());
+            data.put("html", html);
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+        } catch (Exception e) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏁版嵁澶辫触"));
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 鏌ヨ鍚敤鐨勫垎绫�
+     *
+     * @param callback
+     * @param out
+     */
+    @RequestMapping(value = "getClass")
+    public void getClass(String callback, AcceptData acceptData, PrintWriter out) {
+        if (acceptData.getSystem() == null)
+            acceptData.setSystem(SystemEnum.blks);
+        try {
+            List<HelpClass> resultList = new ArrayList<>();
+
+            List<HelpClass> list = helpClassService.getClassByState(1, acceptData.getSystem());
+            if (list != null && list.size() > 0) {
+                resultList.addAll(list);
+            }
+
+            // 鐗堟湰杩囨护
+            int version = Integer.parseInt(acceptData.getVersion());
+            String platform = acceptData.getPlatform().toLowerCase();
+            List<AppVersionInfo> versionList = appVersionService.listByPlatformAndMinVersionCode(platform, version, acceptData.getSystem());
+            if (versionList == null || versionList.size() <= 0) {
+                //闄嶇骇
+                versionList = appVersionService.listByPlatformAndMaxVersionCode(platform, version, acceptData.getSystem());
+                if(versionList!=null&&versionList.size()>0) {
+                    version = versionList.get(versionList.size() - 1).getVersionCode();
+                    versionList = appVersionService.listByPlatformAndMinVersionCode(platform, version, acceptData.getSystem());
+                }
+            }
+
+            if (versionList == null || versionList.size() <= 0) {
+                resultList.clear();
+            } else {
+                List<Long> sourceIdList = new ArrayList<>();
+                for (HelpClass record : resultList) {
+                    sourceIdList.add(record.getId());
+                }
+                List<Long> versionIdList = new ArrayList<>();
+                for (AppVersionInfo versionInfo : versionList)
+                    versionIdList.add(versionInfo.getId());
+                Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList,
+                        AdActivityType.helpClass, versionIdList);
+
+                for (int i = 0; i < list.size(); i++) {
+                    if (!sets.contains(list.get(i).getId())) {
+                        list.remove(i--);
+                    }
+                }
+            }
+
+            JSONObject data = new JSONObject();
+            data.put("class_list", JsonUtil.getApiCommonGson().toJson(resultList));
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+        } catch (Exception e) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+            e.printStackTrace();
+        }
+    }
+
+}

--
Gitblit v1.8.0