Browse Source

feat: batch init user area

shc 11 months ago
parent
commit
7aa2e11ebe

+ 37 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/InitController.java

@@ -7,6 +7,7 @@ import com.qunzhixinxi.hnqz.admin.api.constant.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysAreaEntity;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUserArea;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaAgent;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEnt;
@@ -18,6 +19,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskTypeMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysAreaEntityService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserAreaService;
+import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
 import lombok.AllArgsConstructor;
@@ -29,7 +31,9 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
@@ -55,6 +59,7 @@ public class InitController {
     private final WmDaAgentMapper wmDaAgentMapper;
     private final SysUserAreaService userAreaService;
     private final SysAreaEntityService areaEntityService;
+    private final SysUserService userService;
 
 
     @Inner(value = false)
@@ -74,7 +79,7 @@ public class InitController {
 
         List<WmTaskType> tempList = wmTaskTypeMapper.selectList(Wrappers.<WmTaskType>lambdaQuery().eq(WmTaskType::getTaskTypeLevel, "1"));
 
-        //List<WmTaskType> tempList = wmTaskTypeMapper.selectBatchIds(wmTaskTypes);
+        // List<WmTaskType> tempList = wmTaskTypeMapper.selectBatchIds(wmTaskTypes);
 
         // 1.第一级是药企的情况
 //		List<SysDept> deptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
@@ -341,4 +346,35 @@ public class InitController {
         return R.ok();
     }
 
+    @Inner(value = false)
+    @PostMapping(value = "/cnbg/user/area/batch")
+    public R<Boolean> initUserArea() {
+
+        List<SysUser> users = userService.list(Wrappers.<SysUser>lambdaQuery().gt(SysUser::getCreateTime, LocalDateTime.of(LocalDate.now(), LocalTime.MIN)));
+
+
+        List<SysAreaEntity> list = areaEntityService.list(Wrappers.<SysAreaEntity>lambdaQuery().eq(SysAreaEntity::getAreaStatus, true));
+
+
+        Set<Long> collect = list.stream().mapToLong(SysAreaEntity::getAreaId).boxed().collect(Collectors.toSet());
+
+        LocalDateTime now = LocalDateTime.now();
+
+        for (SysUser user : users) {
+
+            List<SysUserArea> collect1 = collect.stream().map(aId -> {
+                SysUserArea userArea = new SysUserArea();
+                userArea.setUserId((long) user.getUserId());
+                userArea.setAreaId(aId);
+                userArea.setCreateTime(now);
+                return userArea;
+
+            }).collect(Collectors.toList());
+            userAreaService.saveBatch(collect1);
+        }
+
+        return R.ok();
+    }
+
+
 }