package com.qianwen.smartman.modules.sync.controller; import cn.hutool.json.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import javax.validation.constraints.NotNull; import com.qianwen.core.tool.api.R; import com.qianwen.smartman.modules.sync.constant.QyWechatConstant; import com.qianwen.smartman.modules.sync.service.IDingSyncService; import com.qianwen.smartman.modules.sync.service.IWechatSyncService; import com.qianwen.smartman.modules.sync.vo.SyncResultVO; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RequestMapping({"blade-sync/wechat"}) @Api(tags = {"企业微信同步相关接口"}) @RestController public class QyWechatSyncController { private final IWechatSyncService wechatSyncService; private final IDingSyncService dingSyncService; public QyWechatSyncController(final IWechatSyncService wechatSyncService, final IDingSyncService dingSyncService) { this.wechatSyncService = wechatSyncService; this.dingSyncService = dingSyncService; } @PostMapping({"/sync"}) @ApiOperation("同步组织架构") public R synchronizeOrganization() { return R.data(this.wechatSyncService.syncOrganization()); } @GetMapping({"/scan"}) @ApiOperation("扫码绑定") public R scanCodeBind(@RequestParam("code") String code, @RequestParam("clientId") String clientId, @RequestParam("state") @NotNull String empId) { return this.wechatSyncService.scanCodeBind(code, clientId, empId); } @GetMapping({"/generate"}) @ApiOperation("生成二维码") public R generateCode(@RequestParam("clientId") String clientId, @RequestParam("type") Integer type, @RequestParam(value = "empId", required = false) Long empId) { return R.data(this.wechatSyncService.generateCode(clientId, type, empId)); } @GetMapping({"/unbind"}) @ApiOperation("解除员工与企业微信的绑定") public R unbind(@RequestParam("id") String id) { return R.status(this.dingSyncService.unbind(Long.valueOf(id), QyWechatConstant.QY_SOURCE).booleanValue()); } }