Procházet zdrojové kódy

Merge remote-tracking branch 'origin/test' into test

Qchen před 2 roky
rodič
revize
e3b2237182

+ 23 - 6
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -277,6 +277,13 @@ public class SysUserController extends BaseController {
         return HttpResult.ok(sysUserService.findByReferrerId(deptId));
     }
 
+    /**
+     * 根据部门id查询该部门的所有人信息
+     */
+    @PostMapping("/findListByDeptId")
+    public HttpResult findListByDeptId(@RequestBody SysUser sysUser) {
+        return HttpResult.ok(sysUserService.findListByDeptId(sysUser));
+    }
 
 
     /**
@@ -347,27 +354,37 @@ public class SysUserController extends BaseController {
         return HttpResult.ok(sysUserService.gainUserPage(pageDto));
     }
 
-    @ApiOperation(value = "分为后线、渠道和个代的用户查询分页")
+    @ApiOperation(value = "渠道和个代的用户查询分页")
     @PostMapping(value = "/findUserList")
     public HttpResult findUserList(@RequestBody PageDto<SysUserDto> pageDto) {
-        if (pageDto.getDto().getDeptId() == null){
+        if (pageDto.getDto().getDeptId() == null) {
             BaseController baseController = new BaseController();
             pageDto.getDto().setDeptId(baseController.getDeptId());
         }
         return HttpResult.ok(sysUserService.findUserList(pageDto));
     }
 
+    @ApiOperation(value = "后线用户查询分页")
+    @PostMapping(value = "/findBackUserList")
+    public HttpResult findBackUserList(@RequestBody PageDto<SysUserDto> pageDto) {
+        if (pageDto.getDto().getDeptId() == null) {
+            BaseController baseController = new BaseController();
+            pageDto.getDto().setDeptId(baseController.getDeptId());
+        }
+        return HttpResult.ok(sysUserService.findBackUserList(pageDto));
+    }
+
     @ApiOperation(value = "渠道数据统计")
     @PostMapping(value = "/quTeamNum")
     public HttpResult quTeamNum(@RequestBody QuTeamNumDto quTeamNumDto) {
 
-        return HttpResult.ok("",sysUserService.quTeamNum(quTeamNumDto));
+        return HttpResult.ok("", sysUserService.quTeamNum(quTeamNumDto));
     }
 
     @ApiOperation(value = "渠道数据统计详情")
     @PostMapping(value = "/quTeamNumDetail")
     public HttpResult quTeamNumDetail(@RequestBody QuTeamNumDto quTeamNumDto) {
-        return HttpResult.ok("",sysUserService.getQuTeamByCompany(quTeamNumDto));
+        return HttpResult.ok("", sysUserService.getQuTeamByCompany(quTeamNumDto));
     }
 
 
@@ -460,7 +477,7 @@ public class SysUserController extends BaseController {
         if (StringUtils.isNotEmpty(sysUser.getDeptId())) {
             SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
             sysUser.setDeptName(sysDept.getName());
-            sysUser.setIsHasAddUser(sysDept.getManagementSource()!=null?1:0);
+            sysUser.setIsHasAddUser(sysDept.getManagementSource() != null ? 1 : 0);
             sysUser.setManagementSource(sysDept.getManagementSource());
         }
 
@@ -623,7 +640,7 @@ public class SysUserController extends BaseController {
                 if (deptLevel != 6) {
                     throw new SystemException("团队长、代理人、出单员只能归属团队中");
                 }
-            }else if (RoleConstants.R18.getCode().equals(sysUser.getRoleId())) { // 42 门店长
+            } else if (RoleConstants.R18.getCode().equals(sysUser.getRoleId())) { // 42 门店长
                 if (deptLevel != 5) {
                     throw new SystemException("机构管理员只能归属机构中");
                 }

+ 3 - 1
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -120,12 +120,14 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
             "LEFT JOIN sys_role r ON r.id = sur.role_id WHERE r.id IN ('21') and u.status=1 and u.dept_id=#{deptId}")
     List<SysUserVO> findByReferrerId(@Param("deptId") String deptId);
 
+    List<SysUserVO> findListByDeptId(@Param("sysUser") SysUser sysUser);
 
     Page<SysUserBaseVO> gainUserBaseInfo(@Param("page") Page page,@Param("user") SysUserDto user);
 
-
     IPage<SysUserBaseVO> findUserList(@Param("page") Page page,@Param("user") SysUserDto user);
 
+    IPage<SysUserBaseVO> findBackUserList(@Param("page") Page page,@Param("user") SysUserDto user);
+
     /**
      * 获取用户列表
      * @param page 分页信息

+ 9 - 0
src/main/java/com/ydtech/modules/admin/model/SysUser.java

@@ -106,6 +106,14 @@ public class SysUser extends BaseEntity {
     @TableField(value = "identity")
     private String identity;
 
+    @ApiModelProperty(value = "领导人ID")
+    @TableField(value = "leader_id")
+    private String leaderId;
+
+    @ApiModelProperty(value = "领导人姓名")
+    @TableField(value = "leader_name")
+    private String leaderName;
+
     //------------------
 
 
@@ -157,6 +165,7 @@ public class SysUser extends BaseEntity {
     @Excel(name = "推荐人名称")
     private String referrerName;
 
+
     @TableField(exist = false)
     @ApiModelProperty("机构来源")
     private String managementSource;

+ 4 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -69,6 +69,8 @@ public interface SysUserService extends IService<SysUser> {
 
     List<SysUserVO> findByReferrerId(String deptId);
 
+    List<SysUserVO> findListByDeptId(SysUser sysUser);
+
     PageVo<SysUserBaseVO> gainUserPage(PageDto<SysUserDto> pageDto);
 
 
@@ -80,6 +82,8 @@ public interface SysUserService extends IService<SysUser> {
      */
     IPage<SysUserBaseVO> findUserList(PageDto<SysUserDto> pageDto);
 
