浏览代码

新增同步脚本

fgd 1 年之前
父节点
当前提交
2f9923fc55

+ 2 - 0
sd-business/src/main/java/com/sd/business/entity/apply/po/ApplyBuy.java

@@ -54,4 +54,6 @@ public class ApplyBuy extends BasePo {
      */
     private Integer flowStatus;
 
+    private String oldId;
+
 }

+ 2 - 0
sd-business/src/main/java/com/sd/business/entity/apply/po/ApplyBuyBom.java

@@ -50,4 +50,6 @@ public class ApplyBuyBom extends BasePo {
      */
     private BigDecimal frozenQuantity;
 
+    private String oldId;
+
 }

+ 2 - 0
sd-business/src/main/java/com/sd/business/entity/contract/po/ContractTemplate.java

@@ -28,4 +28,6 @@ public class ContractTemplate extends BasePo {
      */
     private String content;
 
+    private String oldId;
+
 }

+ 2 - 0
sd-business/src/main/java/com/sd/business/entity/purchase/po/Purchase.java

@@ -176,4 +176,6 @@ public class Purchase extends BasePo {
      */
     private Integer flowStatus;
 
+    private String oldId;
+
 }

+ 7 - 0
sd-business/src/main/java/com/sd/business/entity/purchase/po/PurchaseBom.java

