账户信息关联运营区设置删除

This commit is contained in:
dzl 2025-05-14 10:29:51 +08:00
parent ac2848d647
commit ceb9dd1809
7 changed files with 155 additions and 7 deletions

View File

@ -2,6 +2,7 @@ package com.ebike.feign.clients;
import com.cdzy.common.model.EbikeTracking;
import com.cdzy.common.model.JsonResult;
import com.ebike.feign.model.res.ReqUserOperateDto;
import com.ebike.feign.model.res.ResFeignEbikeSysRcostsetDto;
import com.ebike.feign.model.rsp.FeignEbikeRegionDto;
import org.springframework.cloud.openfeign.FeignClient;
@ -83,4 +84,22 @@ public interface OperateFeignClient {
*/
@GetMapping("ebikesysrcostset/getRegionFeeConfigById")
JsonResult<ResFeignEbikeSysRcostsetDto> getRegionFeeConfigById(@RequestParam(name = "operationRegionId") Long operationRegionId);
/**
* 设置用户所属运营区
*
* @param reqUserOperateDto
* @return
*/
@PostMapping("ebikeRegion/setUserOperate")
JsonResult<?> setUserOperate(@RequestBody ReqUserOperateDto reqUserOperateDto);
/**
* 删除用户所属运营区
*
* @param staffId
* @return
*/
@PostMapping("ebikeRegion/delUserOperate")
JsonResult<?> delUserOperate(@RequestParam("staffId") Long staffId);
}

View File

@ -0,0 +1,24 @@
package com.ebike.feign.model.res;
import com.alibaba.fastjson2.JSONArray;
import lombok.Data;
import java.util.List;
/**
* @author:Ding
* @ClassName:ReqUserOperateDto
* @Package:com.cdzy.ebikeoperate.model.dto.request.ReqUserOperateDto
* @Description:
* @CreateDate:2025年05月14日
* @Version:
**/
@Data
public class ReqUserOperateDto {
private Long staffId;
private List<Long> zoneId;
private Long orgId;
}

View File

@ -9,10 +9,8 @@ import com.cdzy.ebikeoperate.enums.RegionLevelType;
import com.cdzy.ebikeoperate.mapper.EbikeRegionLevelMapper;
import com.cdzy.ebikeoperate.mapper.EbikeRegionoperationMapper;
import com.cdzy.ebikeoperate.mapper.EbikeSiteTypeMapper;
import com.cdzy.ebikeoperate.model.dto.request.ReqAuthorizeOperationDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqBatchRegionDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeOperationRegionDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqSiteRegionDto;
import com.cdzy.ebikeoperate.mapper.EbikeStaffRegionMapper;
import com.cdzy.ebikeoperate.model.dto.request.*;
import com.cdzy.ebikeoperate.model.dto.response.*;
import com.cdzy.ebikeoperate.model.pojo.*;
import com.cdzy.ebikeoperate.service.EbikeAdministrationZoneService;
@ -31,12 +29,14 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeAdministrationZoneTableDef.EBIKE_ADMINISTRATION_ZONE;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeOperationRegionTableDef.EBIKE_OPERATION_REGION;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeRegionLevelTableDef.EBIKE_REGION_LEVEL;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeStaffRegionTableDef.EBIKE_STAFF_REGION;
/**
* 区域控制层
@ -70,6 +70,8 @@ public class EbikeRegionController {
@Resource
private EbikeRegionLevelMapper levelMapper;
@Resource
private EbikeStaffRegionMapper staffRegionMapper;
/**
* 添加运营区
@ -394,4 +396,54 @@ public class EbikeRegionController {
Long imageId = siteRegionService.saveImages(multipartFile);
return JsonResult.success(imageId);
}
/**
* 设置用户所属运营区
*
* @param reqUserOperateDto
* @return
*/
@PostMapping("setUserOperate")
public JsonResult<?> setUserOperate(@RequestBody ReqUserOperateDto reqUserOperateDto) {
try {
QueryWrapper queryWrapper = QueryWrapper.create()
.in(EBIKE_OPERATION_REGION.ZONE_ID.getName(), reqUserOperateDto.getZoneId())
.and(EBIKE_OPERATION_REGION.ORG_ID.eq(reqUserOperateDto.getOrgId()));
List<EbikeOperationRegion> list = operationRegionService.list(queryWrapper);
queryWrapper.clear();
queryWrapper.eq(EBIKE_STAFF_REGION.STAFF_ID.getName(), reqUserOperateDto.getStaffId());
staffRegionMapper.deleteByQuery(queryWrapper);
List<EbikeStaffRegion> staffRegions = new ArrayList<>();
for (EbikeOperationRegion ebikeOperationRegion : list) {
EbikeStaffRegion region = new EbikeStaffRegion();
region.setRegionId(ebikeOperationRegion.getOperationRegionId());
region.setStaffId(reqUserOperateDto.getStaffId());
staffRegions.add(region);
}
staffRegionMapper.insertBatch(staffRegions);
return JsonResult.success("");
} catch (Exception e) {
return JsonResult.failed("");
}
}
/**
* 删除用户所属运营区
*
* @param staffId
* @return
*/
@PostMapping("delUserOperate")
public JsonResult<?> delUserOperate(@RequestParam("staffId") Long staffId) {
try {
QueryWrapper queryWrapper = QueryWrapper.create()
.eq(EBIKE_STAFF_REGION.STAFF_ID.getName(), staffId);
staffRegionMapper.deleteByQuery(queryWrapper);
return JsonResult.success("");
} catch (Exception e) {
return JsonResult.failed("");
}
}
}