+    IPage<SysUserBaseVO> findBackUserList(PageDto<SysUserDto> pageDto);
+
     IPage<QuTeamNum> quTeamNum(QuTeamNumDto quTeamNumDto);
 
     IPage<QuTeamNum> getQuTeamByCompany(QuTeamNumDto quTeamNumDto);

+ 23 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -78,9 +78,25 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (sysUserVO.getAgentFlag() == null) {
             throw new SystemException("必传标识未传递");
         }
-        return sysUserMapper.findUserList(page, sysUserVO);
+        IPage<SysUserBaseVO> userList = sysUserMapper.findUserList(page, sysUserVO);
+        return userList;
     }
 
+    @Override
+    public IPage<SysUserBaseVO> findBackUserList(PageDto<SysUserDto> pageDto) {
+        PageVo<SysUserBaseVO> pageVo = new PageVo();
+        Page page = new Page(pageDto.getPageNum(), pageDto.getPageSize());
+        pageVo.setPageNum(pageDto.getPageNum());
+        pageVo.setPageSize(pageDto.getPageSize());
+
+        SysUserDto sysUserVO = JSONObject.parseObject(JSONObject.toJSONString(pageDto.getDto()), SysUserDto.class);
+        if (sysUserVO.getAgentFlag() == null) {
+            throw new SystemException("必传标识未传递");
+        }
+        return sysUserMapper.findBackUserList(page, sysUserVO);
+    }
+
+
     @Override
     public IPage<QuTeamNum> quTeamNum(QuTeamNumDto quTeamNumDto) {
         //判断必传标识是否为空
@@ -182,7 +198,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
         List<QuTeamNum> collect1 =
                 quTeamNums.stream().skip((quTeamNumDto.getPageNo() - 1) * quTeamNumDto.getPageSize()).limit(quTeamNumDto.getPageSize()).
-                collect(Collectors.toList());
+                        collect(Collectors.toList());
         IPage<QuTeamNum> page = new Page<>(quTeamNumDto.getPageNo(), quTeamNumDto.getPageSize());
         page.setRecords(collect1);
         page.setTotal(quTeamNums.size());
@@ -354,6 +370,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return super.baseMapper.findByReferrerId(deptId);
     }
 
