9 changed files with 143 additions and 5 deletions
@ -0,0 +1,15 @@ |
|||
package com.qs.serve.modules.sys.entity.dto; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/6/20 |
|||
*/ |
|||
@Data |
|||
public class SyUser { |
|||
String id; |
|||
String name; |
|||
String code; |
|||
String mobile; |
|||
} |
@ -0,0 +1,37 @@ |
|||
package com.qs.serve.task; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qs.serve.common.util.AuthContextUtils; |
|||
import com.qs.serve.modules.tbs.common.TbsActivityState; |
|||
import com.qs.serve.modules.tbs.entity.TbsActivity; |
|||
import com.qs.serve.task.controller.TaskUserController; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
|||
import org.springframework.scheduling.annotation.Scheduled; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.time.LocalDate; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/6/27 |
|||
*/ |
|||
@Slf4j |
|||
@Component |
|||
@AllArgsConstructor |
|||
@ConditionalOnProperty(value = "project.task", havingValue = "true") |
|||
public class SysTask { |
|||
|
|||
TaskUserController taskUserController; |
|||
|
|||
/** |
|||
* 同步用户 |
|||
*/ |
|||
@Scheduled(cron="0 0 1 * * ?") |
|||
public void task1(){ |
|||
AuthContextUtils.setTenant("001"); |
|||
taskUserController.test(); |
|||
} |
|||
|
|||
} |
@ -1,4 +1,4 @@ |
|||
package com.qs.serve.task; |
|||
package com.qs.serve.task.controller; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qs.serve.common.model.dto.R; |
@ -1,4 +1,4 @@ |
|||
package com.qs.serve.task; |
|||
package com.qs.serve.task.controller; |
|||
|
|||
import com.qs.serve.common.framework.redis.RedisService; |
|||
import com.qs.serve.common.model.consts.RedisCacheKeys; |
@ -0,0 +1,77 @@ |
|||
package com.qs.serve.task.controller; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qs.serve.common.model.dto.R; |
|||
import com.qs.serve.common.util.JsonUtil; |
|||
import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService; |
|||
import com.qs.serve.modules.sys.entity.SysUser; |
|||
import com.qs.serve.modules.sys.entity.dto.SyUser; |
|||
import com.qs.serve.modules.sys.service.SysUserService; |
|||
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; |
|||
import com.qs.serve.modules.wx.service.WxUserService; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* 【同步】 用户相关 |
|||
* @author YenHex |
|||
* @since 2023/6/27 |
|||
*/ |
|||
@Slf4j |
|||
@AllArgsConstructor |
|||
@RestController |
|||
@RequestMapping("/task/user") |
|||
@ConditionalOnProperty(value = "project.task", havingValue = "true") |
|||
public class TaskUserController { |
|||
|
|||
SeeYonRequestBaseService seeYonRequestBaseService; |
|||
SysUserService sysUserService; |
|||
|
|||
/** |
|||
* 同步致远的用户到CRM |
|||
* @return |
|||
*/ |
|||
@GetMapping("syncFromSeeYon") |
|||
public R test(){ |
|||
R<String> rs = seeYonRequestBaseService.getBase(TbsSeeYonConst.OA_USER_LIST_1,null); |
|||
String listJson = rs.getData(); |
|||
List<SyUser> userList = JsonUtil.jsonToList(listJson, SyUser.class); |
|||
assert userList != null; |
|||
if(userList.size()<1){ |
|||
return R.ok(); |
|||
} |
|||
List<String> codes = userList.stream().map(SyUser::getCode).collect(Collectors.toList()); |
|||
LambdaQueryWrapper<SysUser> userLqw = new LambdaQueryWrapper<>(); |
|||
userLqw.in(SysUser::getCode,codes); |
|||
List<SysUser> existUserList = sysUserService.list(userLqw); |
|||
for (SyUser oaUser : userList) { |
|||
boolean exist = existUserList.stream().anyMatch(a->a.getCode().equals(oaUser.getCode())); |
|||
if(!exist){ |
|||
SysUser sysUser = new SysUser(); |
|||
sysUser.setCode(oaUser.getCode()); |
|||
sysUser.setMobile(oaUser.getMobile()); |
|||
sysUser.setAccount(oaUser.getCode()); |
|||
sysUser.setId(oaUser.getName()); |
|||
sysUser.setSyUserId(oaUser.getId()); |
|||
sysUser.setSyAccount(oaUser.getCode()); |
|||
sysUser.setServingState(1); |
|||
sysUser.setServingDate(LocalDate.now()); |
|||
sysUser.setSuperFlag(1); |
|||
sysUserService.save(sysUser); |
|||
} |
|||
} |
|||
return R.ok(); |
|||
} |
|||
|
|||
|
|||
|
|||
} |
@ -1,4 +1,4 @@ |
|||
package com.qs.serve.task; |
|||
package com.qs.serve.task.controller; |
|||
|
|||
import com.qs.serve.common.framework.redis.RedisService; |
|||
import com.qs.serve.common.model.consts.RedisCacheKeys; |
Loading…
Reference in new issue