hcst_sunzhen 4 роки тому
батько
коміт
5af8862fd4

+ 99 - 98
src/main/java/cn/com/ctop/okr/config/ShiroConfig.java

@@ -43,110 +43,111 @@ public class ShiroConfig {
         Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
         // 配置不会被拦截的链接 顺序判断
         //登录接口排除
-        filterChainDefinitionMap.put("/sys/login", "anon");
+        //filterChainDefinitionMap.put("/sys/login", "anon");
         filterChainDefinitionMap.put("/sys/wxlogin", "anon");
-
-        //获取加密串
-        filterChainDefinitionMap.put("/sys/getEncryptedString", "anon");
-        //短信验证码
-        filterChainDefinitionMap.put("/sys/sms", "anon");
-        //手机登录
-        filterChainDefinitionMap.put("/sys/phoneLogin", "anon");
-        //校验用户是否存在
-        filterChainDefinitionMap.put("/sys/user/checkOnlyUser", "anon");
-        //用户注册
-        filterChainDefinitionMap.put("/sys/user/register", "anon");
-        //根据手机号获取用户信息
-        filterChainDefinitionMap.put("/sys/user/querySysUser", "anon");
-        //用户忘记密码验证手机号
-        filterChainDefinitionMap.put("/sys/user/phoneVerification", "anon");
-        //用户更改密码
-        filterChainDefinitionMap.put("/sys/user/passwordChange", "anon");
-        //登录验证码
-        filterChainDefinitionMap.put("/auth/2step-code", "anon");
-        //图片预览不限制token
-        filterChainDefinitionMap.put("/sys/common/view/**", "anon");
-        //文件下载不限制token
-        filterChainDefinitionMap.put("/sys/common/download/**", "anon");
-        //pdf预览
-        filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");
-        filterChainDefinitionMap.put("/ctop/bytedanceAreaInfo/**", "anon");
-        filterChainDefinitionMap.put("/ctop/bytedanceInterestCategory/**", "anon");
-        filterChainDefinitionMap.put("/template/creative/words/get", "anon");
-        filterChainDefinitionMap.put("/appium/crawler/*", "anon");
-
-        filterChainDefinitionMap.put("/ctop/kuaishouChannelRegInfo/*", "anon");
-
-
-        filterChainDefinitionMap.put("/ctop/byteDance/homePage/report/*", "anon");
-        filterChainDefinitionMap.put("/ctop/material/top/cost", "anon");
-
-        filterChainDefinitionMap.put("/v1/**", "anon");
-
-        filterChainDefinitionMap.put("/generic/**", "anon");
-        filterChainDefinitionMap.put("/", "anon");
-        filterChainDefinitionMap.put("/doc.html", "anon");
-        filterChainDefinitionMap.put("/**/*.js", "anon");
-        filterChainDefinitionMap.put("/**/*.css", "anon");
-        filterChainDefinitionMap.put("/**/*.html", "anon");
-        filterChainDefinitionMap.put("/**/*.svg", "anon");
-        filterChainDefinitionMap.put("/**/*.jpg", "anon");
-        filterChainDefinitionMap.put("/**/*.png", "anon");
-        filterChainDefinitionMap.put("/**/*.ico", "anon");
-        filterChainDefinitionMap.put("/druid/**", "anon");
-        filterChainDefinitionMap.put("/swagger-ui.html", "anon");
-        filterChainDefinitionMap.put("/swagger**/**", "anon");
-        filterChainDefinitionMap.put("/webjars/**", "anon");
-        filterChainDefinitionMap.put("/v2/**", "anon");
-        filterChainDefinitionMap.put("/kuaishou", "anon");
-        filterChainDefinitionMap.put("/kuaishou/report", "anon");
-        filterChainDefinitionMap.put("/ctop/bindAccount/**", "anon");
-        filterChainDefinitionMap.put("/**/*.mp4", "anon");
-
-        //性能监控
-        filterChainDefinitionMap.put("/actuator/metrics/**", "anon");
-        filterChainDefinitionMap.put("/actuator/httptrace/**", "anon");
-        filterChainDefinitionMap.put("/actuator/redis/**", "anon");
-        //消息队列
-        filterChainDefinitionMap.put("/mq/**", "anon");
-        //模板测试
-        filterChainDefinitionMap.put("/test/**", "anon");
-        //oauth接口
-        filterChainDefinitionMap.put("/auth/**", "anon");
-        filterChainDefinitionMap.put("/ctop/syncdata/**", "anon");
+        //
+        ////获取加密串
+        //filterChainDefinitionMap.put("/sys/getEncryptedString", "anon");
+        ////短信验证码
+        //filterChainDefinitionMap.put("/sys/sms", "anon");
+        ////手机登录
+        //filterChainDefinitionMap.put("/sys/phoneLogin", "anon");
+        ////校验用户是否存在
+        //filterChainDefinitionMap.put("/sys/user/checkOnlyUser", "anon");
+        ////用户注册
+        //filterChainDefinitionMap.put("/sys/user/register", "anon");
+        ////根据手机号获取用户信息
+        //filterChainDefinitionMap.put("/sys/user/querySysUser", "anon");
+        ////用户忘记密码验证手机号
+        //filterChainDefinitionMap.put("/sys/user/phoneVerification", "anon");
+        ////用户更改密码
+        //filterChainDefinitionMap.put("/sys/user/passwordChange", "anon");
+        ////登录验证码
+        //filterChainDefinitionMap.put("/auth/2step-code", "anon");
+        ////图片预览不限制token
+        //filterChainDefinitionMap.put("/sys/common/view/**", "anon");
+        ////文件下载不限制token
+        //filterChainDefinitionMap.put("/sys/common/download/**", "anon");
+        ////pdf预览
+        //filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");
+        //filterChainDefinitionMap.put("/ctop/bytedanceAreaInfo/**", "anon");
+        //filterChainDefinitionMap.put("/ctop/bytedanceInterestCategory/**", "anon");
+        //filterChainDefinitionMap.put("/template/creative/words/get", "anon");
+        //filterChainDefinitionMap.put("/appium/crawler/*", "anon");
+        //
+        //filterChainDefinitionMap.put("/ctop/kuaishouChannelRegInfo/*", "anon");
+        //
+        //
+        //filterChainDefinitionMap.put("/ctop/byteDance/homePage/report/*", "anon");
+        //filterChainDefinitionMap.put("/ctop/material/top/cost", "anon");
+        //
+        //filterChainDefinitionMap.put("/v1/**", "anon");
+        //
+        //filterChainDefinitionMap.put("/generic/**", "anon");
+        //filterChainDefinitionMap.put("/", "anon");
+        //filterChainDefinitionMap.put("/doc.html", "anon");
+        //filterChainDefinitionMap.put("/**/*.js", "anon");
+        //filterChainDefinitionMap.put("/**/*.css", "anon");
+        //filterChainDefinitionMap.put("/**/*.html", "anon");
+        //filterChainDefinitionMap.put("/**/*.svg", "anon");
+        //filterChainDefinitionMap.put("/**/*.jpg", "anon");
+        //filterChainDefinitionMap.put("/**/*.png", "anon");
+        //filterChainDefinitionMap.put("/**/*.ico", "anon");
+        //filterChainDefinitionMap.put("/druid/**", "anon");
+        //filterChainDefinitionMap.put("/swagger-ui.html", "anon");
+        //filterChainDefinitionMap.put("/swagger**/**", "anon");
+        //filterChainDefinitionMap.put("/webjars/**", "anon");
+        //filterChainDefinitionMap.put("/v2/**", "anon");
+        //filterChainDefinitionMap.put("/kuaishou", "anon");
+        //filterChainDefinitionMap.put("/kuaishou/report", "anon");
+        //filterChainDefinitionMap.put("/ctop/bindAccount/**", "anon");
+        //filterChainDefinitionMap.put("/**/*.mp4", "anon");
+        //
+        ////性能监控
+        //filterChainDefinitionMap.put("/actuator/metrics/**", "anon");
+        //filterChainDefinitionMap.put("/actuator/httptrace/**", "anon");
+        //filterChainDefinitionMap.put("/actuator/redis/**", "anon");
+        ////消息队列
+        //filterChainDefinitionMap.put("/mq/**", "anon");
+        ////模板测试
+        //filterChainDefinitionMap.put("/test/**", "anon");
+        ////oauth接口
+        //filterChainDefinitionMap.put("/auth/**", "anon");
+        //filterChainDefinitionMap.put("/ctop/syncdata/**", "anon");
         //头条接口
-        filterChainDefinitionMap.put("/bytedance", "anon");
-        filterChainDefinitionMap.put("/toutiao/dictitem/list", "anon");
-        filterChainDefinitionMap.put("/toutiao/loadAllData", "anon");
-        filterChainDefinitionMap.put("/toutiao/loadSingleData", "anon");
-        filterChainDefinitionMap.put("/kuaishou/getReport/historyData", "anon");
-        filterChainDefinitionMap.put("/toutiao/advertiser/**", "anon");
-        filterChainDefinitionMap.put("/toutiao/industry/list", "anon");
-        filterChainDefinitionMap.put("/template/bytedance/industry/list", "anon");
-        filterChainDefinitionMap.put("/template/convert/list", "anon");
-        filterChainDefinitionMap.put("/template/convert/list/url", "anon");
+        //filterChainDefinitionMap.put("/bytedance", "anon");
+        //filterChainDefinitionMap.put("/toutiao/dictitem/list", "anon");
+        //filterChainDefinitionMap.put("/toutiao/loadAllData", "anon");
+        //filterChainDefinitionMap.put("/toutiao/loadSingleData", "anon");
+        //filterChainDefinitionMap.put("/kuaishou/getReport/historyData", "anon");
+        //filterChainDefinitionMap.put("/toutiao/advertiser/**", "anon");
+        //filterChainDefinitionMap.put("/toutiao/industry/list", "anon");
+        //filterChainDefinitionMap.put("/template/bytedance/industry/list", "anon");
+        //filterChainDefinitionMap.put("/template/convert/list", "anon");
+        //filterChainDefinitionMap.put("/template/convert/list/url", "anon");
         //文件上传接口
-        filterChainDefinitionMap.put("/upload/**", "anon");
-        filterChainDefinitionMap.put("/appium/appiumTask/run", "anon");
-
-        filterChainDefinitionMap.put("/system/userCompany/**", "anon");
-        filterChainDefinitionMap.put("/qywexin", "anon");
-        filterChainDefinitionMap.put("/sys/feishu/**", "anon");
-        filterChainDefinitionMap.put("/test/getGroupData/**", "anon");
-        filterChainDefinitionMap.put("/test/getVideoAndImage/**", "anon");
-        filterChainDefinitionMap.put("/test/gerCreative/**", "anon");
-
-        filterChainDefinitionMap.put("/report/kuaishouReportDailyAgent/get", "anon");
-
-        filterChainDefinitionMap.put("/appium/appiumTask/run/login", "anon");
-        filterChainDefinitionMap.put("/zip/download", "anon");
+        //filterChainDefinitionMap.put("/upload/**", "anon");
+        //filterChainDefinitionMap.put("/appium/appiumTask/run", "anon");
+        //
+        //filterChainDefinitionMap.put("/system/userCompany/**", "anon");
+        //filterChainDefinitionMap.put("/qywexin", "anon");
+        //filterChainDefinitionMap.put("/sys/feishu/**", "anon");
+        //filterChainDefinitionMap.put("/test/getGroupData/**", "anon");
+        //filterChainDefinitionMap.put("/test/getVideoAndImage/**", "anon");
+        //filterChainDefinitionMap.put("/test/gerCreative/**", "anon");
+        //
+        //filterChainDefinitionMap.put("/report/kuaishouReportDailyAgent/get", "anon");
+        //
+        //filterChainDefinitionMap.put("/appium/appiumTask/run/login", "anon");
+        //filterChainDefinitionMap.put("/zip/download", "anon");
         //爬虫接口
-        filterChainDefinitionMap.put("/graphql/video", "anon");
-        filterChainDefinitionMap.put("/ks/web/test", "anon");
-        filterChainDefinitionMap.put("/ureport/**", "anon");
+        //filterChainDefinitionMap.put("/graphql/video", "anon");
+        //filterChainDefinitionMap.put("/ks/web/test", "anon");
+        //filterChainDefinitionMap.put("/ureport/**", "anon");
         //filterChainDefinitionMap.put("/ctop/performance/show/**", "anon");
-        filterChainDefinitionMap.put("/job/test/*", "anon");
+        //filterChainDefinitionMap.put("/job/test/*", "anon");
 
+        filterChainDefinitionMap.put("/callback/qywexin", "anon");
         //filterChainDefinitionMap.put("/corp/*", "anon");
         //filterChainDefinitionMap.put("/okr/*", "anon");
         //filterChainDefinitionMap.put("/feishu/*", "anon");

+ 24 - 0
src/main/java/cn/com/ctop/okr/controller/CallbackController.java

@@ -0,0 +1,24 @@
+package cn.com.ctop.okr.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Controller
+@RequestMapping("/callback")
+public class CallbackController {
+
+    @GetMapping("/qywexin")
+    public void qywexin(HttpServletRequest request,
+                        HttpServletResponse response,
+                        @RequestParam("code") String code,
+                        @RequestParam("state") String state) throws IOException {
+        response.sendRedirect(state + "?code=" + code);
+    }
+
+}

+ 7 - 1
src/main/java/cn/com/ctop/okr/controller/OkrController.java

@@ -190,8 +190,14 @@ public class OkrController {
         logger.info("/okr/getSyncUserListByMemberId 方法开始");
         Result<Map<String, Object>> result = new Result();
 
+        if(dto == null){
+            result.setSuccess(false);
+            result.setMessage("参数错误");
+            return result;
+        }
+
         try {
-            Map<String, Object> resultMap = okrService.getSyncUserListByMemberId(dto.getYear(), dto.getQuarter());
+            Map<String, Object> resultMap = okrService.getSyncUserListByMemberId(dto.getYear(), dto.getQuarter(), dto.getName());
             result.setResult(resultMap);
         }catch (Exception e){
             logger.error(e.getMessage());

+ 1 - 1
src/main/java/cn/com/ctop/okr/mapper/OkrObjectInfoMapper.java

@@ -9,7 +9,7 @@ import java.util.List;
 public interface OkrObjectInfoMapper extends BaseMapper<OkrObjectInfo> {
    List<OkrObjectInfo> getQuarterObject(@Param("userId")String userId, @Param("year")Integer year, @Param("quarter")Integer quarter);
 
-   List<OkrObjectInfo> getAllQuarterObject(@Param("userId")String userId, @Param("year")Integer year, @Param("quarter")Integer quarter);
+   List<OkrObjectInfo> getAllQuarterObject(@Param("userId")String userId, @Param("year")Integer year, @Param("quarter")Integer quarter, @Param("name")String name);
 
    Long insertObjectInfo(@Param("object")OkrObjectInfo object);
 

+ 9 - 5
src/main/java/cn/com/ctop/okr/mapper/xml/OkrObjectInfoMapper.xml

@@ -69,15 +69,19 @@
 
     <select id="getAllQuarterObject" resultType="cn.com.ctop.okr.entity.OkrObjectInfo">
             select
-            *
+            a.*
         from
-        okr_object_info
+        okr_object_info a
+        left join wx_user_info b on a.user_id = b.open_id
         where
-        user_id != #{userId}
+        a.user_id != #{userId}
         and
-        year = #{year}
+        a.year = #{year}
         and
-        quarter = #{quarter}
+        a.quarter = #{quarter}
+        <if test="name">
+            and b.name like concat('%',#{name},'%')
+        </if>
     </select>
 
 </mapper>

+ 1 - 1
src/main/java/cn/com/ctop/okr/service/OkrService.java

@@ -18,7 +18,7 @@ public interface OkrService{
 
     List<UserInfoDto> getMemberListByUserId(String name);
 
-    Map<String, Object> getSyncUserListByMemberId(Integer year, Integer quarter);
+    Map<String, Object> getSyncUserListByMemberId(Integer year, Integer quarter, String name);
 
     void insertTaskInfo(OkrTaskInfo taskInfo);
 

+ 2 - 2
src/main/java/cn/com/ctop/okr/service/impl/OkrServiceImpl.java

@@ -292,7 +292,7 @@ public class OkrServiceImpl implements OkrService {
 
     //获取本季度同步给我OKR的同事的列表
     @Override
-    public Map<String, Object> getSyncUserListByMemberId(Integer year, Integer quarter){
+    public Map<String, Object> getSyncUserListByMemberId(Integer year, Integer quarter, String name){
         QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
         String memberId = sysUser.getOpenId();
         //String memberId = "ou_03c4826ae66623a53f2af456ff3661a1";
@@ -316,7 +316,7 @@ public class OkrServiceImpl implements OkrService {
         }
 
         List<Map<String, Object>> mapList = new ArrayList<>();
-        List<OkrObjectInfo> OkrObjectInfoList = okrObjectInfoMapper.getAllQuarterObject(memberId, year, quarter);
+        List<OkrObjectInfo> OkrObjectInfoList = okrObjectInfoMapper.getAllQuarterObject(memberId, year, quarter, name);
 
         for(OkrObjectInfo object:OkrObjectInfoList){
             Map<String, Object> okrmap = new HashMap<>();

+ 11 - 11
src/main/resources/application.yml

@@ -117,16 +117,16 @@ logging:
     root: info
   config: classpath:logback-dev.xml
 
-#xxl:
-#  job:
-#    accessToken:
-#    executor:
-#      appname: module-job-okr
-#      port: 9998
-#      ip:
-#      logpath: /data/applogs/xxl-job/jobhandler
-#      logretentiondays: 30
-#    admin:
-#      addresses: http://39.106.184.70:8090/xxl-job-admin
+xxl:
+  job:
+    accessToken:
+    executor:
+      appname: module-job-okr
+      port: 8911
+      ip:
+      logpath: /data/applogs/xxl-job/jobhandler
+      logretentiondays: 30
+    admin:
+      addresses: http://39.106.184.70:8090/xxl-job-admin