+    @Override
+    public List<SysUserVO> findListByDeptId(SysUser sysUser) {
+        return super.baseMapper.findListByDeptId(sysUser);
+    }
+
     @Override
     public PageVo gainUserPage(PageDto pageDto) {
 

+ 6 - 11
src/main/java/com/ydtech/modules/order/aop/aspect/AuditVerificationAspect.java

@@ -2,23 +2,16 @@ package com.ydtech.modules.order.aop.aspect;
 
 
 import com.alibaba.fastjson.JSONObject;
-import com.ydtech.constants.sys.SystemConstant;
-import com.ydtech.exception.SystemException;
-import com.ydtech.modules.admin.model.SysUserRole;
 import com.ydtech.modules.admin.service.SysUserRoleService;
-import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
-import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.SpecialAuditVo;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.protocol.service.PtlAgreementDeptService;
 import com.ydtech.modules.protocol.service.impl.TaxSourceServiceImpl;
-import com.ydtech.utils.StringUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.JoinPoint;
@@ -26,8 +19,6 @@ import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
 import org.springframework.stereotype.Component;
 
-import java.util.Arrays;
-
 @Slf4j
 @Aspect
 @Component
@@ -56,7 +47,7 @@ public class AuditVerificationAspect {
             if (arg instanceof SpecialAuditVo) {
                 JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(arg));
                 companyId = jsonObject.getString("companyId");
-            }else {
+            } else {
                 //接收保险公司id参数
                 companyId = arg.toString();
             }
@@ -65,7 +56,11 @@ public class AuditVerificationAspect {
             //先进行承保规则判断
 //            feeRuleSchemeNewService.verificationRuleFactor(insAreaCompany, insOrders);
             //再进行费用因子判断
-            feeRuleSchemeNewService.verificationCostFactor(insAreaCompany, insOrders);
+            try {
+                feeRuleSchemeNewService.verificationCostFactor(insAreaCompany, insOrders);
+            } catch (Exception ignored) {
+
+            }
         }
     }
 

+ 2 - 1
src/main/java/com/ydtech/modules/order/components/bohai/BoHaiRequestApiComponent.java

