Ver código fonte

Merge branch 'test' of jishutao/kede-server into prod

anderx 7 meses atrás
pai
commit
27aecfbeee
22 arquivos alterados com 71 adições e 329 exclusões
  1. 1 6
      .gitignore
  2. 22 0
      pom.xml
  3. 0 144
      src/main/java/com/company/Main.java
  4. 1 0
      src/main/java/com/goafanti/Interview/service/impl/UserArchivesInterviewServiceImpl.java
  5. 1 1
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  6. 2 10
      src/main/java/com/goafanti/admin/controller/AdminStatisticsController.java
  7. 4 1
      src/main/java/com/goafanti/admin/service/impl/NewAdminServiceImpl.java
  8. 16 0
      src/main/java/com/goafanti/common/task/AutoBackUpAuditTask.java
  9. 2 2
      src/main/java/com/goafanti/common/task/OrderDunTask.java
  10. 1 0
      src/main/java/com/goafanti/common/utils/AsyncUtils.java
  11. 4 3
      src/main/java/com/goafanti/common/utils/WeChatUtils.java
  12. 0 21
      src/main/java/com/goafanti/core/shiro/filter/AdminFilter.java
  13. 2 8
      src/main/java/com/goafanti/customer/service/impl/UserArchivesServiceImpl.java
  14. 5 1
      src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java
  15. 1 1
      src/main/java/com/goafanti/weChat/controller/PublicAssistAdviceController.java
  16. 1 1
      src/main/java/com/goafanti/weChat/controller/service/PublicAssistAdviceService.java
  17. 2 2
      src/main/java/com/goafanti/weChat/controller/service/impl/PublicAssistAdviceServiceImpl.java
  18. 1 0
      src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java
  19. 0 128
      src/main/java/com/tencent/wework/Finance.java
  20. 2 0
      src/main/resources/props/config_local.properties
  21. 2 0
      src/main/resources/props/config_test.properties
  22. 1 0
      src/main/resources/spring/spring-mvc.xml

+ 1 - 6
.gitignore

@@ -16,9 +16,4 @@
 
 /qodana.yaml
 
-/src/libcrypto-3-x64.dll
-/libcrypto-3-x64.dll
-/src/libcurl-x64.dll
-/libcurl-x64.dll
-/src/WeWorkFinanceSdk.dll
-/WeWorkFinanceSdk.dll
+/src/main/resources/lib/

+ 22 - 0
pom.xml

@@ -461,6 +461,12 @@
 			<version>0.2.15</version>
 			<scope>compile</scope>
 		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>2.11.0</version>
+		</dependency>
+
 		<!--        orc智能识别-->
 		<!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
 <!--		<dependency>-->
@@ -468,6 +474,22 @@
 <!--			<artifactId>tess4j</artifactId>-->
 <!--			<version>5.8.0</version>-->
 <!--		</dependency>-->
+		<!--<dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <version>1.64</version>
+        </dependency>(这个好像可以不要)-->
+		<dependency>
+			<groupId>org.bouncycastle</groupId>
+			<artifactId>bcpg-jdk16</artifactId>
+			<version>1.46</version>
+		</dependency>
+		<dependency>
+			<groupId>org.bouncycastle</groupId>
+			<artifactId>bcpkix-jdk15on</artifactId>
+			<version>1.64</version>
+		</dependency>
+
 
 
 	</dependencies>

+ 0 - 144
src/main/java/com/company/Main.java