View File

@ -0,0 +1,24 @@
package com.cdzy.ebikeoperate.model.dto.request;
import com.alibaba.fastjson2.JSONArray;
import lombok.Data;
import java.util.List;
/**
* @author:Ding
* @ClassName:ReqUserOperateDto
* @Package:com.cdzy.ebikeoperate.model.dto.request.ReqUserOperateDto
* @Description:
* @CreateDate:2025年05月14日
* @Version:
**/
@Data
public class ReqUserOperateDto {
private Long staffId;
private List<Long> zoneId;
private Long orgId;
}

View File

@ -24,6 +24,12 @@
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.cdzy</groupId>
<artifactId>ebike-feign</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot3-starter</artifactId>
@ -129,6 +135,11 @@
<artifactId>fastjson2</artifactId>
<version>2.0.50</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
</dependencies>
<profiles>
<!--开发环境-->

View File

@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@EnableFeignClients
@EnableFeignClients(basePackages = "com.ebike.feign")
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.cdzy.user.mapper")

View File

@ -17,7 +17,8 @@ import com.cdzy.user.model.vo.StaffIds;
import com.cdzy.user.service.StaffRolesService;
import com.cdzy.user.service.StaffService;
import com.cdzy.user.service.StaffZoneService;
import com.cdzy.user.utils.AESUtils;
import com.ebike.feign.clients.OperateFeignClient;
import com.ebike.feign.model.res.ReqUserOperateDto;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.query.QueryMethods;
@ -30,7 +31,7 @@ import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@ -55,6 +56,8 @@ public class StaffController {
private StaffZoneService staffZoneService;
@Autowired
private StaffRolesService staffRolesService;
@Autowired
private OperateFeignClient operateFeignClient;
/**
* 添加
@ -231,17 +234,24 @@ public class StaffController {
staffRolesService.saveBatch(roleList);
}
JSONArray zoneId = staffDto.getZoneId();
List<Long> zoneIds = new ArrayList<>();
List<StaffZone> zoneList = IntStream.range(0, zoneId.size()).mapToObj(i -> {
StaffZone staffRoles = new StaffZone();
JSONObject jsonObject = zoneId.getJSONObject(i);
staffRoles.setZoneId(jsonObject.getLong("zoneId"));
staffRoles.setZoneName(jsonObject.getString("zoneName"));
staffRoles.setStaffId(staff.getStaffId());
zoneIds.add(jsonObject.getLong("zoneId"));
return staffRoles;
}).collect(Collectors.toList());
if (!zoneList.isEmpty()) {
staffZoneService.saveBatch(zoneList);
}
ReqUserOperateDto reqUserOperateDto = new ReqUserOperateDto();
reqUserOperateDto.setStaffId(staff.getStaffId());
reqUserOperateDto.setZoneId(zoneIds);
reqUserOperateDto.setOrgId(staff.getOrgId());
operateFeignClient.setUserOperate(reqUserOperateDto);
return JsonResult.success("保存成功!");
} catch (Exception e) {
e.printStackTrace();
@ -279,17 +289,24 @@ public class StaffController {
staffRolesService.saveBatch(roleList);
}
JSONArray zoneId = staffDto.getZoneId();
List<Long> zoneIds = new ArrayList<>();
List<StaffZone> zoneList = IntStream.range(0, zoneId.size()).mapToObj(i -> {
StaffZone staffRoles = new StaffZone();
JSONObject jsonObject = zoneId.getJSONObject(i);
staffRoles.setZoneId(jsonObject.getLong("zoneId"));
staffRoles.setZoneName(jsonObject.getString("zoneName"));
staffRoles.setStaffId(staff.getStaffId());
zoneIds.add(jsonObject.getLong("zoneId"));
return staffRoles;
}).collect(Collectors.toList());
if (!zoneList.isEmpty()) {
staffZoneService.saveBatch(zoneList);
}
ReqUserOperateDto reqUserOperateDto = new ReqUserOperateDto();
reqUserOperateDto.setStaffId(staff.getStaffId());
reqUserOperateDto.setZoneId(zoneIds);
reqUserOperateDto.setOrgId(staff.getOrgId());
operateFeignClient.setUserOperate(reqUserOperateDto);
return JsonResult.success("保存成功!");
} catch (Exception e) {
e.printStackTrace();
@ -315,6 +332,7 @@ public class StaffController {
queryWrapper.eq(STAFF_ZONE.STAFF_ID.getName(), staffId);
staffZoneService.remove(queryWrapper);
staffService.removeById(staffId);
operateFeignClient.delUserOperate(staffId);
return JsonResult.success("删除成功!");
} catch (Exception e) {
e.printStackTrace();