@@ -128,7 +128,8 @@ public class BoHaiRequestApiComponent {
         if (ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
             return response;
         }
-        throw new SystemException(response.getResponseMsg());
+       // throw new SystemException(response.getResponseMsg());
+        return response;
     }
 
     /**

+ 1 - 0
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/BoHaiBaseRequest.java

@@ -24,6 +24,7 @@ public class BoHaiBaseRequest implements Serializable {
         if (ObjectUtils.isEmpty(this.baseParam)) {
             baseParam = new BaseParamDTO();
         }
+
         baseParam.requestNo = UUID.randomUUID().toString().replace("-", "");
         baseParam.requestTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
         baseParam.ip = "118.81.124.183";

+ 2 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/QuotationRequest.java

@@ -208,7 +208,8 @@ public class QuotationRequest extends BoHaiBaseRequest {
                 else if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getPassenger(), kindCode) >= 0) {
                     int quantity = StringUtils.toInt(carInfo.getSeatCount()) - 1;
                     coveragesDTO.extendInfos.put("seat", String.valueOf(quantity));
-                    coveragesDTO.setSumInsurd(String.valueOf(kindInfoVo.getUnitAmount()));
+                    double v = quantity * kindInfoVo.getUnitAmount();
+                    coveragesDTO.setSumInsurd(String.valueOf(v));
                 }
                 // 绝对免赔
                 else if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getAbsoluteDeductible(), kindCode) >= 0) {

+ 6 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/VehicleTypeQueryRequest.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.bohai.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -50,6 +49,12 @@ public class VehicleTypeQueryRequest extends BoHaiBaseRequest {
     @JsonProperty("newVehicleFlag")
     private String newVehicleFlag;
 
+    /**
+      * add by hxl  2024-04-03  添加行业车型编码
+     */
+    @JsonProperty("modelCode")
+    private String modelCode;
+
     public VehicleTypeQueryRequest(BoHaiConfigureParameters parameters, String vehicleBrandModelKey, String orderNo) {
         this.setBaseParam(parameters, orderNo);
         this.vehicleBrandModelKey = vehicleBrandModelKey;

+ 72 - 30
src/main/java/com/ydtech/modules/order/service/impl/BoHaiOrderApiServiceImpl.java

@@ -30,6 +30,7 @@ import com.ydtech.modules.order.service.BoHaiOrderApiService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsTaskImagesService;
+import com.ydtech.modules.order.utils.StringSubStringUtils;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import com.ydtech.utils.CalculateUtils;
@@ -38,9 +39,7 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -108,13 +107,55 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         GenerateOrderNoResponse generateOrderNoResponse = boHaiRequestApiComponent.generateOrderNo(generateOrderNoRequest,
                 parameters.getSysSourceCode());
         String orderNo = generateOrderNoResponse.getData().getOrderNo();
-
-        // 2 车型查询接口
         CarInfoVo carInfo = quoteInfoVo.getCarInfo();
         VehicleTypeQueryRequest vehicleTypeQueryRequest = new VehicleTypeQueryRequest(parameters, carInfo.getModelcname(), orderNo);
+        //add by hxl   2024-04-03   调用车辆型号查询
+        // 调用 车辆查询和车辆确认接口
+        VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO = new VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO();
+        Map<String, Object> map = getVehicleConfirmationResponse(quoteInfoVo, parameters, carInfo, orderNo, vehicleTypeQueryRequest);
+        //调用车型号查询可能会出现多条数据,导致车辆确认报错  ESB车型及纯风险保费查询服务返回错误信息_选择车辆的行业车型编码(BBWABBUA0005)在平台不存在!请使用正确的行业车型编码(BBWABBUB0007)"
+        //通过报错信息截取出正确的行业车型编
+        vehicleModelsDTO = (VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO) map.get("vehicleModelsDTO");
+        VehicleConfirmationResponse vehicleConfirmationResponse = (VehicleConfirmationResponse) map.get("vehicleConfirmationResponse");
+        if (ResponseCode.R_Z00004.getCode().equals(vehicleConfirmationResponse.getResponseCode())) {
+            String responseMsg = vehicleConfirmationResponse.getResponseMsg();
+            if (responseMsg.contains("行业车型编码")) {
+                String modelCode = StringSubStringUtils.extractLastParenthesesContent(responseMsg);
+                //清空车辆型号  添加行业车型编码确定唯一车型
+                vehicleTypeQueryRequest.setVehicleBrandModelKey(null);
+                vehicleTypeQueryRequest.setModelCode(modelCode);
+                // 重新调用 车辆查询和车辆确认接口
+                Map<String, Object> map_two = getVehicleConfirmationResponse(quoteInfoVo, parameters, carInfo, orderNo,
+                        vehicleTypeQueryRequest);
+                vehicleModelsDTO = (VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO) map_two.get("vehicleModelsDTO");
+                vehicleConfirmationResponse = (VehicleConfirmationResponse) map_two.get("vehicleConfirmationResponse");
+            }
+        }
+
+        // 车辆实际价值
+        String currentValue = vehicleConfirmationResponse.getData().getVehicleModels().get(0).getCurrentValue();
+
+        // 4. 报价接口
+        QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
+                currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
+        QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
+        List<BoHaiQuoteAccidentVo> accidentalDrivingVo = quoteVo.getAccidentalDrivingVo();
+
+        return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
+    }
+
+    /**
+     * @version 调用车型查询和车辆确认
+     * @author: hxl
+     * @Date: 2024/4/3 16:03
+     * @Description:
+     */
+    public Map<String, Object> getVehicleConfirmationResponse(BaseQuoteInfoVo quoteInfoVo, BoHaiConfigureParameters parameters,
+                                                              CarInfoVo carInfo, String orderNo,
+                                                              VehicleTypeQueryRequest vehicleTypeQueryRequest) throws Exception {
+        // 2 车型查询接口
         VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO =
                 boHaiRequestApiComponent.vehicleTypeQuery(vehicleTypeQueryRequest, parameters.getSysSourceCode(), carInfo);
-
         // 3 车辆确认接口
         // 车主信息
         CustomerInfoVo ownerInfo = quoteInfoVo.getOwnerInfo();
@@ -130,18 +171,13 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
                 orderNo, ownerInfoArea, insuredPersonArea, policyHolderArea);
         VehicleConfirmationResponse vehicleConfirmationResponse = boHaiRequestApiComponent.vehicleConfirmation(vehicleConfirmationReqeust
                 , parameters.getSysSourceCode());
