소스 검색

完善job

yq 3 년 전
부모
커밋
51fa40d641

+ 53 - 53
src/main/java/com/usky/dxtop/MysqlGenerator.java

@@ -1,53 +1,53 @@
-//package com.usky.dxtop;
-//
-//import com.baomidou.mybatisplus.generator.AutoGenerator;
-//import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
-//import com.baomidou.mybatisplus.generator.config.GlobalConfig;
-//import com.baomidou.mybatisplus.generator.config.PackageConfig;
-//import com.baomidou.mybatisplus.generator.config.StrategyConfig;
-//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
-//
-//public class MysqlGenerator {
-//
-//
-//    public static void main(String[] args) {
-//        AutoGenerator mpg = new AutoGenerator();
-//        //1、全局配置
-//        GlobalConfig gc = new GlobalConfig();
-//        String projectPath = System.getProperty("user.dir");
-//        gc.setOutputDir(projectPath + "/src/main");  //生成路径(一般都是生成在此项目的src/main/java下面)
-//        gc.setAuthor("yq"); //设置作者
-//        gc.setOpen(false);
-//        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
-//        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
-//        gc.setBaseResultMap(true); //生成resultMap
-//        mpg.setGlobalConfig(gc);
-//
-//        //2、数据源配置
-//        DataSourceConfig dsc = new DataSourceConfig();
-//        dsc.setUrl("jdbc:mysql://124.71.145.219:3306/dxtop?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
-//        dsc.setDriverName("com.mysql.jdbc.Driver");
-//        dsc.setUsername("root");
-//        dsc.setPassword("Wjzn2021Db");
-//        mpg.setDataSource(dsc);
-//
-//        // 3、包配置
-//        PackageConfig pc = new PackageConfig();
-//        pc.setModuleName("dxtop");
-//        pc.setParent("com.usky.dxtop");
-//        mpg.setPackageInfo(pc);
-//
-//        // 4、策略配置
-//        StrategyConfig strategy = new StrategyConfig();
-//        strategy.setNaming(NamingStrategy.underline_to_camel);
-//        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
-//        // strategy.setTablePrefix("t_"); // 表名前缀
-//        strategy.setEntityLombokModel(true); //使用lombok
-//        strategy.setInclude("staff","dept");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
-//        mpg.setStrategy(strategy);
-//
-//        //5、执行
-//        mpg.execute();
-//    }
-//
-//}
+package com.usky.dxtop;
+
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
+import com.baomidou.mybatisplus.generator.config.GlobalConfig;
+import com.baomidou.mybatisplus.generator.config.PackageConfig;
+import com.baomidou.mybatisplus.generator.config.StrategyConfig;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+public class MysqlGenerator {
+
+
+    public static void main(String[] args) {
+        AutoGenerator mpg = new AutoGenerator();
+        //1、全局配置
+        GlobalConfig gc = new GlobalConfig();
+        String projectPath = System.getProperty("user.dir");
+        gc.setOutputDir(projectPath + "/src/main");  //生成路径(一般都是生成在此项目的src/main/java下面)
+        gc.setAuthor("yq"); //设置作者
+        gc.setOpen(false);
+        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
+        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
+        gc.setBaseResultMap(true); //生成resultMap
+        mpg.setGlobalConfig(gc);
+
+        //2、数据源配置
+        DataSourceConfig dsc = new DataSourceConfig();
+        dsc.setUrl("jdbc:mysql://124.71.145.219:3306/dxtop?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setDriverName("com.mysql.jdbc.Driver");
+        dsc.setUsername("root");
+        dsc.setPassword("Wjzn2021Db");
+        mpg.setDataSource(dsc);
+
+        // 3、包配置
+        PackageConfig pc = new PackageConfig();
+        pc.setModuleName("dxtop");
+        pc.setParent("com.usky.dxtop");
+        mpg.setPackageInfo(pc);
+
+        // 4、策略配置
+        StrategyConfig strategy = new StrategyConfig();
+        strategy.setNaming(NamingStrategy.underline_to_camel);
+        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
+        // strategy.setTablePrefix("t_"); // 表名前缀
+        strategy.setEntityLombokModel(true); //使用lombok
+        strategy.setInclude("company");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        mpg.setStrategy(strategy);
+
+        //5、执行
+        mpg.execute();
+    }
+
+}

+ 11 - 0
src/main/java/com/usky/dxtop/mapper/StaffMapper.java

@@ -2,7 +2,12 @@ package com.usky.dxtop.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.dxtop.model.Staff;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -14,4 +19,10 @@ import com.usky.dxtop.model.Staff;
  */
 public interface StaffMapper extends BaseMapper<Staff> {
 
+
+
+    Page<Staff> page(IPage<Staff> page,
+                     @Param("startTime") Date startTime,
+                     @Param("endTime") Date endTime,
+                     @Param("name") String name);
 }

+ 3 - 0
src/main/java/com/usky/dxtop/model/Staff.java

@@ -1,5 +1,6 @@
 package com.usky.dxtop.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -56,6 +57,8 @@ public class Staff implements Serializable {
     private String updateBy;
 
     private LocalDateTime updateTime;
+    @TableField(exist = false)
+    private String deptName;
 
 
 }

+ 1 - 8
src/main/java/com/usky/dxtop/service/impl/StaffServiceImpl.java

@@ -1,10 +1,7 @@
 package com.usky.dxtop.service.impl;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.usky.dxtop.common.core.page.CommonPage;
@@ -28,11 +25,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
     @Override
     public CommonPage<Staff> page(StaffRequest staffRequest) {
         IPage<Staff> page = new Page<>(staffRequest.getCurrent(), staffRequest.getSize());
-        LambdaQueryWrapper<Staff> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(StringUtils.isNotBlank(staffRequest.getName()),Staff::getName,staffRequest.getName())
-                .between(null != staffRequest.getStartTime() && null != staffRequest.getEndTime(),Staff::getCreateTime,
-                        staffRequest.getStartTime(),staffRequest.getEndTime());
-        page = this.page(page,queryWrapper);
+        page = baseMapper.page(page, staffRequest.getStartTime(), staffRequest.getEndTime(), staffRequest.getName());
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }
 }