@@ -1,144 +0,0 @@
-package com.company;
-
-import com.tencent.wework.Finance;
-
-import java.io.File;
-import java.io.FileOutputStream;
-
-//10000	参数错误,请求参数错误
-//10001	网络错误,网络请求错误
-//10002	数据解析失败
-//10003	系统失败
-//10004	密钥错误导致加密失败
-//10005	fileid错误
-//10006	解密失败
-//10007 找不到消息加密版本的私钥,需要重新传入私钥对
-//10008 解析encrypt_key出错
-//10009 ip非法
-//10010 数据过期
-
-public class Main {
-    public static void main(String[] args){
-
-        //seq 表示该企业存档消息序号,该序号单调递增,拉取序号建议设置为上次拉取返回结果中最大序号。首次拉取时seq传0,sdk会返回有效期内最早的消息。
-        //limit 表示本次拉取的最大消息条数,取值范围为1~1000
-        //proxy与passwd为代理参数,如果运行sdk的环境不能直接访问外网,需要配置代理参数。sdk访问的域名是"https://qyapi.weixin.qq.com"。
-        //建议先通过curl访问"https://qyapi.weixin.qq.com",验证代理配置正确后,再传入sdk。
-        //timeout 为拉取会话存档的超时时间,单位为秒,建议超时时间设置为5s。
-        //sdkfileid 媒体文件id,从解密后的会话存档中得到
-        //savefile 媒体文件保存路径
-        //encrypt_key 拉取会话存档返回的encrypt_random_key,使用配置在企业微信管理台的rsa公钥对应的私钥解密后得到encrypt_key。
-        //encrypt_chat_msg 拉取会话存档返回的encrypt_chat_msg
-        if (args.length < 2) {
-            System.out.println("./sdktools 1(chatmsg) 2(mediadata) 3(decryptdata)\n");
-            System.out.println("./sdktools 1 seq limit proxy passwd timeout\n");
-            System.out.println("./sdktools 2 fileid proxy passwd timeout savefile\n");
-            System.out.println("./sdktools 3 encrypt_key encrypt_chat_msg\n");
-            return;
-        }
-
-        long ret = 0;
-        //使用sdk前需要初始化,初始化成功后的sdk可以一直使用。
-        //如需并发调用sdk,建议每个线程持有一个sdk实例。
-        //初始化时请填入自己企业的corpid与secrectkey。
-        long sdk = Finance.NewSdk();
-        ret = Finance.Init(sdk, "wwd1f2fb82952be74c", "zJ*****************************ew");
-        System.out.println(ret);
-        String arg0 = args[0];
-        arg0="1";
-        if(ret != 0){
-            Finance.DestroySdk(sdk);
-            System.out.println("init sdk err ret " + ret);
-            return;
-        }else {
-            System.out.println("init sdk ok");
-        }
-        if (arg0.equals("1")) {
-            //拉取会话存档
-            int seq = Integer.parseInt(args[1]);
-            int limit = Integer.parseInt(args[2]);
-            String proxy = args[3];
-            String passwd = args[4];
-            int timeout = Integer.parseInt(args[5]);
-
-            //每次使用GetChatData拉取存档前需要调用NewSlice获取一个slice,在使用完slice中数据后,还需要调用FreeSlice释放。
-            long slice = Finance.NewSlice();
-            ret = Finance.GetChatData(sdk, seq, limit, proxy, passwd, timeout, slice);
-            System.out.println("==============="+ret);
-            if (ret != 0) {
-                System.out.println("getchatdata ret " + ret);
-                Finance.FreeSlice(slice);
-                return;
-            }
-            System.out.println("getchatdata :" + Finance.GetContentFromSlice(slice));
-            Finance.FreeSlice(slice);
-        }
-        else if (args[0].equals("2")) {
-            //拉取媒体文件
-            String sdkfileid = args[1];
-            String proxy = args[2];
-            String passwd = args[3];
-            int timeout = Integer.parseInt(args[4]);
-            String savefile = args[5];
-
-            //媒体文件每次拉取的最大size为512k,因此超过512k的文件需要分片拉取。若该文件未拉取完整,sdk的IsMediaDataFinish接口会返回0,同时通过GetOutIndexBuf接口返回下次拉取需要传入GetMediaData的indexbuf。
-            //indexbuf一般格式如右侧所示,”Range:bytes=524288-1048575“,表示这次拉取的是从524288到1048575的分片。单个文件首次拉取填写的indexbuf为空字符串,拉取后续分片时直接填入上次返回的indexbuf即可。
-            String indexbuf = "";
-            while(true){
-                //每次使用GetMediaData拉取存档前需要调用NewMediaData获取一个media_data,在使用完media_data中数据后,还需要调用FreeMediaData释放。
-                long media_data = Finance.NewMediaData();
-                ret = Finance.GetMediaData(sdk, indexbuf, sdkfileid, proxy, passwd, timeout, media_data);
-                if(ret!=0){
-                    System.out.println("getmediadata ret:" + ret);
-                    Finance.FreeMediaData(media_data);
-                    return;
-                }
-                System.out.printf("getmediadata outindex len:%d, data_len:%d, is_finis:%d\n",Finance.GetIndexLen(media_data),Finance.GetDataLen(media_data), Finance.IsMediaDataFinish(media_data));
-                try {
-                    //大于512k的文件会分片拉取,此处需要使用追加写,避免后面的分片覆盖之前的数据。
-                    FileOutputStream outputStream  = new FileOutputStream(new File(savefile), true);
-                    outputStream.write(Finance.GetData(media_data));
-                    outputStream.close();
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-
-                if(Finance.IsMediaDataFinish(media_data) == 1)
-                {
-                    //已经拉取完成最后一个分片
-                    Finance.FreeMediaData(media_data);
-                    break;
-                }
-                else
-                {
-                    //获取下次拉取需要使用的indexbuf
-                    indexbuf = Finance.GetOutIndexBuf(media_data);
-                    Finance.FreeMediaData(media_data);
-                }
-            }
-        }
-        else if (args[0].equals("3")) {
-            //解密会话存档内容
-            //sdk不会要求用户传入rsa私钥,保证用户会话存档数据只有自己能够解密。
-            //此处需要用户先用rsa私钥解密encrypt_random_key后,作为encrypt_key参数传入sdk来解密encrypt_chat_msg获取会话存档明文。
-            String encrypt_key = args[1];
-            String encrypt_chat_msg = args[2];
-
-            //每次使用DecryptData解密会话存档前需要调用NewSlice获取一个slice,在使用完slice中数据后,还需要调用FreeSlice释放。
-            long msg = Finance.NewSlice();
-            ret = Finance.DecryptData(sdk, encrypt_key, encrypt_chat_msg, msg);
-            if (ret != 0) {
-                System.out.println("getchatdata ret " + ret);
-                Finance.FreeSlice(msg);
-                return;
-            }
-            System.out.println("decrypt ret:" + ret + " msg:" + Finance.GetContentFromSlice(msg));
-            Finance.FreeSlice(msg);
-        }
-        else {
-            System.out.println("wrong args " + args[0]);
-        }
-        Finance.DestroySdk(sdk);
-    }
-}
-

+ 1 - 0
src/main/java/com/goafanti/Interview/service/impl/UserArchivesInterviewServiceImpl.java

@@ -191,6 +191,7 @@ public class UserArchivesInterviewServiceImpl extends BaseMybatisDao<UserArchive
             userArchivesInterviewMapper.update(userArchivesInterview);
         }else {
             userArchivesInterview.setCreateTime(new Date());
+            userArchivesInterview.setPrdid(null);
             userArchivesInterviewMapper.insert(userArchivesInterview);
             in.setUaiId(userArchivesInterview.getId());
         }