-        // 车辆实际价值
-        String currentValue = vehicleConfirmationResponse.getData().getVehicleModels().get(0).getCurrentValue();
-
-        // 4. 报价接口
-        QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
-                currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
-        QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
-        List<BoHaiQuoteAccidentVo> accidentalDrivingVo = quoteVo.getAccidentalDrivingVo();
-
-        return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
+        Map<String, Object> map = new HashMap<>();
+        map.put("vehicleModelsDTO", vehicleModelsDTO);
+        map.put("vehicleConfirmationResponse", vehicleConfirmationResponse);
+        return map;
     }
 
+
     @Override
     public HttpResult<Object> submitImage(String subOrderNo) throws Exception {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(subOrderNo);
@@ -412,14 +448,16 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         QuoteRespVo quoteRespVo = new QuoteRespVo();
         // 交强险
         QuotationResponse.DataDTO.TrafficPolicyDTO trafficPolicy = response.getData().getTrafficPolicy();
+
         if (!ObjectUtils.isEmpty(trafficPolicy)) {
             sumPayTax = Double.parseDouble(trafficPolicy.getVehicleTax().getTotalAmount());
             jqPremium = Double.parseDouble(trafficPolicy.getPremium());
             quoteRespVo.setJqApplyNo(trafficPolicy.getApplicationNo());
+            // 交强
+            quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
+            quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
         }
-        // 交强
-        quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
-        quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
+
         // 商业险
         QuotationResponse.DataDTO.BusinessPolicyDTO businessPolicy = response.getData().getBusinessPolicy();
         List<QuoteKindRespVo> kindList1 = new ArrayList<>();
@@ -496,25 +534,29 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         insAreaCompany.setInsOrderNo(busUniqueId);
         // 驾意险
         insAreaCompany.setAccidentInfo(JSON.parseArray(JSON.toJSONString(accidentalDrivingVo)));
+
         // 车船税
-        QuotationResponse.DataDTO.TrafficPolicyDTO.VehicleTaxDTO vehicleTax = response.getData().getTrafficPolicy().getVehicleTax();
-        TaxArrears taxArrears = new TaxArrears("往年欠税", Double.parseDouble(vehicleTax.getOverdueTaxAmount()),
-                Double.parseDouble(vehicleTax.getLateFee()));
+        TaxArrears taxArrears = Optional.ofNullable(response.getData().getTrafficPolicy())
+                .map(QuotationResponse.DataDTO.TrafficPolicyDTO::getVehicleTax)
+                .map(x -> new TaxArrears("往年欠税", Double.parseDouble(x.getOverdueTaxAmount()),
+                        Double.parseDouble(x.getLateFee())))
+                .orElse(new TaxArrears());
+
         List<TaxArrears> taxArrearsList = Collections.singletonList(taxArrears);
         insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(taxArrearsList)));
         insAreaCompanyService.insertCompanyAndOrders(insAreaCompany);
         quoteRespVo.setCompanyId(orderId);
         return HttpResult.ok("报价成功", quoteRespVo);
     }