@@ -51,6 +51,11 @@ public class PurchaseBom extends BasePo {
     private BigDecimal purchaseQuantity;
 
     /**
+     * 到货数量
+     */
+    private BigDecimal arrivalQuantity;
+
+    /**
      * 退货数量
      */
     private BigDecimal returnQuantity;
@@ -60,4 +65,6 @@ public class PurchaseBom extends BasePo {
      */
     private BigDecimal paidAmount;
 
+    private String oldId;
+
 }

+ 2 - 0
sd-business/src/main/java/com/sd/business/entity/supplier/po/Supplier.java

@@ -113,4 +113,6 @@ public class Supplier extends BasePo {
      */
     private String bankAccountNumber;
 
+    private String oldId;
+
 }

+ 100 - 0
sd-starter/src/test/java/A5_SyncApplyBuyTest.java

@@ -0,0 +1,100 @@
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.sd.SdApplication;
+import com.sd.business.entity.apply.dto.ApplyBuyBomDto;
+import com.sd.business.entity.apply.dto.ApplyBuyDto;
+import com.sd.business.entity.apply.po.ApplyBuy;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.service.apply.ApplyBuyBomService;
+import com.sd.business.service.apply.ApplyBuyService;
+import com.sd.business.service.bom.BomSpecService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.sql.DataSource;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 同步申购表
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+public class A5_SyncApplyBuyTest {
+
+    @Autowired
+    private ApplyBuyService applyBuyService;
+
+    @Autowired
+    private ApplyBuyBomService applyBuyBomService;
+
+    @Autowired
+    private BomSpecService bomSpecService;
+
+    @Autowired
+    private DataSource dataSource;
+
+    @DSTransactional
+    @Test
+    public void test() {
+        DynamicRoutingDataSource dynamicRoutingDataSource = (DynamicRoutingDataSource) dataSource;
+        DataSource sdDataSource = dynamicRoutingDataSource.getDataSource("shengde");
+
+        String sql = "SELECT\n" +
+                "\t id oldId,\n" +
+                "\t code,\n" +
+                "\t subscriber_name applyName,\n" +
+                "\t subscription_time applyTime,\n" +
+                "\t subscription_remarks remark,\n" +
+                "\t IF(status = '30','2','4') flowStatus,\n" +
+                "\t create_time createTime,\n" +
+                "\t update_time updateTime\n" +
+                "\t\n" +
+                "FROM\n" +
+                "\t t_sd_subscriber" +
+                "\t WHERE `status` in ('30','40')";
+
+        List<Map<String, Object>> list = new JdbcTemplate(sdDataSource).queryForList(sql);
+
+        List<ApplyBuyDto> applyBuyDtoList = BeanUtil.copyToList(list, ApplyBuyDto.class);
+
+        for (ApplyBuyDto applyBuyDto : applyBuyDtoList) {
+            applyBuyService.save(applyBuyDto);
+        }
+
+        List<ApplyBuy> buyList = applyBuyService.list(q -> q.isNotNull(ApplyBuy::getOldId));
+        for (ApplyBuy applyBuy : buyList) {
+            String sql2 = "SELECT\n" +
+                    "\t id oldId,\n" +
+                    "\t bom_color_id bomSpecId,\n" +
+                    "\t "+ applyBuy.getId() + " applyBuyId ,\n" +
+                    "\t quantity,\n" +
+                    "\t create_time createTime,\n" +
+                    "\t update_time updateTime\n" +
+                    "\t\n" +
+                    "FROM\n" +
+                    "\t t_sd_subscriber_bom" +
+                    "\t WHERE subscriber_id = "  + "'" + applyBuy.getOldId() + "'";
+            List<Map<String, Object>> subscriberBomList = new JdbcTemplate(sdDataSource).queryForList(sql2);
+            List<Map<String, Object>> bomList = subscriberBomList.stream().peek(p -> {
+                String bomColorId = p.get("bomSpecId").toString();
+                BomSpec bomSpec = bomSpecService.getOne(q -> q.eq(BomSpec::getOldId, bomColorId));
+                p.put("bomSpecId", bomSpec.getId());
+            }).collect(Collectors.toList());
+
+            List<ApplyBuyBomDto> applyBuyBomDtoList = BeanUtil.copyToList(bomList, ApplyBuyBomDto.class);
+
+            for (ApplyBuyBomDto applyBuyBomDto : applyBuyBomDtoList) {
+                applyBuyBomService.save(applyBuyBomDto);
+            }
+        }
+    }
+
+
+}

+ 72 - 0
sd-starter/src/test/java/A6_SyncSupplierTest.java

@@ -0,0 +1,72 @@
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.sd.SdApplication;
+import com.sd.business.entity.supplier.dto.SupplierDto;
+import com.sd.business.service.supplier.SupplierService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.sql.DataSource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 同步供应商表
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+public class A6_SyncSupplierTest {
+
+    @Autowired
+    private SupplierService supplierService;
+
+    @Autowired
+    private DataSource dataSource;
+
+    @DSTransactional
+    @Test
+    public void test() {
+        DynamicRoutingDataSource dynamicRoutingDataSource = (DynamicRoutingDataSource) dataSource;
+        DataSource sdDataSource = dynamicRoutingDataSource.getDataSource("shengde");
+
+        String sql = "SELECT\n" +
+                "\t id oldId,\n" +
+                "\t name,\n" +
+                "\t phone companyTelephone,\n" +
+                "\t accounting_period paymentPeriod,\n" +
+                "\t province,\n" +
+                "\t city,\n" +
+                "\t address detailedAddress,\n" +
+                "\t duty_paragraph dutyNumber,\n" +
+                "\t name_one  contact_person1,\n" +
+                "\t phone_one contact_number1,\n" +
+                "\t mailbox_one  contact_mailbox1,\n" +
+                "\t name_two  contact_person2,\n" +
+                "\t phone_two  contact_number2,\n" +
+                "\t mailbox_two  contact_mailbox2,\n" +
+                "\t name_three  contact_person3,\n" +
+                "\t phone_three  contact_number3,\n" +
+                "\t mailbox_three  contact_mailbox3,\n" +
+                "\t bank,\n" +
+                "\t account_name bankAccountName,\n" +
+                "\t account_number bankAccountNumber,\n" +
+                "\t create_time createTime,\n" +
+                "\t update_time updateTime\n" +
+                "\t\n" +
+                "FROM\n" +
+                "\t t_pro_supplier";
+
+        List<Map<String, Object>> list = new JdbcTemplate(sdDataSource).queryForList(sql);
+
+        List<SupplierDto> supplierDtoList = BeanUtil.copyToList(list, SupplierDto.class);
+
+        for (SupplierDto supplierDto : supplierDtoList) {
+            supplierService.save(supplierDto);
+        }
+    }
+}

+ 55 - 0
sd-starter/src/test/java/A7_SyncContractTempTest.java

@@ -0,0 +1,55 @@
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.sd.SdApplication;
+import com.sd.business.entity.contract.dto.ContractTemplateDto;
+import com.sd.business.service.contract.ContractTemplateService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.sql.DataSource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 同步合同模板表
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+public class A7_SyncContractTempTest {
+
+    @Autowired
+    private ContractTemplateService contractTemplateService;
+
+    @Autowired
+    private DataSource dataSource;
+
+    @DSTransactional
+    @Test
+    public void test() {
+        DynamicRoutingDataSource dynamicRoutingDataSource = (DynamicRoutingDataSource) dataSource;
+        DataSource sdDataSource = dynamicRoutingDataSource.getDataSource("shengde");
+
+        String sql = "SELECT\n" +
+                "\t id oldId,\n" +
+                "\t template_name name,\n" +
+                "\t content,\n" +
+                "\t create_time createTime,\n" +
+                "\t update_time updateTime\n" +
+                "\t\n" +
+                "FROM\n" +
+                "\t t_erp_contract_template";
+
+        List<Map<String, Object>> list = new JdbcTemplate(sdDataSource).queryForList(sql);
+
+        List<ContractTemplateDto> contractTemplateDtoList = BeanUtil.copyToList(list, ContractTemplateDto.class);
+
+        for (ContractTemplateDto contractTemplateDto : contractTemplateDtoList) {
+            contractTemplateService.save(contractTemplateDto);
+        }
+    }
+}

+ 173 - 0
sd-starter/src/test/java/A8_SyncPurchaseTest.java

@@ -0,0 +1,173 @@
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.sd.SdApplication;
+import com.sd.business.entity.apply.po.ApplyBuy;
+import com.sd.business.entity.apply.po.ApplyBuyBom;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.purchase.dto.PurchaseBomDto;
+import com.sd.business.entity.purchase.dto.PurchaseDto;
+import com.sd.business.entity.purchase.po.Purchase;
+import com.sd.business.entity.supplier.po.Supplier;
+import com.sd.business.service.apply.ApplyBuyBomService;
+import com.sd.business.service.apply.ApplyBuyService;
+import com.sd.business.service.bom.BomSpecService;
+import com.sd.business.service.purchase.PurchaseBomService;
+import com.sd.business.service.purchase.PurchaseService;
+import com.sd.business.service.supplier.SupplierService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.sql.DataSource;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 同步采购表
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+public class A8_SyncPurchaseTest {
+
+    @Autowired
+    private PurchaseService purchaseService;
+
+    @Autowired
+    private PurchaseBomService purchaseBomService;
+
+    @Autowired
+    private BomSpecService bomSpecService;
+
+    @Autowired
+    private SupplierService supplierService;
+
+    @Autowired
+    private ApplyBuyService applyBuyService;
+
+    @Autowired
+    private ApplyBuyBomService applyBuyBomService;
+
+    @Autowired
+    private DataSource dataSource;
+
+    @DSTransactional
+    @Test
+    public void test() {
+        DynamicRoutingDataSource dynamicRoutingDataSource = (DynamicRoutingDataSource) dataSource;
+        DataSource sdDataSource = dynamicRoutingDataSource.getDataSource("shengde");
+
+        String sql = "SELECT\n" +
+                "\t id oldId,\n" +
+                "\t code,\n" +
+                "\t subscriber_id applyBuyId,\n" +
+                "\t supply_id supplierId,\n" +
+                "\t supply_province_name province,\n" +
+                "\t supply_city_name city,\n" +
+                "\t supply_address detailedAddress,\n" +
+                "\t supply_contact_name contactPerson,\n" +
+                "\t supply_contact_tel contactNumber,\n" +
+                "\t IF(receiving_addr_type = 0, 1, 2) receiveGoodsType,\n" +
+                "\t receiving_province_name receiveProvince,\n" +
+                "\t receiving_city_name receiveCity,\n" +
+                "\t receiving_address receiveDetailedAddress,\n" +
+                "\t receiving_zip_code receivePostcode,\n" +
+                "\t receiving_contact_name receiveContactPerson,\n" +
+                "\t receiving_contact_tel receiveContactNumber,\n" +
+                "\t pay_type settlementMethod,\n" +
+                "\t invoice_type invoiceType,\n" +
+                "\t delivery_time deliveryDate,\n" +
+                "\t currency currency,\n" +
+                "\t advance_charge advancePayment,\n" +
+                "\t purchase_price totalAmountIncludingTax,\n" +
+                "\t tax_purchase_price totalAmountExcludingTax,\n" +
+                "\t 0 returnAmount,\n" +
+                "\t 0 closedAccountAmount,\n" +
+                "\t 0 deductibleAmount,\n" +
+                "\t settlement_status paymentStatus,\n" +
+                "\t 0 storageStatus,\n" +
+                "\t 2 flowStatus,\n" +
+                "\t create_time createTime,\n" +
+                "\t update_time updateTime\n" +
+                "\t\n" +
+                "FROM\n" +
+                "\t t_pro_purchase_contract" +
+                "\t WHERE purchase_status = '20'";
+
+        List<Map<String, Object>> purchaseContractList = new JdbcTemplate(sdDataSource).queryForList(sql);
+
+        List<Map<String, Object>> list = purchaseContractList.stream().peek(p -> {
+            if (ObjectUtil.isNotEmpty(p.get("supplierId"))) {
+                String supplierId = p.get("supplierId").toString();
+                Supplier supplier = supplierService.getOne(q -> q.eq(Supplier::getOldId, supplierId));
+                p.put("supplierId", supplier.getId());
+            }
+
+            if (ObjectUtil.isNotEmpty(p.get("applyBuyId"))) {
+                String applyBuyId = p.get("applyBuyId").toString();
+                ApplyBuy applyBuy = applyBuyService.getOne(q -> q.eq(ApplyBuy::getOldId, applyBuyId));
+                p.put("applyBuyId", applyBuy.getId());
+            }
+        }).collect(Collectors.toList());
+
+        List<PurchaseDto> purchaseDtoList = BeanUtil.copyToList(list, PurchaseDto.class);
+
+        for (PurchaseDto purchaseDto : purchaseDtoList) {
+            purchaseService.save(purchaseDto);
+        }
+
+        List<Purchase> purchaseList = purchaseService.list(q -> q.isNotNull(Purchase::getOldId));
+        for (Purchase purchase : purchaseList) {
+            String sql2 = "SELECT\n" +
+                    "\t id oldId,\n" +
+                    "\t " + purchase.getId() + " purchaseId,\n" +
+                    "\t bom_color_id bomSpecId,\n" +
+                    "\t price unitPrice,\n" +
+                    "\t tax_amount taxRate,\n" +
+                    "\t quantity purchaseQuantity,\n" +
+                    "\t 0 returnQuantity,\n" +
+                    "\t 0 paidAmount,\n" +
+                    "\t create_time createTime,\n" +
+                    "\t update_time updateTime\n" +
+                    "\t\n" +
+                    "FROM\n" +
+                    "\t t_pro_purchase_contract_product" +
+                    "\t WHERE purchase_contract_id = "  + "'" + purchase.getOldId() + "'";
+
+            List<Map<String, Object>> productList = new JdbcTemplate(sdDataSource).queryForList(sql2);
+
+            if (!productList.isEmpty()) {
+                List<Map<String, Object>> bomList = productList.stream().peek(p -> {
+                    String bomColorId = p.get("bomSpecId").toString();
+                    BomSpec bomSpec = bomSpecService.getOne(q -> q.eq(BomSpec::getOldId, bomColorId));
+                    p.put("bomSpecId", bomSpec.getId());
+
+                    ApplyBuyBom applyBuyBom = applyBuyBomService.getOne(q -> q.eq(ApplyBuyBom::getBomSpecId, bomSpec.getId()).eq(ApplyBuyBom::getApplyBuyId, purchase.getApplyBuyId()));
+                    if (ObjectUtil.isNotEmpty(applyBuyBom)) {
+                        p.put("applyBuyBomId", applyBuyBom.getId());
+                    }
+
+                    String sql3 = "SELECT\n" +
+                            "\t ifnull(sum(quantity), 0) arrivalQuantity \n" +
+                            "\t\n" +
+                            "FROM\n" +
+                            "\t t_pro_wms_stock_registration_detail" +
+                            "\t WHERE status = 1 and type = 1 and genre = 2 and purchase_contract_id = '" + purchase.getOldId() + "'  and business_id = '" + bomColorId + "'";
+
+                    List<Map<String, Object>> quantityList = new JdbcTemplate(sdDataSource).queryForList(sql3);
+                    String arrivalQuantity = quantityList.get(0).get("arrivalQuantity").toString();
+                    p.put("arrivalQuantity", arrivalQuantity);
+                }).collect(Collectors.toList());
+                List<PurchaseBomDto> purchaseBomDtoList = BeanUtil.copyToList(bomList, PurchaseBomDto.class);
+                for (PurchaseBomDto purchaseBomDto : purchaseBomDtoList) {
+                    purchaseBomService.save(purchaseBomDto);
+                }
+            }
+        }
+    }
+}

+ 110 - 0
sd-starter/src/test/java/A9_SyncUserTest.java

@@ -0,0 +1,110 @@
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.service.ISysRoleService;
+import com.ruoyi.system.service.ISysUserService;
+import com.sd.SdApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.sql.DataSource;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 同步用户表
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+public class A9_SyncUserTest {
+
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @Autowired
+    private ISysRoleService sysRoleService;
+
+    @Autowired
+    private DataSource dataSource;
+
+    @DSTransactional
+    @Test
+    public void test() {
+        DynamicRoutingDataSource dynamicRoutingDataSource = (DynamicRoutingDataSource) dataSource;
+        DataSource sdDataSource = dynamicRoutingDataSource.getDataSource("shengde");
+
+
+
+        String sql2 = "SELECT\n" +
+                "\t id oldId,\n" +
+                "\t role_name roleName,\n" +
+                "\t role_alias roleKey,\n" +
+                "\t sort roleSort,\n" +
+                "\t tenant_id tenantId\n" +
+                "\t\n" +
+                "FROM\n" +
+                "\t blade_role" +
+                "\t WHERE role_alias != 'administrator'";
+        List<Map<String, Object>> roleList = new JdbcTemplate(sdDataSource).queryForList(sql2);
+
+        List<SysRole> sysRoleList = BeanUtil.copyToList(roleList, SysRole.class);
+        for (SysRole sysRole : sysRoleList) {
+            sysRoleService.insertRole(sysRole);
+        }
+
+        String sql = "SELECT\n" +
+                "\t role_id roleId,\n" +
+                "\t account userName,\n" +
+                "\t name nickName,\n" +
+                "\t email,\n" +
+                "\t phone phonenumber,\n" +
+                "\t (CASE sex WHEN 1 THEN '0' WHEN 0 THEN '1' ELSE '2' END) sex,\n" +
+                "\t avatar,\n" +
+                "\t create_time createTime,\n" +
+                "\t update_time updateTime,\n" +
+                "\t '000000' tenantId,\n" +
+                "\t code jobNumber,\n" +
+                "\t dm_code userCode\n" +
+                "\t\n" +
+                "FROM\n" +
+                "\t blade_user";
+
+        List<Map<String, Object>> list = new JdbcTemplate(sdDataSource).queryForList(sql);
+        List<Map<String, Object>> userList = list.stream().filter(item -> {
+            String userName = item.get("userName").toString();
+            SysUser sysUser = sysUserService.selectUserByUserName("000000", userName);
+            return ObjectUtil.isEmpty(sysUser);
+        }).peek(item -> {
+            String password = "123456";
+            BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+            String encryptPassword = passwordEncoder.encode(password);
+            item.put("password", encryptPassword);
+        }).collect(Collectors.toList());
+        List<SysUser> sysUserList = BeanUtil.copyToList(userList, SysUser.class);
+        for (SysUser sysUser : sysUserList) {
+            sysUserService.save(sysUser);
+        }
+
+        // 用户角色绑定
+        for (Map<String, Object> map : userList) {
+            String userName = map.get("userName").toString();
+            String tenantId = map.get("tenantId").toString();
+            String roleId = map.get("roleId").toString();
+            SysUser sysUser = sysUserService.selectUserByUserName(tenantId, userName);
+            List<String> collect = Arrays.asList(roleId.split(","));
+            List<String> roleKeys = roleList.stream().filter(item -> collect.contains(item.get("oldId").toString())).map(item -> item.get("roleKey").toString()).collect(Collectors.toList());
+            List<Long> roleIdList = sysRoleList.stream().filter(item -> roleKeys.contains(item.getRoleKey())).map(SysRole::getRoleId).collect(Collectors.toList());
+            sysUserService.insertUserAuth(sysUser.getUserId(),  roleIdList.toArray(new Long[0]));
+        }
+    }
+}