Selaa lähdekoodia

优化代码,补充注释,添加数字、常量枚举。去除魔法数字。。。。。。

zhaoxian 4 vuotta sitten
vanhempi
commit
d78c545f29

+ 33 - 0
jeecg-boot-base-common/src/main/java/org/jeecg/common/constant/GeneralConstant.java

@@ -0,0 +1,33 @@
+package org.jeecg.common.constant;
+
+/**
+ * 项目中一般字符串常量
+ *
+ * @ClassName GeneralConstant
+ * @Author ZHAOXA
+ * @date 2020-09-29 10:33
+ */
+public class GeneralConstant {
+
+    /**
+     * code
+     */
+    public static final String CODE = "code";
+    public static final String MESSAGE = "message";
+    public static final String ERR_CODE = "errcode";
+    public static final String DAY_BEGIN = " 00:00:00";
+    public static final String DAY_END = " 23:59:59";
+    public static final String PAGE_NO = "pageNo";
+    public static final String PAGE_SIZE = "pageSize";
+    public static final String API_START_TIME = "starttime";
+    public static final String API_END_TIME = "endtime";
+    public static final String START_TIME = "startTime";
+    public static final String STOP_TIME = "stopTime";
+    public static final String ACCESS_TOKEN = "accessToken";
+    public static final String TYPE = "type";
+    public static final String VALUE = "value";
+
+
+
+
+}

+ 52 - 0
module-common/src/main/java/com/xxl/job/core/enums/NoEn.java

@@ -0,0 +1,52 @@
+package com.xxl.job.core.enums;
+
+/**
+ * 项目中0~25数字字符串枚举
+ *
+ * @ClassName GeneralConstant
+ * @Author ZHAOXA
+ * @date 2020-09-29 10:33
+ */
+public enum NoEn {
+    NO0("0", 0),
+    NO1("1", 1),
+    NO2("2", 2),
+    NO3("3", 3),
+    NO4("4", 4),
+    NO5("5", 5),
+    NO6("6", 6),
+    NO7("7", 7),
+    NO8("8", 8),
+    NO9("9", 9),
+    NO10("10", 10),
+    NO11("11", 11),
+    NO12("12", 12),
+    NO13("13", 13),
+    NO14("14", 14),
+    NO15("15", 15),
+    NO16("16", 16),
+    NO17("17", 17),
+    NO18("18", 18),
+    NO19("19", 19),
+    NO20("20", 20),
+    NO21("21", 21),
+    NO22("22", 21),
+    NO23("23", 23),
+    NO24("24", 24),
+    NO25("25", 25);
+    private final String strValue;
+    private final int intValue;
+
+    private NoEn(String strValue, int intValue) {
+        this.strValue = strValue;
+        this.intValue = intValue;
+    }
+
+    public String valueStr() {
+        return strValue;
+    }
+
+    public int valueInt() {
+        return intValue;
+    }
+}

+ 23 - 22
module-oa/src/main/java/cn/com/ctop/oa/modules/service/impl/WechatCheckinDataServiceImpl.java

