Commit 9d25b0a7 authored by 姬鋆屾's avatar 姬鋆屾
parents 0c091c46 59872705
......@@ -141,6 +141,13 @@
<!-- <systemPath>${project.basedir}/src/main/resources/lib/artemis-http-client-1.1.8.jar</systemPath>-->
</dependency>
<!--dingdingtalk sdk-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dingtalk</artifactId>
<version>2.0.19</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
......
package com.mortals.xhx.busiz.dingtalk.api;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.busiz.dingtalk.config.TalkConfiguration;
import com.mortals.xhx.busiz.dingtalk.req.DingTalkBaseReq;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.ApiRespPdu;
import lombok.extern.apachecommons.CommonsLog;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 钉钉相关外部接口
*
* @Author:
*/
@RestController
@Slf4j
public class TalkApiController {
@Autowired
private TalkConfiguration talkConfiguration;
/**
* 获取token
*
* @return
*/
@PostMapping("/dingtalk/gettoken")
public Rest<String> getToken(@RequestBody DingTalkBaseReq dingTalkBaseReq) {
log.info("收到【getToken】请求【请求体】--> {}", JSON.toJSONString(dingTalkBaseReq));
try {
// DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
// OapiGettokenRequest req = new OapiGettokenRequest();
// req.setHttpMethod("GET");
// OapiGettokenResponse rsp = client.execute(req);
/* DingTalkClient client = new DefaultDingTalkClient(talkConfiguration.getGetTokneUrl());
OapiGettokenRequest req = new OapiGettokenRequest();
req.setAppkey(apiKey);
req.setAppsecret(appsecret);
req.setHttpMethod("GET");
OapiGettokenResponse rsp = client.execute(req);
log.info("gettoken rsp:" + rsp.getBody());
if (rsp.getErrcode() == 0) {
apiRespPdu.setData(rsp.getAccessToken());
} else {
throw new AppException(String.format("errorCode:%s,errorMsg:%s", rsp.getErrcode(), rsp.getErrmsg()));
}
*/
} catch (Exception e) {
log.error("异常", e);
return Rest.fail(e.getMessage());
}
return Rest.ok();
}
}
package com.mortals.xhx.busiz.dingtalk.config;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
* 钉钉配置
*
* @Author: ZXF
*/
@Data
@Configuration
public class TalkConfiguration {
/**
* AgentId
*/
@Value("${dingtalk.agentId:''}")
private String getAgentId;
/**
* getToken
*/
@Value("${dingtalk.gettoken:''}")
private String getTokneUrl;
/**
* getbymobile
*/
@Value("${dingtalk.getbymobile:''}")
private String getbymobile;
/**
* getDeptbyUser
*/
@Value("${dingtalk.getDeptbyUser:''}")
private String getDeptbyUser;
/**
* workCreate
*/
@Value("${dingtalk.workCreate:''}")
private String workCreate;
/**
* processCode
*/
@Value("${dingtalk.processCode:''}")
private String processCode;
/**
* aesToken
*/
@Value("${dingtalk.aesToken:''}")
private String aesToken;
/**
* aseKey
*/
@Value("${dingtalk.aesKey:''}")
private String aesKey;
/**
* ownerKey
*/
@Value("${dingtalk.ownerKey:''}")
private String ownerKey;
}
package com.mortals.xhx.busiz.dingtalk.req;
import lombok.Data;
import org.springframework.web.bind.annotation.RequestParam;
@Data
public class DingTalkBaseReq {
private String apiKey;
private String appsecret;
}
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 员工状态
* @author
*
*/
public enum StaffSatusEnum {
正式(1, "正式"),
试用(2, "试用"),
离职(3, "离职"),
;
private int value;
private String desc;
StaffSatusEnum(int value, String desc) {
this.value = value;
this.desc = desc;
}
public int getValue() {
return this.value;
}
public String getDesc() {
return desc;
}
public static StaffSatusEnum getByValue(int value) {
for (StaffSatusEnum examStatus : StaffSatusEnum.values()) {
if (examStatus.getValue() == value) {
return examStatus;
}
}
return null;
}
/**
* 获取Map集合
* @param eItem 不包含项
* @return
*/
public static Map<String,String> getEnumMap(int... eItem) {
Map<String,String> resultMap= new LinkedHashMap<String,String>();
for (StaffSatusEnum item : StaffSatusEnum.values()) {
try{
boolean hasE = false;
for (int e : eItem){
if(item.getValue()==e){
hasE = true;
break;
}
}
if(!hasE){
resultMap.put(item.getValue()+"", item.getDesc());
}
}catch(Exception ex){
}
}
return resultMap;
}
}
......@@ -116,7 +116,10 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity();
recordHikEntity.initAttrValue();
StaffEntity staffCache = staffService.getExtCache(item.getJobNo());
if (ObjectUtils.isEmpty(staffCache)) return null;
if (ObjectUtils.isEmpty(staffCache)) {
log.info("staff is null !staffCode:{}",item.getJobNo());
return null;
}
recordHikEntity.setStaffId(staffCache.getId());
recordHikEntity.setStaffName(staffCache.getName());
......@@ -134,11 +137,11 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
recordHikEntity.setCreateUserName("system");
recordHikEntity.setCreateUserId(1L);
return recordHikEntity;
}).collect(Collectors.toList());
}).filter(f->f!=null).collect(Collectors.toList());
log.info("attRecords size:{}", attRecords.size());
List<String> eventIds = attRecords.parallelStream().filter(f->!ObjectUtils.isEmpty(f)&&!ObjectUtils.isEmpty(f.getRemark())).map(i -> i.getRemark()).collect(Collectors.toList());
List<String> eventIds = attRecords.parallelStream().filter(f -> !ObjectUtils.isEmpty(f) && !ObjectUtils.isEmpty(f.getRemark())).map(i -> i.getRemark()).collect(Collectors.toList());
//查询当天考勤记录是否有重复的 有的 则不添加
AttendanceRecordHikQuery recordHikQuery = new AttendanceRecordHikQuery();
......
......@@ -54,18 +54,11 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
@Autowired
private StaffService staffService;
@Autowired
private DeptDao deptDao;
@Autowired
private DeptService deptService;
@Autowired
private StaffService service;
@Autowired
private AttendanceStatService attendanceStatService;
......@@ -79,12 +72,10 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
public void excuteTask(ITask task) throws AppException {
log.info("同步用户--部门");
try {
//同步部门
syncDepts();
//同步员工
syncPersons();
} catch (Exception e) {
log.error("同步人事异常", e);
}
......@@ -100,21 +91,21 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
for (PersonInfo personInfo : personInfoList) {
StaffEntity staffEntity = staffService.getExtCache(personInfo.getJobNo());
DeptEntity deptEntity = deptService.selectOne(new DeptQuery().deptCode(personInfo.getOrgIndexCode()));
AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
AttendanceStatEntity statEntity = attendanceStatService.selectOne(new AttendanceStatQuery().staffId(staffEntity.getId()));
// AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
// AttendanceStatEntity statEntity = attendanceStatService.selectOne(new AttendanceStatQuery().staffId(staffEntity.getId()));
//判断本地数据是否为空
if (ObjectUtils.isEmpty(staffEntity)) {
//新增员工信息
staffEntity = new StaffEntity();
staffEntity.initAttrValue();
if (ObjectUtils.isEmpty(deptEntity)) {
if (!ObjectUtils.isEmpty(deptEntity)) {
staffEntity.setDeptId(deptEntity.getId());
}
staffEntity.setName(personInfo.getPersonName());
staffEntity.setRemarkId(personInfo.getPersonId());
staffEntity.setPicUri(personInfo.getPersonPhoto().getPicUri());
staffEntity.setServerIndexCode(personInfo.getPersonPhoto().getServerIndexCode());
staffEntity.setDeptName(personInfo.getOrgPathName());
staffEntity.setDeptName(personInfo.getOrgName());
staffEntity.setGender(personInfo.getGender());
staffEntity.setWorkNum(personInfo.getJobNo());
staffEntity.setPhoneNumber(personInfo.getPhoneNo());
......@@ -122,6 +113,18 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
staffEntity.setCreateTime(new Date());
service.save(staffEntity);
AttendanceVacationBalanceEntity balanceEntity = new AttendanceVacationBalanceEntity();
balanceEntity.initAttrValue();
balanceEntity.setStaffId(staffEntity.getId());
balanceEntity.setStaffName(staffEntity.getName());
balanceEntity.setDeptId(staffEntity.getDeptId());
balanceEntity.setDeptName(staffEntity.getDeptName());
balanceEntity.setCreateUserId(1L);
balanceEntity.setCreateTime(new Date());
balanceService.save(balanceEntity);
//AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
AttendanceStatEntity attendanceStatEntity = new AttendanceStatEntity();
attendanceStatEntity.initAttrValue();
attendanceStatEntity.setStaffId(staffEntity.getId());
......@@ -153,17 +156,6 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
attendanceStatEntity.setHomeLeave(balanceEntity.getHomeLeave());
attendanceStatEntity.setPersonalLeave(balanceEntity.getPersonalLeaveDays());
attendanceStatService.save(attendanceStatEntity);
AttendanceVacationBalanceEntity attendanceVacationBalanceEntity = new AttendanceVacationBalanceEntity();
attendanceVacationBalanceEntity.initAttrValue();
attendanceVacationBalanceEntity.setStaffId(staffEntity.getId());
attendanceVacationBalanceEntity.setStaffName(staffEntity.getName());
attendanceVacationBalanceEntity.setDeptId(deptEntity.getId());
attendanceVacationBalanceEntity.setDeptName(deptEntity.getDeptName());
attendanceVacationBalanceEntity.setCreateTime(new Date());
attendanceVacationBalanceEntity.setCreateUserId(1L);
balanceService.save(attendanceVacationBalanceEntity);
//统计各级部门员工数量 todo 优化统计
String ancestor = deptEntity.getAncestors().split(",", 2)[1];
String[] ancestors = ancestor.split(",");
......@@ -174,24 +166,22 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
deptService.update(deptEntity2);
}
}
} else {
//更新
if (ObjectUtils.isEmpty(deptEntity)) {
if (!ObjectUtils.isEmpty(deptEntity)) {
staffEntity.setDeptId(deptEntity.getId());
}
staffEntity.setName(personInfo.getPersonName());
staffEntity.setRemarkId(personInfo.getPersonId());
staffEntity.setPicUri(personInfo.getPersonPhoto().getPicUri());
staffEntity.setServerIndexCode(personInfo.getPersonPhoto().getServerIndexCode());
staffEntity.setDeptName(personInfo.getOrgPathName());
staffEntity.setDeptName(personInfo.getOrgName());
staffEntity.setGender(personInfo.getGender());
staffEntity.setWorkNum(personInfo.getJobNo());
staffEntity.setPhoneNumber(personInfo.getPhoneNo());
staffEntity.setUpdateUserId(1L);
staffEntity.setUpdateTime(new Date());
service.update(staffEntity);
//统计各级部门员工数量
String ancestor = deptEntity.getAncestors().split(",", 2)[1];
String[] ancestors = ancestor.split(",");
......@@ -247,12 +237,8 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
}
}
}
@Override
public void stopTask(ITask task) throws AppException {
}
}
......@@ -17,6 +17,6 @@ public interface AttendanceRecordHikService extends ICRUDService<AttendanceRecor
* 将原始数据导入打卡记录表
* @param entity
*/
public void addAttendanceRecord(AttendanceRecordHikEntity entity, Context context) throws Exception;
void addAttendanceRecord(AttendanceRecordHikEntity entity, Context context) throws Exception;
}
package com.mortals.xhx.module.attendance.service.impl;
import com.mortals.framework.model.PageInfo;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
......@@ -12,18 +13,19 @@ import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailQuery;
import com.mortals.xhx.module.attendance.service.AttendanceRecordDetailService;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* AttendanceRecordService
* 考勤打卡记录信息 service实现
*
* @author zxfei
* @date 2023-04-07
*/
* AttendanceRecordService
* 考勤打卡记录信息 service实现
*
* @author zxfei
* @date 2023-04-07
*/
@Service("attendanceRecordService")
public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<AttendanceRecordDao, AttendanceRecordEntity, Long> implements AttendanceRecordService {
@Autowired
......@@ -32,12 +34,10 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Override
protected void findAfter(AttendanceRecordEntity params, PageInfo pageInfo, Context context, List<AttendanceRecordEntity> list) throws AppException {
list.stream().map(item->{
//chax
list.stream().map(item -> {
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(item.getId()));
item.setAttendanceRecordDetailList(attendanceRecordDetailEntities);
return item;
return item;
}).collect(Collectors.toList());
......@@ -46,11 +46,10 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Override
protected void saveAfter(AttendanceRecordEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())){
entity.getAttendanceRecordDetailList().stream().peek(item->{
if (!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())) {
entity.getAttendanceRecordDetailList().stream().peek(item -> {
item.setRecordId(entity.getId());
item.setCreateUser(context==null?"admin":context.getUser().getLoginName());
item.setCreateUserId(context==null?1L:context.getUser().getId());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
}).count();
attendanceRecordDetailService.save(entity.getAttendanceRecordDetailList());
......@@ -60,16 +59,14 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Override
protected void updateAfter(AttendanceRecordEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())){
if (!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())) {
Long[] attendanceRecordDetailIds = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(entity.getId())).stream().map(AttendanceRecordDetailEntity::getId).toArray(Long[]::new);
attendanceRecordDetailService.remove(attendanceRecordDetailIds,context);
entity.getAttendanceRecordDetailList().stream().peek(item ->{
attendanceRecordDetailService.remove(attendanceRecordDetailIds, context);
entity.getAttendanceRecordDetailList().stream().peek(item -> {
item.setRecordId(entity.getId());
item.setCreateUser(context==null?"admin":context.getUser().getLoginName());
item.setCreateUserId(context==null?1L:context.getUser().getId());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
item.setUpdateUser(context==null?"admin":context.getUser().getLoginName());
item.setUpdateUserId(context==null?1L:context.getUser().getId());
item.setUpdateUserId(this.getContextUserId(context));
item.setUpdateTime(new Date());
}).count();
attendanceRecordDetailService.save(entity.getAttendanceRecordDetailList());
......@@ -80,7 +77,7 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<AttendanceRecordDetailEntity> attendanceRecordDetaillist = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordIdList(Arrays.asList(ids)));
attendanceRecordDetailService.removeList(attendanceRecordDetaillist,context);
attendanceRecordDetailService.removeList(attendanceRecordDetaillist, context);
super.removeAfter(ids, context, result);
}
}
......@@ -36,7 +36,7 @@ public class HikDoorServiceImpl extends AbstractHikService implements IHikDoorSe
try {
log.info("door events req=>{}", JSON.toJSONString(doorEventReq));
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(doorEventReq), null, null, "application/json");
// log.info("door events error resp=>{}", respJson);
//log.info("door events error resp=>{}", respJson);
HikApiRest<DoorEventDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<DoorEventDataInfo>>() {
});
log.info("door events resp=>{}", rest.getCode());
......
......@@ -7,19 +7,17 @@ import java.util.Date;
@Data
public class PersonInfo{
private String personId;
private String personName;
private int gender;
private String orgPath;
private String orgPathName;
private String orgIndexCode;
private String orgName;
private int certificateType;
private String certificateNo;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
private Date updateTime;
private String certificateNo;
private String phoneNo;
private String personName;
private PersonPhoto personPhoto;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
private Date createTime;
private String jobNo;
private String personId;
private int certificateType;
}
\ No newline at end of file
......@@ -36,6 +36,7 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers
path.put(protocol, getCamsApi);
try {
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(personReq), null, null, "application/json");
log.info("person resp=>{}", respJson);
HikApiRest<PersonDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<PersonDataInfo>>() {
});
if ("0".equals(rest.getCode())) {
......
package com.mortals.xhx.module.staff.service.impl;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.xhx.common.code.StaffSatusEnum;
import com.mortals.xhx.common.code.StaffTypeEnum;
import com.mortals.xhx.common.code.StatusEnum;
import com.mortals.xhx.module.staff.dao.StaffDao;
import com.mortals.xhx.module.staff.dao.ibatis.StaffDaoImpl;
import com.mortals.xhx.module.staff.dao.ibatis.StaffLeaveDaoImpl;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.StaffQuery;
import com.mortals.xhx.module.staff.model.vo.StaffInfoVo;
import com.mortals.xhx.module.staff.service.StaffService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* StaffService
......@@ -22,14 +29,6 @@ import java.util.List;
@Service("staffService")
public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, StaffEntity, Long> implements StaffService {
@Autowired
private StaffDaoImpl staffDao;
@Autowired
private StaffLeaveDaoImpl staffLeaveDao;
@Override
protected String getExtKey(StaffEntity data) {
//工号作为redis 扩展key
......@@ -40,26 +39,33 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
public StaffInfoVo queryAll() {
StaffInfoVo staffInfoVo = new StaffInfoVo();
//在职
staffInfoVo.setInWorkStaff(staffDao.queryInWork());
StaffQuery staffQuery = new StaffQuery();
staffQuery.setStatusList(Arrays.asList(StaffSatusEnum.正式.getValue(), StaffSatusEnum.试用.getValue()));
List<StaffEntity> staffEntities = this.find(staffQuery);
staffInfoVo.setInWorkStaff(staffEntities.size());
//全职
staffInfoVo.setFullStaff(staffDao.queryFull());
//正式
staffInfoVo.setFormalStaff(staffDao.queryFormal());
Map<Integer, Long> collect = staffEntities.stream().collect(Collectors.groupingBy(x -> x.getStaffType(), Collectors.counting()));
staffInfoVo.setFullStaff(collect.getOrDefault(StaffTypeEnum.全职.getValue(), 0L).intValue());
//实习
staffInfoVo.setPricateStaff(collect.getOrDefault(StaffTypeEnum.实习.getValue(), 0L).intValue());
//兼职
staffInfoVo.setConcurrentlyStaff(staffDao.queryConcurrently());
staffInfoVo.setConcurrentlyStaff(collect.getOrDefault(StaffTypeEnum.兼职.getValue(), 0L).intValue());
//试用
staffInfoVo.setOnTrialStaff(staffDao.queryOnTrial());
//实习
staffInfoVo.setPricateStaff(staffDao.queryPricate());
staffInfoVo.setOnTrialStaff(this.find(new StaffQuery().status(StaffSatusEnum.试用.getValue())).size());
//正式
staffInfoVo.setFormalStaff(this.find(new StaffQuery().status(StaffSatusEnum.正式.getValue())).size());
//待离职
staffInfoVo.setResignationStaff(staffLeaveDao.queryResignation());
staffInfoVo.setResignationStaff(this.find(new StaffQuery().status(StaffSatusEnum.离职.getValue())).size());
return staffInfoVo;
}
@Override
public int queryAllPerson() {
return staffDao.queryInWork();
StaffQuery staffQuery = new StaffQuery();
staffQuery.setStatusList(Arrays.asList(StaffSatusEnum.正式.getValue(), StaffSatusEnum.试用.getValue()));
List<StaffEntity> staffEntities = this.find(staffQuery);
return staffEntities.size();
}
}
\ No newline at end of file
......@@ -76,7 +76,6 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
//todo 员工统计信息
List<HolidayListVo> holidayListVos = new ArrayList<>();
HolidayListVo vo =new HolidayListVo();
StaffEntity staffEntity = this.service.get(id);
vo.setWorkName(staffEntity.getName());
vo.setWorkStatus(String.valueOf(staffEntity.getStatus()));
......@@ -96,9 +95,7 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
vo.setPaternityLeaveDay("10");
holidayListVos.add(vo);
entity.setHolidayLists(holidayListVos);
// StaffEntity cache = this.service.getCache(entity.getWorkNum());
return super.infoAfter(id, model, entity, context);
}
......
// This file is auto-generated, don't edit it. Thanks.
import com.aliyun.tea.*;
public class Sample {
/**
* 使用 Token 初始化账号Client
* @return Client
* @throws Exception
*/
public static com.aliyun.dingtalkoauth2_1_0.Client createClient() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
config.protocol = "https";
config.regionId = "central";
return new com.aliyun.dingtalkoauth2_1_0.Client(config);
}
public static void main(String[] args_) throws Exception {
java.util.List<String> args = java.util.Arrays.asList(args_);
com.aliyun.dingtalkoauth2_1_0.Client client = Sample.createClient();
com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest getAccessTokenRequest = new com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest();
try {
client.getAccessToken(getAccessTokenRequest);
} catch (TeaException err) {
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err 中含有 code 和 message 属性,可帮助开发定位问题
}
} catch (Exception _err) {
TeaException err = new TeaException(_err.getMessage(), _err);
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err 中含有 code 和 message 属性,可帮助开发定位问题
}
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment