Преглед изворни кода

添加 'storlead-wx/src/main/java/com/storlead/wx/pojo/vo/CheckinDataBO.java'

陈凯强 пре 3 недеља
родитељ
комит
65bec55d88
1 измењених фајлова са 137 додато и 0 уклоњено
  1. 137 0
      storlead-wx/src/main/java/com/storlead/wx/pojo/vo/CheckinDataBO.java

+ 137 - 0
storlead-wx/src/main/java/com/storlead/wx/pojo/vo/CheckinDataBO.java

@@ -0,0 +1,137 @@
+package com.storlead.wx.pojo.vo;
+
+import com.alibaba.fastjson.JSON;
+//import com.storlead.centre.entity.AttendanceSignRecordEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.util.CollectionUtils;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * @program: storlead-centre-platform
+ * @description:
+ * @author: chenkq
+ * @create: 2026-01-04 15:23
+ */
+@Data
+public class CheckinDataBO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "用户唯一标识(企微 / 系统用户ID)",example = "ChenKaiQiang")
+    private String userId;
+
+    @ApiModelProperty(value = "考勤组名称",example = "领存技术Attendance")
+    private String groupName;
+
+    @ApiModelProperty(
+            value = "打卡类型(字典)",
+            notes = "CHECKIN_TYPE:\n" +
+                    "ON_DUTY - 上班打卡\n" +
+                    "OFF_DUTY - 下班打卡",
+            example = "上班打卡"
+    )
+    private String checkinType;
+
+    @ApiModelProperty(
+            value = "异常类型(字典)",
+            notes = "EXCEPTION_TYPE:\n" +
+                    "LATE - 迟到\n" +
+                    "EARLY - 早退\n" +
+                    "ABSENT - 缺卡\n" +
+                    "NORMAL - 正常(为空或NORMAL)",
+            example = ""
+    )
+    private String exceptionType;
+
+    @ApiModelProperty(
+            value = "打卡时间(Unix时间戳,秒)",
+            example = "1767490002"
+    )
+    private Long checkinTime;
+
+    @ApiModelProperty(
+            value = "打卡地点名称",
+            example = "领存技术"
+    )
+    private String locationTitle;
+
+    @ApiModelProperty(
+            value = "打卡地点详细地址",
+            example = "广东省深圳市宝安区新安街道兴业路金利通金融中心"
+    )
+    private String locationDetail;
+
+    @ApiModelProperty(
+            value = "WiFi 名称",
+            notes = "未连接公司WiFi时通常为固定文案",
+            example = "未连接到公司指定WiFi"
+    )
+    private String wifiName;
+
+    @ApiModelProperty(
+            value = "WiFi MAC 地址",
+            example = "00:dd:b6:e5:98:5a"
+    )
+    private String wifiMac;
+
+    @ApiModelProperty(value = "打卡备注说明",example = "")
+    private String notes;
+
+    @ApiModelProperty(value = "打卡照片/视频媒体ID列表",example = "[]")
+    private List<String> mediaIds;
+
+    @ApiModelProperty(
+            value = "位置打卡地点纬度,是实际纬度的1000000倍,与腾讯地图一致采用GCJ-02坐标系统标准",
+            example = "22551739"
+    )
+    private String lat;
+
+    @ApiModelProperty(value = "位置打卡地点纬度,是实际纬度的1000000倍,与腾讯地图一致采用GCJ-02坐标系统标准",
+            example = "113879515")
+    private String lng;
+
+    @ApiModelProperty(value = "设备唯一标识",example = "1f758b0ea9f2b33a"    )
+    private String deviceId;
+
+    @ApiModelProperty(value = "考勤组ID",
+            example = "1")
+    private Long groupId;
+
+//    public static List<AttendanceSignRecordEntity> appPageInfoListToAppPageTreeVoList(List<CheckinDataBo> vals) {
+//        if (CollectionUtils.isEmpty(vals)) {
+//            return null;
+//        }
+//        List<AttendanceSignRecordEntity> departmentTrees = vals.stream().map(CheckinDataBo::appPageInfoListToAppPageTreeVo).filter(obj -> !Objects.isNull(obj)).collect(Collectors.toList());
+//        return departmentTrees;
+//    }
+//
+//    public static AttendanceSignRecordEntity  appPageInfoListToAppPageTreeVo(CheckinDataBo bo) {
+//        if (null == bo) {
+//            return null;
+//        }
+//        AttendanceSignRecordEntity entity = new AttendanceSignRecordEntity();
+//
+//        entity.setWxUserId(bo.getUserId());
+//        entity.setGroupId(bo.getGroupId());
+//        entity.setGroupName(bo.getGroupName());
+//        entity.setCheckinType(bo.getCheckinType());
+//        entity.setExceptionType(bo.getExceptionType());
+//        entity.setCheckinTime(bo.getCheckinTime());
+//        entity.setLocationTitle(bo.getLocationTitle());
+//        entity.setLocationDetail(bo.getLocationDetail());
+//        entity.setWifiName(bo.getWifiName());
+//        entity.setWifiMac(bo.getWifiMac());
+//        entity.setLatitude(bo.getLat());
+//        entity.setLongitude(bo.getLat());
+//        entity.setDeviceId(bo.getDeviceId());
+//        // 媒体ID列表(如果是 JSON 存库,这里可序列化)
+//        if (!CollectionUtils.isEmpty(bo.getMediaIds())) {
+//            entity.setMediaIds(JSON.toJSONString(bo.getMediaIds()));
+//        }
+//        return entity;
+//    }
+}