update code

dev_xds
haha 2024-01-12 00:31:02 +08:00
parent fa8140c80c
commit d8edf04fa7
3 changed files with 166 additions and 18 deletions

View File

@ -56,7 +56,7 @@ public class SurProjectAttendanceCfgController extends BaseController
public AjaxResult makeAppId(long projectId,long subDeptId){
Map<String,String> map=new HashMap<>();
map.put("appId", Md5Utils.yzMd5("陕西研筑"+projectId+"-"+subDeptId+ RandomUtil.randomString(10))+RandomUtil.randomString(10));
map.put("secret", Md5Utils.yzMd5("研筑陕西"+projectId+"_"+subDeptId+ RandomUtil.randomString(10))+RandomUtil.randomString(10));
map.put("secret", Md5Utils.yzMd5("研筑陕西"+projectId+"_"+subDeptId+ RandomUtil.randomString(10))+RandomUtil.randomString(30));
map.put("projectId",Md5Utils.yzMd5("陕西研筑"+projectId+ RandomUtil.randomString(10))+RandomUtil.randomString(10));
map.put("tenantId",Md5Utils.yzMd5("研筑陕西"+subDeptId+ RandomUtil.randomString(10))+RandomUtil.randomString(10));
return AjaxResult.success("ok",map);

View File

@ -1,5 +1,6 @@
package com.yanzhu.jh.project.domain;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONObject;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@ -156,6 +157,38 @@ public class SurProjectAttendanceUser extends BaseEntity
private Date inTime;
private Date outTime;
public static SurProjectAttendanceUser createFromHuazhu(JSONObject j) {
SurProjectAttendanceUser u=new SurProjectAttendanceUser();
u.workerId=j.getLongValue("id",0);
u.name=j.getString("name");
u.ethnic=j.getString("nationalName");
u.nativePlace=j.getString("provinceName")+j.getString("cityName");
u.gender=j.getLongValue("sex",0);
u.birthDate=j.getLongValue("birthday",0);
u.phone=j.getString("phone");
u.degreeName=j.getString("levelOfEducation");
u.recentPhoto=j.getString("profile");
u.groupId=j.getLongValue("teamId",0);
u.groupName=j.getString("teamName");
u.workTypeCode=j.getString("workerTypeId");
u.workTypeName=j.getString("workerTypeName");
u.state=j.getLongValue("status",1)==2l?0l:1l;
long enterTime=j.getLong("enterTime");
if(enterTime>0){
u.enterDate= DateUtil.format(DateUtil.date(enterTime),"HH:mm:ss");
}
long leaveTime=j.getLong("leaveTime");
if(leaveTime>0) {
u.exitDate = DateUtil.format(DateUtil.date(leaveTime), "HH:mm:ss");
}
u.vendorId=j.getLongValue("unitProjectId",0);
u.companyId=j.getLongValue("unitId",0);
u.companyName=j.getString("unitName");
u.teamName=j.getString("teamName");
u.other=j.toJSONString();
return u;
}
public Date getInTime() {
return inTime;
}
@ -221,30 +254,30 @@ public class SurProjectAttendanceUser extends BaseEntity
public static SurProjectAttendanceUser create(JSONObject json) {
SurProjectAttendanceUser u=new SurProjectAttendanceUser();
u.workerId=json.getLong("workerId");
u.laborWorkerId=json.getLong("laborWorkerId");
u.workerCategory=json.getLong("workerCategory");
u.qrCode=json.getLong("qrCode");
u.workerId=json.getLongValue("workerId",0);
u.laborWorkerId=json.getLongValue("laborWorkerId",0);
u.workerCategory=json.getLongValue("workerCategory",0);
u.qrCode=json.getLongValue("qrCode",0);
u.name=json.getString("name");
u.ethnic=json.getString("ethnic");
u.nativePlace=json.getString("nativePlace");
u.gender=json.getLong("gender");
u.birthDate=json.getLong("birthDate");
u.gender=json.getLongValue("gender",0);
u.birthDate=json.getLongValue("birthDate",0);
u.phone=json.getString("phone");
u.recentPhoto=json.getString("recentPhoto");
u.groupId=json.getLong("groupId");
u.groupId=json.getLongValue("groupId",0);
u.groupName=json.getString("groupName");
u.leader=json.getBoolean("leader")?1:0;
u.leader=json.getBooleanValue("leader",false)?1:0;
u.workTypeCode=json.getString("workTypeCode");
u.workTypeName=json.getString("workTypeName");
u.specWorkType=json.getBoolean("specWorkType")?1:0;
u.specWorkType=json.getBooleanValue("specWorkType",false)?1:0;
u.hatCode=json.getString("hatCode");
u.state=json.getLong("state");
u.state=json.getLongValue("state",0);
u.enterDate=json.getString("enterDate");
u.exitDate=json.getString("exitDate");
u.companyId=json.getLong("companyId");
u.companyId=json.getLongValue("companyId",0);
u.companyName=json.getString("companyName");
u.vendorId=json.getLong("vendorId");
u.vendorId=json.getLongValue("vendorId",0);
u.teamId=json.getInteger("teamId");
u.teamName=json.getString("teamName");
u.enterType=json.getString("enterType");

View File

@ -1,6 +1,12 @@
package com.yanzhu.jh.project.task;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
import com.yanzhu.jh.project.service.ISurProjectAttendanceCfgService;
import com.yanzhu.jh.project.service.ISurProjectAttendanceDataService;
import com.yanzhu.jh.project.service.ISurProjectAttendanceGroupService;
@ -11,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -28,7 +35,8 @@ public class AttendanceHuazhuTask {
@Autowired
ISurProjectAttendanceGroupService attendanceGroupService;
public static void main(String[] args) {
/*
public static void main1(String[] args) {
//String host="http://tapi.huazhukeji.cn:82/hz-labour";
String host="http://api.1357.cn/hz-labour";
String path="/api/open/labour/findWorkerTypeByPage";
@ -45,10 +53,6 @@ public class AttendanceHuazhuTask {
params.put("tenantId","1666337067184893953");
params.put("size","200");
params.put("current","1");
params.forEach((s, o) -> {
urlBuilder.addQueryParameter(s, (String) o);
});
Request request = new Request.Builder()
.url(urlBuilder.build())
.post(toFormBody(params)).headers(setHeaderParams(headerParams))
@ -57,6 +61,28 @@ public class AttendanceHuazhuTask {
System.out.println(data);
}
*/
//380649600000
public static void main4(String[] args) {
String s= DateUtil.format(DateUtil.date(1704167341751l),"yyyy-MM-dd HH:mm:ss");
System.out.println(s);
}
public static void main(String[] args) {
String path="/api/open/labour/findLabourWorkerByPage";
Map<String,String> map=new HashMap<>();
map.put("appId","8024283707153666851");
map.put("secret","2070308b49399d94b401d98adeaa5b342aa81627");
map.put("projectId","1666339529033805825");
map.put("tenantId","1666337067184893953");
JSONObject jo=JSON.parseObject(JSON.toJSONString(map));
int page=1;
SurProjectAttendanceCfg it=new SurProjectAttendanceCfg();
//new AttendanceHuazhuTask().doSyncWorker(jo,1,it);
long p=jo.getLongValue("page",1);
jo.put("page",1);
System.out.println(p);
System.out.println(jo.toString());
}
private static RequestBody toFormBody(Map<String, String> params ){
return RequestBody.create(
MediaType.parse("application/json"), JSON.toJSONString(params));
@ -77,4 +103,93 @@ public class AttendanceHuazhuTask {
return headers;
}
public void syncAttendanceData(){
SurProjectAttendanceCfg where =new SurProjectAttendanceCfg();
where.setEnabled(1l);
where.setIsDel(0l);
where.setVendorsCode("huazhu");
List<SurProjectAttendanceCfg> list=attendanceCfgService.selectSurProjectAttendanceCfgList(where);
for(SurProjectAttendanceCfg it :list){
String param= it.getVendorsParameter();
if(Strings.isNotEmpty(param)){
try{
JSONObject jo=JSON.parseObject(param);
doSyncAttendanceData(jo,it);
}catch (Exception ex){
ex.printStackTrace();
}
}
}
}
private void doSyncAttendanceData(JSONObject jo,SurProjectAttendanceCfg it){
}
public void syncWorker(){
SurProjectAttendanceCfg where =new SurProjectAttendanceCfg();
where.setEnabled(1l);
where.setIsDel(0l);
where.setVendorsCode("huazhu");
List<SurProjectAttendanceCfg> list=attendanceCfgService.selectSurProjectAttendanceCfgList(where);
for(SurProjectAttendanceCfg it :list){
String param= it.getVendorsParameter();
if(Strings.isNotEmpty(param)){
try{
JSONObject jo=JSON.parseObject(param);
doSyncWorker(jo,1,it);
}catch (Exception ex){
ex.printStackTrace();
}
}
}
}
public static Request getRequest(String path,JSONObject jo,int page){
String appId=jo.getString("appId");
String secret=jo.getString("secret");
String projectId=jo.getString("projectId");
String tenantId=jo.getString("tenantId");
String host="http://api.1357.cn/hz-labour";
HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path))
.newBuilder();
Map<String, String> headerParams=new HashMap<>();
headerParams.put("appId",appId);
headerParams.put("appSecret",secret);
headerParams.put("Content-Type","application/json");
Map<String, String> params = new HashMap<>();
params.put("orgId",projectId);
params.put("tenantId",tenantId);
params.put("size","500");
params.put("current",""+page);
Request request = new Request.Builder()
.url(urlBuilder.build())
.post(toFormBody(params)).headers(setHeaderParams(headerParams))
.build();
return request;
}
private void doSyncWorker(JSONObject jdata,int page,SurProjectAttendanceCfg it){
String path="/api/open/labour/findLabourWorkerByPage";
Request request=getRequest(path,jdata,page);
String data=AttendanceTask.getResult(request);
JSONObject jo= JSON.parseObject(data);
JSONObject joData= jo.getJSONObject("data");
JSONArray arr=joData.getJSONArray("records");
long pages=joData.getLong("pages");
if(arr!=null && arr.size()>0){
for(int i=0;i<arr.size();i++){
JSONObject json=arr.getJSONObject(i);
SurProjectAttendanceUser user=SurProjectAttendanceUser.createFromHuazhu(json);
user.setVendorsCode(it.getVendorsCode());
user.setCfgid(it.getId());
attendanceUserService.add(user);
}
}
if(page<pages){
doSyncWorker(jdata,page+1,it);
}
}
}