+ 1 - 1
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -13,7 +13,7 @@ import com.goafanti.common.model.*;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.StringUtils;
-import com.goafanti.common.utils.WeChatUtils;
+import com.goafanti.common.utils.weChat.WeChatUtils;
 import com.goafanti.copyright.bo.CopyrightInfoDetail;
 import com.goafanti.copyright.service.CopyrightInfoService;
 import com.goafanti.core.shiro.token.TokenManager;

+ 2 - 10
src/main/java/com/goafanti/admin/controller/AdminStatisticsController.java

@@ -19,6 +19,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 @Controller
 @RequestMapping(value = "/api/admin/statistics")
@@ -34,7 +35,6 @@ public class AdminStatisticsController extends CertifyApiController {
      * 营销首页信息
      * @param startTime  开始时间
      * @param endTime  结束时间
-     * @return
      */
     @RequestMapping(value = "/info", method = RequestMethod.GET)
     public Result info(String startTime,String endTime) {
@@ -47,7 +47,6 @@ public class AdminStatisticsController extends CertifyApiController {
 
     /**
      * 营销首页折线图
-     * @return
      */
     @RequestMapping(value = "/lists", method = RequestMethod.GET)
     public Result lists() {
@@ -61,7 +60,6 @@ public class AdminStatisticsController extends CertifyApiController {
      * 咨询师首页信息
      * @param startTime  开始时间
      * @param endTime  结束时间
-     * @return
      */
     @RequestMapping(value = "/consultant/info", method = RequestMethod.GET)
     public Result consultantInfo(String startTime,String endTime) {
@@ -73,7 +71,6 @@ public class AdminStatisticsController extends CertifyApiController {
 
     /**
      * 咨询首页折线图
-     * @return
      */
     @RequestMapping(value = "/consultant/lists", method = RequestMethod.GET)
     public Result consultantLists() {
@@ -87,7 +84,6 @@ public class AdminStatisticsController extends CertifyApiController {
      * 财务首页信息
      * @param startTime  开始时间
      * @param endTime  结束时间
-     * @return
      */
     @RequestMapping(value = "/finance/info", method = RequestMethod.GET)
     public Result financeInfo(String startTime,String endTime) {
@@ -99,7 +95,6 @@ public class AdminStatisticsController extends CertifyApiController {
 
     /**
      * 咨询首页折线图
-     * @return
      */
     @RequestMapping(value = "/finance/lists", method = RequestMethod.GET)
     public Result financeLists() {
@@ -111,7 +106,6 @@ public class AdminStatisticsController extends CertifyApiController {
 
     /**
      * 营销团队外呼统计
-     * @return
      */
     @RequestMapping(value = "/salesTeam", method = RequestMethod.GET)
     public Result salesTeam(String startTime,String endTime) {
@@ -123,12 +117,10 @@ public class AdminStatisticsController extends CertifyApiController {
 
     /**
      * 营销团队外呼统计缓存清理
-     * @return
      */
     @RequestMapping(value = "/salesTeam/clean", method = RequestMethod.GET)
     public Result salesTeamClean() {
         Result res =new Result();
-        String aid = TokenManager.getAdminId();
         res.data(adminStatisticsService.salesTeamClean());
         return res;
     }
@@ -184,7 +176,7 @@ public class AdminStatisticsController extends CertifyApiController {
     @RequestMapping(value = "/AllDataExport", method = RequestMethod.GET)
     public Result AllDataExport( HttpServletResponse response) {
         //管理员与曾妹涵账号有权限导出
-        if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.getAdminId().equals("a7661bcf-bdca-484e-baef-6f52b305aeae")){
+        if (TokenManager.hasRole(AFTConstants.SUPERADMIN)|| Objects.equals(TokenManager.getAdminId(), "a7661bcf-bdca-484e-baef-6f52b305aeae")){
             List<selectAllUserDataBo> list = adminStatisticsService.AllDataExport();
             NewExcelUtil<selectAllUserDataBo> newExcelUtil=new NewExcelUtil<>(selectAllUserDataBo.class);
             return newExcelUtil.exportExcel(list,"统计所有用户数据",response);

+ 4 - 1
src/main/java/com/goafanti/admin/service/impl/NewAdminServiceImpl.java

@@ -81,7 +81,10 @@ public class NewAdminServiceImpl extends BaseMybatisDao<AdminMapper> implements
 		for (AdminPublicReviewerBo e : collect) {
 			sb.append(e.getReviewerName()).append(",");
 		}
-		i.setSuperior(sb.substring(0,sb.length()-1));
+		if  (sb.length() > 0) {
+			i.setSuperior(sb.substring(0,sb.length()-1));
+		}
+
 	}
 
 	@Override

+ 16 - 0
src/main/java/com/goafanti/common/task/AutoBackUpAuditTask.java

@@ -0,0 +1,16 @@
+package com.goafanti.common.task;
+
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+@Component
+public class AutoBackUpAuditTask {
+
+    /**
+     * 自动备份消息存档
+     * */
+    @Scheduled(cron = "0 0 0/2 * * ?")
+    public void backupWeChat() {
+
+    }
+}

+ 2 - 2
src/main/java/com/goafanti/common/task/OrderDunTask.java

@@ -239,8 +239,8 @@ public class OrderDunTask {
 	* 	每月1号凌晨4点轮询处理需要欠款催款的信息
 	*
 	*/
-//	@Scheduled(cron = "0 0 4 1 * ?")
-	@Scheduled(cron = "0 33 9 * * ?")
+	@Scheduled(cron = "0 0 4 1 * ?")
+//	@Scheduled(cron = "0 33 9 * * ?")
 //	@RequestMapping(value = "/open/pushOrderArrearsDun", method = RequestMethod.GET)
 	public void pushOrderArrearsDun() {
     try {

+ 1 - 0
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -10,6 +10,7 @@ import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.enums.NoticeTypes;
 import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.*;
+import com.goafanti.common.utils.weChat.WeChatUtils;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.NewOrderChangeBo;
 import com.goafanti.order.bo.TOrderNewBo;

+ 4 - 3
src/main/java/com/goafanti/common/utils/WeChatUtils.java

@@ -1,10 +1,11 @@
-package com.goafanti.common.utils;
+package com.goafanti.common.utils.weChat;
 
 import com.alibaba.fastjson.JSONObject;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.Admin;
+import com.goafanti.common.utils.*;
 import com.goafanti.core.shiro.token.TokenManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -136,7 +137,7 @@ public class WeChatUtils {
 	}
 
 	private Integer SendHttpPost(Map<String, Object> map, String url) {
-		JSONObject res=HttpUtils.httpPost(url, map);
+		JSONObject res= HttpUtils.httpPost(url, map);
 		if (res.get("errcode")!=null) {
 			LoggerUtils.error(this.getClass(),String.format("================errcode={%s}",res));
 			LoggerUtils.error(this.getClass(),String.format("================data={%s}",map.get("data")));
@@ -185,7 +186,7 @@ public class WeChatUtils {
 	 */
 	private Map<String, Object> getPublicData(Integer type,Date date, String aname, String remarks) {
 		Map<String, Object> we=new HashMap<String, Object>();
-		String strDate=DateUtils.formatDate(date, AFTConstants.YMDHMS_CHINESE);
+		String strDate= DateUtils.formatDate(date, AFTConstants.YMDHMS_CHINESE);
 		if (remarks.length()>20)remarks=remarks.substring(0,17)+"...";
 		if (type==1) {
 			Map<String, Object> v1=new HashMap<String, Object>();

+ 0 - 21
src/main/java/com/goafanti/core/shiro/filter/AdminFilter.java

@@ -28,27 +28,6 @@ public class AdminFilter extends AccessControlFilter {
 			throws Exception {
 		AftUser token = TokenManager.getToken();
 		if (token instanceof Admin) {
-			//获取访问是post还是get
-			boolean post = ((HttpServletRequest) request).getMethod().equals("POST");
-			if(post){
-				//获取接口名称
-				String UrlName = ((HttpServletRequest) request).getRequestURI();
-				String id = token.getId();
-				String tokenTime = redisUtil.getString("tokenTime:"+id);
-				if (tokenTime != null){
-				//只限制post请求
-					//判定接口相同时间小于1秒提示请勿重复提交
-					String[] split = tokenTime.split("\\|");
-					String s = split[0];
-					if (UrlName.equals(s)){
-						if (System.currentTimeMillis()-Long.valueOf(split[1])<1000){
-							LoggerUtils.debug(CLASS, "请勿重复提交!");
-							shiroFilterUtils.out((HttpServletResponse) response, new Result().error(new Error("请勿重复提交!")));
-						}
-					}
-				}
-			redisUtil.setString("tokenTime:"+id,UrlName+"|"+System.currentTimeMillis());
-			}
 			return Boolean.TRUE;
 		}
 		return Boolean.FALSE;

+ 2 - 8
src/main/java/com/goafanti/customer/service/impl/UserArchivesServiceImpl.java

@@ -111,14 +111,8 @@ public class UserArchivesServiceImpl extends BaseMybatisDao< UserArchivesMapper>
         }
         BeanUtils.copyProperties(userArchives, user);
         user.setUid(id);
-        List<selectByUidAidBo> userArchivesInterviews;
-        if (type==0){
-            userArchivesInterviews = userArchivesInterviewMapper.selectByUidAid(id, TokenManager.getAdminId());
-            user.setInterviewList(userArchivesInterviews);
-        }else {
-            userArchivesInterviews = userArchivesInterviewMapper.selectByUidAid(id, TokenManager.getAdminId());
-        }
-        user.setInterviewList(userArchivesInterviews);
+        //设置面谈列表
+        user.setInterviewList(userArchivesInterviewMapper.selectByUidAid(id, TokenManager.getAdminId()));
         //获取首次面谈时间
         List<UserFirstInterview> firstList;
         if (type == 0){

+ 5 - 1
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -12,10 +12,14 @@ import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.enums.NoticeTypes;
 import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.*;
-import com.goafanti.common.utils.*;
+import com.goafanti.common.utils.AsyncUtils;
+import com.goafanti.common.utils.DateUtils;
+import com.goafanti.common.utils.LoggerUtils;
+import com.goafanti.common.utils.StringUtils;
 import com.goafanti.common.utils.excel.FileUtils;
 import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.common.utils.pdf.PDFUtils;
+import com.goafanti.common.utils.weChat.WeChatUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
 import com.goafanti.core.mybatis.page.Pagination;

+ 1 - 1
src/main/java/com/goafanti/weChat/controller/PublicAssistAdviceController.java

@@ -2,7 +2,7 @@ package com.goafanti.weChat.controller;
 
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.model.PublicAssistAdvice;
-import com.goafanti.weChat.controller.service.PublicAssistAdviceService;
+import com.goafanti.weChat.service.PublicAssistAdviceService;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;

+ 1 - 1
src/main/java/com/goafanti/weChat/controller/service/PublicAssistAdviceService.java

@@ -1,4 +1,4 @@
-package com.goafanti.weChat.controller.service;
+package com.goafanti.weChat.service;
 
 import com.goafanti.common.model.PublicAssistAdvice;
 

+ 2 - 2
src/main/java/com/goafanti/weChat/controller/service/impl/PublicAssistAdviceServiceImpl.java

@@ -1,11 +1,11 @@
-package com.goafanti.weChat.controller.service.impl;
+package com.goafanti.weChat.service.impl;
 
 import com.goafanti.common.dao.PublicAssistAdviceMapper;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.PublicAssistAdvice;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.shiro.token.TokenManager;
-import com.goafanti.weChat.controller.service.PublicAssistAdviceService;
+import com.goafanti.weChat.service.PublicAssistAdviceService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;

+ 1 - 0
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -12,6 +12,7 @@ import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.*;
 import com.goafanti.common.utils.*;
+import com.goafanti.common.utils.weChat.WeChatUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;

+ 0 - 128
src/main/java/com/tencent/wework/Finance.java

@@ -1,128 +0,0 @@
-package com.tencent.wework;
-
-/* sdk返回数据
-typedef struct Slice_t {
-    char* buf;
-    int len;
-} Slice_t;
-
-typedef struct MediaData {
-    char* outindexbuf;
-    int out_len;
-    char* data;
-    int data_len;
-    int is_finish;
-} MediaData_t;
-*/
-
-public class Finance {
-    public native static long NewSdk();
-
-    /**
-     * 初始化函数
-     * Return值=0表示该API调用成功
-     *
-     * @param [in] sdk			NewSdk返回的sdk指针
-     * @param [in] corpid      调用企业的企业id,例如:wwd08c8exxxx5ab44d,可以在企业微信管理端--我的企业--企业信息查看
-     * @param [in] secret		聊天内容存档的Secret,可以在企业微信管理端--管理工具--聊天内容存档查看
-     * @return 返回是否初始化成功
-     * 0   - 成功
-     * !=0 - 失败
-     */
-    public native static int Init(long sdk, String corpid, String secret);
-
-    /**
-     * 拉取聊天记录函数
-     * Return值=0表示该API调用成功
-     *
-     * @param [in]  sdk				NewSdk返回的sdk指针
-     * @param [in]  seq				从指定的seq开始拉取消息,注意的是返回的消息从seq+1开始返回,seq为之前接口返回的最大seq值。首次使用请使用seq:0
-     * @param [in]  limit			一次拉取的消息条数,最大值1000条,超过1000条会返回错误
-     * @param [in]  proxy			使用代理的请求,需要传入代理的链接。如:socks5://10.0.0.1:8081 或者 http://10.0.0.1:8081
-     * @param [in]  passwd			代理账号密码,需要传入代理的账号密码。如 user_name:passwd_123
-     * @param [out] chatDatas		返回本次拉取消息的数据,slice结构体.内容包括errcode/errmsg,以及每条消息内容。
-     * @return 返回是否调用成功
-     * 0   - 成功
-     * !=0 - 失败
-     */
-    public native static int GetChatData(long sdk, long seq, long limit, String proxy, String passwd, long timeout, long chatData);
-
-    /**
-     * 拉取媒体消息函数
-     * Return值=0表示该API调用成功
-     *
-     * @param [in]  sdk				NewSdk返回的sdk指针
-     * @param [in]  sdkFileid		从GetChatData返回的聊天消息中,媒体消息包括的sdkfileid
-     * @param [in]  proxy			使用代理的请求,需要传入代理的链接。如:socks5://10.0.0.1:8081 或者 http://10.0.0.1:8081
-     * @param [in]  passwd			代理账号密码,需要传入代理的账号密码。如 user_name:passwd_123
-     * @param [in]  indexbuf		媒体消息分片拉取,需要填入每次拉取的索引信息。首次不需要填写,默认拉取512k,后续每次调用只需要将上次调用返回的outindexbuf填入即可。
-     * @param [out] media_data		返回本次拉取的媒体数据.MediaData结构体.内容包括data(数据内容)/outindexbuf(下次索引)/is_finish(拉取完成标记)
-     * @return 返回是否调用成功
-     * 0   - 成功
-     * !=0 - 失败
-     */
-    public native static int GetMediaData(long sdk, String indexbuf, String sdkField, String proxy, String passwd, long timeout, long mediaData);
-
-    /**
-     * @param [in]  encrypt_key, getchatdata返回的encrypt_key
-     * @param [in]  encrypt_msg, getchatdata返回的content
-     * @param [out] msg, 解密的消息明文
-     * @return 返回是否调用成功
-     * 0   - 成功
-     * !=0 - 失败
-     * @brief 解析密文
-     */
-    public native static int DecryptData(long sdk, String encrypt_key, String encrypt_msg, long msg);
-
-    public native static void DestroySdk(long sdk);
-
-    public native static long NewSlice();
-
-    /**
-     * @return
-     * @brief 释放slice,和NewSlice成对使用
-     */
-    public native static void FreeSlice(long slice);
-
-    /**
-     * @return 内容
-     * @brief 获取slice内容
-     */
-    public native static String GetContentFromSlice(long slice);
-
-    /**
-     * @return 内容
-     * @brief 获取slice内容长度
-     */
-    public native static int GetSliceLen(long slice);
-
-    public native static long NewMediaData();
-
-    public native static void FreeMediaData(long mediaData);
-
-    /**
-     * @return outindex
-     * @brief 获取mediadata outindex
-     */
-    public native static String GetOutIndexBuf(long mediaData);
-
-    /**
-     * @return data
-     * @brief 获取mediadata data数据
-     */
-    public native static byte[] GetData(long mediaData);
-
-    public native static int GetIndexLen(long mediaData);
-
-    public native static int GetDataLen(long mediaData);
-
-    /**
-     * @return 1完成、0未完成
-     * @brief 判断mediadata是否结束
-     */
-    public native static int IsMediaDataFinish(long mediaData);
-
-    static {
-        System.loadLibrary("WeWorkFinanceSdk");
-    }
-}

+ 2 - 0
src/main/resources/props/config_local.properties

@@ -30,6 +30,8 @@ jdbc.removeAbandonedTimeout=300
 jdbc.logAbandoned=true
 jdbc.filters=stat
 logging.level.com.goafanti=DEBUG
+conversationContent.corpid=wwd1f2fb82952be74c
+conversationContent.secret=0k4XYuHUl4QB8QTB6cAOSaRIX00ur1Vyjjz4p_REP_k
 
 jedis.host=localhost
 jedis.port=6379

+ 2 - 0
src/main/resources/props/config_test.properties

@@ -20,6 +20,8 @@ jdbc.removeAbandoned=true
 jdbc.removeAbandonedTimeout=300
 jdbc.logAbandoned=true
 jdbc.filters=stat
+conversationContent.corpid=wwd1f2fb82952be74c
+conversationContent.secret=0k4XYuHUl4QB8QTB6cAOSaRIX00ur1Vyjjz4p_REP_k
 
 logging.level.com.goafanti=DEBUG
 

+ 1 - 0
src/main/resources/spring/spring-mvc.xml

@@ -16,6 +16,7 @@
 
 	<context:component-scan
 		base-package="com.goafanti.*.controller;com.goafanti.common.task;com.goafanti.common.utils;
+		com.tencent.wework;
 		com.goafanti.core.websocket" />