Prechádzať zdrojové kódy

添加okr对齐功能接口

syh 4 rokov pred
rodič
commit
a445deba09

+ 10 - 4
src/main/java/cn/com/ctop/okr/config/MybatisPlusConfig.java

@@ -1,13 +1,19 @@
 package cn.com.ctop.okr.config;
 
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
 @MapperScan(value = { "cn.com.ctop.**.mapper*"})
-
 public class MybatisPlusConfig {
-
-
-
+    /**
+     *  分页插件
+     */
+    @Bean
+    public PaginationInterceptor paginationInterceptor() {
+        // 设置sql的limit为无限制,默认是500
+        return new PaginationInterceptor().setLimit(-1);
+    }
 }

+ 138 - 4
src/main/java/cn/com/ctop/okr/controller/OkrKrController.java

@@ -1,11 +1,18 @@
 package cn.com.ctop.okr.controller;
 
+import cn.com.ctop.okr.entity.OkrKrInfo;
 import cn.com.ctop.okr.service.IKrAlignInfoService;
+import cn.com.ctop.okr.service.IKrInfoservice;
+import cn.com.ctop.okr.utils.StringUtils;
+import cn.com.ctop.okr.vo.Result;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
 import java.util.Map;
 
 @RestController
@@ -13,12 +20,139 @@ import java.util.Map;
 public class OkrKrController {
     @Autowired
     private IKrAlignInfoService alignInfoService;
+    @Autowired
+    private IKrInfoservice krInfoservice;
+    @PostMapping("alignList")
+    public Map<String,Object>alignList(Long originId){
+        return alignInfoService.alignListByParams(originId);
+    }
+
     @PostMapping("addAlign")
-    public Map<String,Object>addAlign(Long originId,Long alignId){
+    public Map<String,Object>addAlign(Long originId, String alignId){
         return alignInfoService.addAlign(originId,alignId);
     }
     @PostMapping("deleteAlign")
     public Map<String,Object>deleteAlign(Long originId,Long alignId){
         return alignInfoService.deleteAlign(originId,alignId);
     }
+
+    /**
+     * 分页列表查询
+     *
+     * @param krInfo
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @GetMapping(value = "/list")
+    public Result<IPage<OkrKrInfo>> queryPageList(OkrKrInfo krInfo,
+                                                  @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                  @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        Result<IPage<OkrKrInfo>> result = new Result<>();
+        QueryWrapper<OkrKrInfo> queryWrapper = new QueryWrapper<>();
+        if(null!=krInfo.getUserId()&&!krInfo.getUserId().trim().equals("")){
+            queryWrapper.eq("user_id",krInfo.getUserId());
+        }
+        queryWrapper.eq("year",krInfo.getYear());
+        queryWrapper.eq("quarter",krInfo.getQuarter());
+        Page<OkrKrInfo> page = new Page<>(pageNo, pageSize);
+        IPage<OkrKrInfo> pageList = krInfoservice.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param fileInfo
+     * @return
+     */
+    @PostMapping(value = "/add")
+    public Result<OkrKrInfo> add(@RequestBody OkrKrInfo fileInfo) {
+        Result<OkrKrInfo> result = new Result<>();
+        try {
+            krInfoservice.save(fileInfo);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param fileInfo
+     * @return
+     */
+    @PutMapping(value = "/edit")
+    public Result<OkrKrInfo> edit(@RequestBody OkrKrInfo fileInfo) {
+        Result<OkrKrInfo> result = new Result<>();
+        OkrKrInfo fileInfoEntity = krInfoservice.getById(fileInfo.getId());
+        if (fileInfoEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = krInfoservice.updateById(fileInfo);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @DeleteMapping(value = "/delete")
+    public Result<Object> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            krInfoservice.removeById(id);
+        } catch (Exception e) {
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<OkrKrInfo> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<OkrKrInfo> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            krInfoservice.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping(value = "/queryById")
+    public Result<OkrKrInfo> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<OkrKrInfo> result = new Result<>();
+        OkrKrInfo fileInfo = krInfoservice.getById(id);
+        if (fileInfo == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(fileInfo);
+            result.setSuccess(true);
+        }
+        return result;
+    }
 }

+ 3 - 9
src/main/java/cn/com/ctop/okr/controller/QyWxController.java

@@ -9,20 +9,19 @@ 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.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
-@Controller
+@RestController
 @RequestMapping("/qywx")
 public class QyWxController {
     private static Logger logger = Logger.getLogger(QyWxController.class);
 
     @Autowired
     private QYWxService wxService;
-
-    @ResponseBody
     @RequestMapping(value = "/departAndUser")
     public Result departAndUser(HttpServletRequest request,
                           HttpServletResponse response){
@@ -45,18 +44,13 @@ public class QyWxController {
     /**
      * 根据名字模糊查询企业微信用户
      * @param dto
-     * @param request
-     * @param response
      * @return
      */
-    @ResponseBody
     @RequestMapping(value = "/getUserListByName")
-    public Result<List<UserInfoDto>> getUserListByName(@RequestBody UserInfoDto dto, HttpServletRequest request,
-                                                       HttpServletResponse response){
+    public Result<List<UserInfoDto>> getUserListByName(@RequestBody UserInfoDto dto){
         logger.info("/qywx/getUserListByName 方法开始");
         Result<List<UserInfoDto>> result = new Result();
         result.setSuccess(true);
-
         try {
             List<UserInfoDto> userInfoList = wxService.getUserListByName(dto.getName());
             result.setResult(userInfoList);

+ 5 - 0
src/main/java/cn/com/ctop/okr/mapper/KrAlignInfoMapper.java

@@ -2,7 +2,12 @@ package cn.com.ctop.okr.mapper;
 
 import cn.com.ctop.okr.entity.CorpUserInfo;
 import cn.com.ctop.okr.entity.KrAlignInfo;
+import cn.com.ctop.okr.entity.OkrKrInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface KrAlignInfoMapper extends BaseMapper<KrAlignInfo> {
+    List<OkrKrInfo> selectByParams(@Param(value = "originId") Long originId);
 }

+ 7 - 0
src/main/java/cn/com/ctop/okr/mapper/xml/KrAlignInfoMapper.xml

@@ -2,4 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.com.ctop.okr.mapper.KrAlignInfoMapper">
 
+    <select id="selectByParams" resultType="cn.com.ctop.okr.entity.OkrKrInfo">
+        select kr.* from okr_kr_align align left join okr_kr_info kr on align.align_kr = kr.id
+        where align.status = 1
+        <if test="originId!=null">
+            and align.origin_kr = #{originId}
+        </if>
+    </select>
 </mapper>

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

@@ -1,12 +1,15 @@
 package cn.com.ctop.okr.service;
 
 import cn.com.ctop.okr.entity.KrAlignInfo;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.Map;
 
 public interface IKrAlignInfoService extends IService<KrAlignInfo> {
-    Map<String, Object> addAlign(Long originId, Long alignId);
+    Map<String, Object> addAlign(Long originId, String alignId);
 
     Map<String, Object> deleteAlign(Long originId, Long alignId);
+
+    Map<String, Object> alignListByParams(Long originId);
 }

+ 42 - 15
src/main/java/cn/com/ctop/okr/service/impl/KrAlignInfoServiceImpl.java

@@ -1,39 +1,53 @@
 package cn.com.ctop.okr.service.impl;
 
 import cn.com.ctop.okr.entity.KrAlignInfo;
+import cn.com.ctop.okr.entity.OkrKrInfo;
 import cn.com.ctop.okr.mapper.KrAlignInfoMapper;
 import cn.com.ctop.okr.service.IKrAlignInfoService;
 import cn.com.ctop.okr.utils.ResultMapUtils;
 import cn.com.ctop.okr.utils.StatusCode;
+import cn.com.ctop.okr.vo.Result;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
 public class KrAlignInfoServiceImpl extends ServiceImpl<KrAlignInfoMapper, KrAlignInfo> implements IKrAlignInfoService {
+    @Autowired
+    private KrAlignInfoMapper krAlignInfoMapper;
     @Override
-    public Map<String, Object> addAlign(Long originId, Long alignId) {
+    public Map<String, Object> addAlign(Long originId, String alignIds) {
         Map<String,Object>result = new HashMap<>();
-        QueryWrapper<KrAlignInfo>queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("origin_kr",originId);
-        queryWrapper.eq("align_kr",alignId);
-        queryWrapper.last("limit 1");
-        KrAlignInfo alignInfo = this.getOne(queryWrapper);
-        if(null!=alignInfo){
-            ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
+        if(null == originId||null == alignIds||alignIds.trim().equals("")){
+            ResultMapUtils.setResultMap(result,StatusCode.COMMON_PARAM_ERROR);
             return result;
         }
-        alignInfo = new KrAlignInfo();
-        alignInfo.setAlignKr(alignId);
-        alignInfo.setOriginKr(originId);
-        alignInfo.setStatus(1);
-        alignInfo.setCreateTime(new Date());
-        alignInfo.setUpdateTime(new Date());
-        this.saveOrUpdate(alignInfo);
+        String[]alignIdArray = alignIds.split(",");
+        for(int i=0;i<alignIdArray.length;i++){
+            Long alignId = Long.parseLong(alignIdArray[i]);
+            QueryWrapper<KrAlignInfo>queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("origin_kr",originId);
+            queryWrapper.eq("align_kr",alignId);
+            queryWrapper.last("limit 1");
+            KrAlignInfo alignInfo = this.getOne(queryWrapper);
+            if(null!=alignInfo){
+                continue;
+            }
+            alignInfo = new KrAlignInfo();
+            alignInfo.setAlignKr(alignId);
+            alignInfo.setOriginKr(originId);
+            alignInfo.setStatus(1);
+            alignInfo.setCreateTime(new Date());
+            alignInfo.setUpdateTime(new Date());
+            this.saveOrUpdate(alignInfo);
+        }
         ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
         return result;
     }
@@ -54,4 +68,17 @@ public class KrAlignInfoServiceImpl extends ServiceImpl<KrAlignInfoMapper, KrAli
         ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
         return result;
     }
+
+    @Override
+    public Map<String, Object> alignListByParams(Long originId) {
+        Map<String,Object>result = new HashMap<>();
+        if(null == originId){
+            ResultMapUtils.setResultMap(result,StatusCode.COMMON_PARAM_ERROR);
+            return result;
+        }
+        List<OkrKrInfo> krInfoList = krAlignInfoMapper.selectByParams(originId);
+        ResultMapUtils.setResultMap(result,StatusCode.COMMON_SUCCESS);
+        result.put("data",krInfoList);
+        return result;
+    }
 }

+ 0 - 1
src/main/java/cn/com/ctop/okr/service/impl/QYWxServiceImpl.java

@@ -154,7 +154,6 @@ public class QYWxServiceImpl extends ServiceImpl<CorpUserInfoMapper, CorpUserInf
     public List<UserInfoDto> getUserListByName(String name){
         QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
         String openId = sysUser.getOpenId();
-
         return wxUserInfoMapper.getUserListByName(name, openId);
     }
 

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

@@ -82,8 +82,8 @@ spring:
   #redis 配置
   redis:
     database: 0
-#    host: 127.0.0.1
-    host: 172.30.0.17
+    host: 127.0.0.1
+#    host: 172.30.0.17
     lettuce:
       pool:
         max-active: 8   #最大连接数据库连接数,设 0 为没有限制
@@ -91,7 +91,7 @@ spring:
         max-wait: -1ms  #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
         min-idle: 0     #最小等待连接中的数量,设 0 为没有限制
       shutdown-timeout: 100ms
-    password: foobared
+#    password: foobared
     port: 6379