+
     /**
-    * @Description  更新承保状态和支付时间
-    * @Author  hxl
-    * @Date   2024/4/2 11:29
-    * @Param
-    * @Return
-    * @Exception
-    *
-    */
+     * @Description 更新承保状态和支付时间
+     * @Author hxl
+     * @Date 2024/4/2 11:29
+     * @Param
+     * @Return
+     * @Exception
+     */
     @Override
     public void getOrderDetailNew(String subOrderNo) throws Exception {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(subOrderNo);

+ 23 - 0
src/main/java/com/ydtech/modules/order/utils/StringSubStringUtils.java

@@ -0,0 +1,23 @@
+package com.ydtech.modules.order.utils;
+/**
+ *  @version  截取字符串括号的内容用于渤海提取错误信息中的内容
+ *  @author: hxl
+ *  @Date: 2024/4/3 16:17
+ *  @Description:
+ */
+public class StringSubStringUtils {
+    public static void main(String[] args) {
+        String input = "ESB车型及纯风险保费查询服务返回错误信息_选择车辆的行业车型编码(BBWABBUA0005)在平台不存在!请使用正确的行业车型编码(BBWABBUB0007)";
+        String result = extractLastParenthesesContent(input);
+        System.out.println(result);
+    }
+
+    public static String extractLastParenthesesContent(String str) {
+        int startIndex = str.lastIndexOf("(");
+        int endIndex = str.lastIndexOf(")");
+        if (startIndex != -1 && endIndex != -1 && startIndex < endIndex) {
+            return str.substring(startIndex + 1, endIndex);
+        }
+        return "";
+    }
+}

+ 70 - 0
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -172,6 +172,60 @@
     </select>
 
 
+    <select id="findBackUserList" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
+        SELECT
+        su.id as userId,
+        su.name,
+        info.sex,
+        su.mobile,
+        su.status,
+        sd.id as deptId,
+        sd.name as deptName,
+        t4.id as roleId,
+        t4.name as roleName,
+        sd.management_source,
+        psd.id as pDeptId,
+        psd.name as pDeptName
+        FROM
+        sys_user su
+        LEFT JOIN sys_user_info info ON info.id = su.id
+        LEFT JOIN sys_dept sd ON su.dept_id = sd.id
+        left join sys_dept psd on psd.id = sd.parent_id
+        LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
+        LEFT JOIN sys_role t4 ON t3.role_id = t4.id
+        AND sd.del_flag = '0'
+        WHERE
+        1=1
+        <if test='user !=null  '>
+            <if test='user.status !=null and user.status!="" '>
+                and su.status = #{user.status}
+            </if>
+            <if test='user.name !=null and user.name!="" '>
+                and su.name like concat('%',#{user.name},'%')
+            </if>
+            <if test='user.userId !=null and user.userId!="" '>
+                and su.id = #{user.userId}
+            </if>
+            <if test='user.mobile !=null and user.mobile!=""  '>
+                and su.mobile = #{user.mobile}
+            </if>
+            <if test='user.deptId !=null and user.deptId!=""  '>
+                and su.dept_id like concat('%',#{user.deptId},'%')
+            </if>
+            <if test='user.roleId !=null and user.roleId!=""  '>
+                and t3.role_id in (${user.roleId})
+            </if>
+            <if test="user.agentFlag !=null and user.agentFlag != 0 ">
+                and sd.management_source = #{user.agentFlag}
+            </if>
+            <if test="user.agentFlag != null and user.agentFlag == 0">
+                and sd.management_source is null
+            </if>
+            and su.id NOT LIKE '%M%'
+        </if>
+    </select>
+
+
 
     <resultMap id="QuTeamNumMap" type="com.ydtech.modules.admin.model.QuTeamNum">
         <id column="id" javaType="String" jdbcType="VARCHAR"  property="deptId"/>
@@ -309,4 +363,20 @@
             and su.name like concat(#{quTeamNumDto.userName},'%')
         </if>
     </select>
+
+    <select id="findListByDeptId" resultType="com.ydtech.modules.admin.model.vo.SysUserVO">
+        SELECT
+        su.id,
+        su.name
+        FROM
+        sys_user su
+        WHERE
+        su.status = 1
+        <if test="sysUser.deptId != null and sysUser.deptId != ''">
+            and su.dept_id = #{sysUser.deptId}
+        </if>
+        <if test="sysUser.id != null and sysUser.id != ''">
+            and su.id != #{sysUser.id}
+        </if>
+    </select>
 </mapper>