@@ -14,18 +14,20 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.xxl.job.core.enums.NoEn;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.text.ParseException;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import static org.jeecg.common.constant.GeneralConstant.*;
+
 /**
- * 企业微信用户
+ * 员工考勤
  *
  * @author jeecg-boot
  * @version V1.0
@@ -45,15 +47,14 @@ public class WechatCheckinDataServiceImpl extends ServiceImpl<WechatCheckinDataM
     public void getCheckinData(String starttime, String endtime) {
         try {
             Map<String, Object> qywxAccessToken = tokenService.getOAAccessToken();
-            if ((Integer) qywxAccessToken.get("code") != 0) {
-                log.error("企业微信获取token失败,返回信息:{}", qywxAccessToken.get("message"));
-                throw new Exception("企业微信获取token失败");
+            if ((Integer) qywxAccessToken.get(CODE) != 0) {
+                log.error("员工考勤获取token失败,返回信息:{}", qywxAccessToken.get(MESSAGE));
+                throw new Exception("员工考勤获取token失败");
             }
             List<WechatUserList> list = userListService.list();
             if (Check.isNull(list)) {
                 return;
             }
-
             for (WechatUserList userList : list) {
                 JSONObject params = new JSONObject();
                 String userId = userList.getUserId();
@@ -62,12 +63,11 @@ public class WechatCheckinDataServiceImpl extends ServiceImpl<WechatCheckinDataM
                 JSONArray userArr = new JSONArray();
                 userArr.add(userId);
                 params.put("useridlist", userArr);
-                params.put("starttime", starttime);
-                params.put("endtime", endtime);
-                String resultStr = HttpUtils.httpPostRequestTest(QYWxConstant.QYWX_CHECKIN_DATA + "?access_token=" + qywxAccessToken.get("accessToken"), params.toJSONString(), null);
+                params.put(API_START_TIME, starttime);
+                params.put(API_END_TIME, endtime);
+                String resultStr = HttpUtils.httpPostRequestTest(QYWxConstant.QYWX_CHECKIN_DATA + "?access_token=" + qywxAccessToken.get(ACCESS_TOKEN), params.toJSONString(), null);
                 JSONObject resultJson = JSONObject.parseObject(resultStr);
-                Integer errcode = resultJson.getInteger("errcode");
-                if (errcode == 0) {
+                if (resultJson.getInteger(ERR_CODE) == 0) {
                     JSONArray checkindata = resultJson.getJSONArray("checkindata");
                     if (!Check.isNull(checkindata)) {
                         StringBuffer buf = null;
@@ -81,12 +81,13 @@ public class WechatCheckinDataServiceImpl extends ServiceImpl<WechatCheckinDataM
                             if (!Check.isNull(jsonObject)) {
                                 WechatCheckinData checkinData = new WechatCheckinData();
                                 checkinType = jsonObject.getString("checkin_type");
-                                checkinTypeCode = "上班打卡".equals(checkinType) ? "1" : "2";
+                                //1上班,2下班
+                                checkinTypeCode = "上班打卡".equals(checkinType) ? NoEn.NO1.valueStr() : NoEn.NO2.valueStr();
                                 //下班打卡时间
                                 Long checkinTimeStamp = jsonObject.getLong("checkin_time");
                                 Date checkDate = DateUtils.stampToTime(checkinTimeStamp);
                                 String dateStr = DateUtils.formatDate(checkDate);
-                                long dateLong = DateUtils.timeToStamp(dateStr + " 00:00:00");
+                                long dateLong = DateUtils.timeToStamp(dateStr + DAY_BEGIN);
                                 buf = new StringBuffer();
                                 String id = buf.append(userId).append("_").append(checkinTypeCode).append("_").append(dateLong).toString();
                                 checkinData.setId(id);
@@ -122,29 +123,29 @@ public class WechatCheckinDataServiceImpl extends ServiceImpl<WechatCheckinDataM
                 }
             }
         } catch (Exception e) {
-            e.printStackTrace();
+            log.error("员工考勤入库异常,", e);
         }
     }
 
     @Override
     public PageInfo<WechatCheckinData> selectPageList(Map<String, Object> paramsMap) {
-        Integer pageNo = (Integer) paramsMap.get("pageNo");
+        Integer pageNo = (Integer) paramsMap.get(PAGE_NO);
         if (null == pageNo || pageNo == 0) {
             pageNo = 1;
         }
-        Integer pageSize = (Integer) paramsMap.get("pageSize");
+        Integer pageSize = (Integer) paramsMap.get(PAGE_SIZE);
         if (null == pageSize || pageSize == 0) {
             pageSize = 10;
         }
-        String startTime = (String) paramsMap.get("startTime");
+        String startTime = (String) paramsMap.get(START_TIME);
         if (!Check.isNull(startTime)) {
-            startTime += " 00:00:00";
-            paramsMap.put("startTime", startTime);
+            startTime += DAY_BEGIN;
+            paramsMap.put(START_TIME, startTime);
         }
-        String stopTime = (String) paramsMap.get("stopTime");
+        String stopTime = (String) paramsMap.get(STOP_TIME);
         if (!Check.isNull(stopTime)) {
-            stopTime += " 23:59:59";
-            paramsMap.put("stopTime", stopTime);
+            stopTime += DAY_END;
+            paramsMap.put(STOP_TIME, stopTime);
         }
         PageHelper.startPage(pageNo, pageSize);
         List<WechatCheckinData> list = wechatCheckinDataMapper.selectPageList(paramsMap);

+ 26 - 22
module-oa/src/main/java/cn/com/ctop/oa/modules/service/impl/WechatNoListServiceImpl.java

@@ -16,17 +16,19 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.xxl.job.core.enums.NoEn;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.jeecg.common.constant.GeneralConstant.*;
+
 /**
  * 审批信息
  *
@@ -157,7 +159,7 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
                             if (!Check.isNull(parameterMap.get("newEnd"))) {
                                 noEntity.setNewEnd(DateUtils.stampToTime(Long.valueOf(parameterMap.get("newEnd"))));
                             }
-                            noEntity.setType(parameterMap.get("type"));
+                            noEntity.setType(parameterMap.get(TYPE));
                             noEntity.setNewDuration(parameterMap.get("newDuration"));
                             wechatNoListMapper.insert(noEntity);
                         }
@@ -167,7 +169,7 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
         } catch (Exception e) {
             returnMap.put("code", -1);
             returnMap.put("message", "系统错误");
-            log.error("审批", e);
+            log.error("审批异常", e);
         }
     }
 
@@ -192,18 +194,18 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
                         control = contentEntity.getString("control");
                         //如果补卡组件为PunchCorrection,直接判断为补卡
                         if (SpNoEnum.control3.getCode().equals(control)) {
-                            JSONObject value = contentEntity.getJSONObject("value");
+                            JSONObject value = contentEntity.getJSONObject(VALUE);
                             if (!Check.isNull(value)) {
                                 JSONObject punch = value.getJSONObject("punch_correction");
                                 if (!Check.isNull(punch)) {
-                                    parameterMap.put("type", SpNoEnum.type2.getName());
+                                    parameterMap.put(TYPE, SpNoEnum.type2.getName());
                                     parameterMap.put("newBegin", punch.getString("time"));
                                     parameterMap.put("newEnd", punch.getString("time"));
                                 }
                             }
                             //假勤组件-请假组件 Vacation
                         } else if (SpNoEnum.control2.getCode().equals(control)) {
-                            JSONObject value = contentEntity.getJSONObject("value");
+                            JSONObject value = contentEntity.getJSONObject(VALUE);
                             if (!Check.isNull(value)) {
                                 JSONObject vacation = value.getJSONObject("vacation");
                                 if (!Check.isNull(vacation)) {
@@ -219,7 +221,7 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
                             }
                             //假勤组件-出差/外出/加班组件Attendance
                         } else if (SpNoEnum.control1.getCode().equals(control)) {
-                            JSONObject value = contentEntity.getJSONObject("value");
+                            JSONObject value = contentEntity.getJSONObject(VALUE);
                             if (!Check.isNull(value)) {
                                 JSONObject attendance = value.getJSONObject("attendance");
                                 if (!Check.isNull(attendance)) {
@@ -242,9 +244,10 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
      * @Param [attendance, parameterMap]
      */
     private void getTimeData(JSONObject attendance, Map<String, String> parameterMap) {
-        String type = attendance.getString("type");
-        if (!"1".equals(type)) {
-            parameterMap.put("type", SpNoEnum.getSpNoEnum(type).getName());
+        String type = attendance.getString(TYPE);
+        //假勤类型,排除类型为1的请假,因为有具体的请假类型,例如:年假,事假等具体类型
+        if (!NoEn.NO1.valueStr().equals(type)) {
+            parameterMap.put(TYPE, SpNoEnum.getSpNoEnum(type).getName());
         }
         JSONObject dateRange = attendance.getJSONObject("date_range");
         if (!Check.isNull(dateRange)) {
@@ -252,6 +255,7 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
             parameterMap.put("newEnd", dateRange.getString("new_end"));
             BigDecimal duration = dateRange.getBigDecimal("new_duration");
             if (!Check.isNull(duration)) {
+                //除以3600,取小时数
                 BigDecimal second = new BigDecimal(3600);
                 parameterMap.put("newDuration", String.valueOf(duration.divide(second, 1, 4)));
             }
@@ -271,11 +275,11 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
         if (!Check.isNull(options)) {
             for (int j = 0; j < options.size(); j++) {
                 JSONObject option = options.getJSONObject(j);
-                JSONArray values = option.getJSONArray("value");
+                JSONArray values = option.getJSONArray(VALUE);
                 if (!Check.isNull(values)) {
                     for (int k = 0; k < values.size(); k++) {
                         JSONObject val = values.getJSONObject(k);
-                        parameterMap.put("type", val.getString("text"));
+                        parameterMap.put(TYPE, val.getString("text"));
                     }
                 }
             }
@@ -301,15 +305,15 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
      * @author ZHAOXA
      */
     private void finishingTime(Map<String, Object> paramsMap) {
-        String startTime = (String) paramsMap.get("startTime");
+        String startTime = (String) paramsMap.get(START_TIME);
         if (!Check.isNull(startTime)) {
-            startTime += " 00:00:00";
-            paramsMap.put("startTime", startTime);
+            startTime += DAY_BEGIN;
+            paramsMap.put(START_TIME, startTime);
         }
-        String stopTime = (String) paramsMap.get("stopTime");
+        String stopTime = (String) paramsMap.get(STOP_TIME);
         if (!Check.isNull(stopTime)) {
-            stopTime += " 23:59:59";
-            paramsMap.put("stopTime", stopTime);
+            stopTime += DAY_END;
+            paramsMap.put(STOP_TIME, stopTime);
         }
     }
 
@@ -322,13 +326,13 @@ public class WechatNoListServiceImpl extends ServiceImpl<WechatNoListMapper, Wec
     @Override
     public PageInfo<WechatAttendance> selectNoListPage(Map<String, Object> paramsMap) {
         finishingTime(paramsMap);
-        Integer pageNo = (Integer) paramsMap.get("pageNo");
+        Integer pageNo = (Integer) paramsMap.get(PAGE_NO);
         if (null == pageNo || pageNo == 0) {
-            pageNo = 1;
+            pageNo = NoEn.NO1.valueInt();
         }
-        Integer pageSize = (Integer) paramsMap.get("pageSize");
+        Integer pageSize = (Integer) paramsMap.get(PAGE_SIZE);
         if (null == pageSize || pageSize == 0) {
-            pageSize = 10;
+            pageSize = NoEn.NO10.valueInt();
         }
         PageHelper.startPage(pageNo, pageSize);
         List<WechatAttendance> list = wechatNoListMapper.queryAttendanceData(paramsMap);