Bläddra i källkod

coding:投流代码提交

zhangqin 6 dagar sedan
förälder
incheckning
f585b63057

+ 36 - 18
fs-company/src/main/java/com/fs/company/controller/qw/QwCustomerLinkController.java

@@ -133,28 +133,46 @@ public class QwCustomerLinkController {
     }
 
     /**
-     * 新增/获客链接
+     * 新增渠道链接
      */
     @PostMapping("/channel/create")
     public Result<Void> createChannel(@RequestBody QwCustomerLinkChannelReq linkChannelReq) {
-        // 渠道链接
-        QwCustomerLinkChannel bean = BeanUtil.toBean(linkChannelReq, QwCustomerLinkChannel.class);
-        // 主链信息
+
+        // 主链
         QwCustomerLink qwCustomerLink = qwCustomerLinkService.getById(linkChannelReq.getSysLinkId());
-        // 生成链接
-        QwLinkCreateParam qwLinkCreateParam = new QwLinkCreateParam();
-        qwLinkCreateParam.setLink_name(linkChannelReq.getLinkName());
-        qwLinkCreateParam.setSkip_verify(qwCustomerLink.getSkipVerify().equals(1));
-        List<QwCustomerLinkUser> list = qwCustomerLinkUserService.list(new LambdaQueryWrapper<QwCustomerLinkUser>()
-                .eq(QwCustomerLinkUser::getSysQwUserId, qwCustomerLink.getId()));
-        QwLinkCreateParam.Range range = new QwLinkCreateParam.Range();
-        range.setUser_list(list.stream().map(QwCustomerLinkUser::getQwUserId).collect(Collectors.toList()));
-        qwLinkCreateParam.setRange(range);
-        QwLinkCreateResult qwLinkCreateResult = qwApiService.linkCreate(qwLinkCreateParam, qwCustomerLink.getCorpId());
-        // 设置链接信息
-        bean.setLinkId(qwLinkCreateResult.getLinkId());
-        bean.setUrl(qwLinkCreateResult.getUrl());
-        return qwCustomerLinkChannelService.save(bean) ? Result.success() : Result.error("创建失败");
+        // 主链关联的企微用户
+        List<QwCustomerLinkUser> linkUsers = qwCustomerLinkUserService.list(new LambdaQueryWrapper<QwCustomerLinkUser>()
+                .eq(QwCustomerLinkUser::getSysLinkId, qwCustomerLink.getId()));
+        List<String> userIdList = linkUsers.stream()
+                .map(QwCustomerLinkUser::getQwUserId)
+                .collect(Collectors.toList());
+
+        List<QwCustomerLinkChannel> channels = linkChannelReq.getChannelList().stream()
+                .map(channelDto -> {
+                    QwLinkCreateParam param = new QwLinkCreateParam();
+                    param.setLink_name(channelDto.getChannelName());
+                    param.setSkip_verify(qwCustomerLink.getSkipVerify().equals(1));
+                    QwLinkCreateParam.Range range = new QwLinkCreateParam.Range();
+                    range.setUser_list(userIdList);
+                    param.setRange(range);
+
+                    // QwLinkCreateResult linkResult = qwApiService.linkCreate(param, qwCustomerLink.getCorpId());
+
+                    QwCustomerLinkChannel channel = new QwCustomerLinkChannel();
+                    channel.setChannelId(channelDto.getChannelId());
+                    channel.setChannelName(channelDto.getChannelName());
+                    channel.setSysLinkId(linkChannelReq.getSysLinkId());
+                    channel.setLinkName(channelDto.getChannelName());
+                    // channel.setLinkId(linkResult.getLinkId());
+                    // channel.setUrl(linkResult.getUrl());
+
+                    channel.setLinkId(IdUtil.randomUUID());
+                    channel.setUrl("https://work.weixin.qq.com/ca/" + IdUtil.randomUUID());
+                    return channel;
+                })
+                .collect(Collectors.toList());
+
+        return qwCustomerLinkChannelService.saveBatch(channels) ? Result.success() : Result.error("创建失败");
     }
 
 

+ 18 - 0
fs-service/src/main/java/com/fs/qw/dto/ChannelDto.java

@@ -0,0 +1,18 @@
+package com.fs.qw.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ChannelDto implements Serializable {
+
+    @ApiModelProperty("渠道id")
+    private Integer channelId;
+
+    @ApiModelProperty("渠道名称")
+    private String channelName;
+
+
+}

+ 2 - 11
fs-service/src/main/java/com/fs/qw/dto/QwCustomerLinkChannelReq.java

@@ -1,10 +1,10 @@
 package com.fs.qw.dto;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.List;
 
 @Data
 public class QwCustomerLinkChannelReq implements Serializable {
@@ -12,14 +12,5 @@ public class QwCustomerLinkChannelReq implements Serializable {
     @ApiModelProperty("归属主链")
     private Long sysLinkId;
 
-    @ApiModelProperty("获客链接名称")
-    private String linkName;
-
-    @ApiModelProperty("渠道id")
-    @TableField("channel_id")
-    private Integer channelId;
-
-    @ApiModelProperty("渠道名称")
-    @TableField("channel_name")
-    private String channelName;
+    List<ChannelDto> channelList;
 }