+ 59 - 0
src/main/java/com/usky/dxtop/service/job/SmJob.java

@@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.usky.dxtop.common.utils.http.HttpUtils;
 import com.usky.dxtop.model.Staff;
+import com.usky.dxtop.service.DeptService;
+import com.usky.dxtop.service.StaffService;
 import com.usky.dxtop.service.api.SmApi;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
@@ -21,6 +24,12 @@ import java.util.TreeMap;
 @Slf4j
 public class SmJob {
 
+    @Autowired
+    private StaffService staffService;
+
+    @Autowired
+    private DeptService deptService;
+
 
     public void personExecute(){
         boolean isNext = true;
@@ -42,7 +51,11 @@ public class SmJob {
                         }else {
                             page++;
                         }
+                    }else {
+                        isNext = false;
                     }
+                }else {
+                    break;
                 }
             }catch (Exception e){
                 log.info("smJob异常"+e);
@@ -52,4 +65,50 @@ public class SmJob {
         log.info("smjob 定时任务完成");
     }
 
+//    public void  test(){
+//        Map<String,Object> map = new HashMap<>();
+//        map.put("status","200");
+//        Map<String,Object> map1 = new HashMap<>();
+//        List<Staff> list = new ArrayList<>();
+//        Staff staff = new Staff();
+//        staff.setDeptSort(1);
+//        list.add(staff);
+//        map1.put("content",list);
+//        map.put("data",map1);
+//    }
+
+//    public void add(String url, TreeMap<String,Object> param, Class tClass, IService iService){
+//        boolean isNext = true;
+//        int page = 1;
+//        int size = 100;
+//        while (isNext){
+//            try {
+//                String personUrl = String.format("%s?page=%s&size=%s", url, page, size);
+////                TreeMap<String, Object> treeMap = SmApi.generatePersonParam(null, null, null, null);
+//                String result = HttpUtils.sendPost(personUrl, JSONObject.toJSONString(param), SmApi.sign(param));
+//                JSONObject jsonObject = JSONObject.parseObject(result);
+//                if ("200".equals(jsonObject.get("status").toString())){
+//                    JSONObject data = jsonObject.getJSONObject("data");
+//                    JSONArray content = data.getJSONArray("content");
+//                    if(content != null && content.size() > 0) {
+//                        List<Staff> staffList = content.toJavaList(tClass);
+//                        staffList.forEach(staff -> iService.save(staff));
+//                        if (CollectionUtils.isEmpty(staffList)){
+//                            isNext = false;
+//                        }else {
+//                            page++;
+//                        }
+//                    }else {
+//                        isNext = false;
+//                    }
+//                }else {
+//                    break;
+//                }
+//            }catch (Exception e){
+//                log.info("smJob异常"+e);
+//                break;
+//            }
+//        }
+//    }
+
 }

+ 14 - 0
src/main/resources/mapper/StaffMapper.xml

@@ -18,5 +18,19 @@
         <result column="update_by" property="updateBy" />
         <result column="update_time" property="updateTime" />
     </resultMap>
+    <select id="page" resultType="com.usky.dxtop.model.Staff">
+        select s.*,d.name as
+        from staff as s
+        left join dept as d
+        on s.pid = d.id
+        <where>
+            <if test="startTime !=null and endTime != null">
+                and s.create_time between #{startTime} and #{endTime}
+            </if>
+            <if test="name !=null and name != ''">
+                and s.name like concat('%', #{name}, '%')
+            </if>
+        </where>
+    </select>
 
 </mapper>