浏览代码

Merge branch 'huangyuan-user' of lift-manager/lift-server into develop

huangyuan 5 年之前
父节点
当前提交
942d8912f9

+ 61 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/framework/aspect/GlobalDefaultExceptionHandler.java

@@ -0,0 +1,61 @@
+package cn.com.ty.lift.system.framework.aspect;
+
+import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.xwy.boot.web.dto.RestResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @author wcz
+ * @date 2019/12/10
+ * @description 全局异常捕获处理
+ */
+@Slf4j
+@RestController
+@ControllerAdvice
+public class GlobalDefaultExceptionHandler {
+
+    @ExceptionHandler(value = ExceptionInInitializerError.class)
+    @ResponseStatus(value = HttpStatus.BAD_REQUEST)
+    public Object badRequest() {
+        return RestResponse.exception("Bad Request");
+    }
+
+    @ExceptionHandler(value = Exception.class)
+    public Object defaultErrorHandler(final HttpServletRequest req, final HttpServletResponse resp, final Exception error) throws Exception {
+        // 原始错误集合数据偏多,包含native错误
+        final StackTraceElement[] stackTrace = error.getStackTrace();
+        // 过滤错误信息
+        final List<StackTraceElement> filters = new LinkedList<>();
+        for (StackTraceElement st : stackTrace)
+            if (st.getClassName().contains("cn.com.ty.lift.business") && st.getFileName().contains(".java")) filters.add(st);
+
+        final StackTraceElement[] dwStackTrace = new StackTraceElement[filters.size()];
+        // 计数器
+        Integer i = 0;
+        for (StackTraceElement filter : filters) {
+            dwStackTrace[i++] = filter;
+        }
+        // 填充StackTrace
+        error.setStackTrace(dwStackTrace);
+        LinkedHashMap<String, Object> errorMap = new LinkedHashMap<>();
+        errorMap.put("url", req.getRequestURI());
+        errorMap.put("status", resp.getStatus());
+        errorMap.put("message", error);
+        log.error(">>>>> GlobalDefaultException:{}, {}",errorMap,error);
+        if (error instanceof Exception) {
+            return RestResponse.fail(ApiConstants.RESULT_EXCEPTION, "操作异常,请重试");
+        }
+        return RestResponse.exception();
+    }
+}

+ 1 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/entity/model/MaintenanceCompanyRequest.java

@@ -9,6 +9,7 @@ import lombok.Data;
  */
 @Data
 public class MaintenanceCompanyRequest {
+    private Long id;//公司申请信息id
     private Long companyId;//公司id
     private String companyName;//公司名称
     private String telephone;//联系电话

+ 9 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MaintenanceCompanyServiceImpl.java

@@ -4,9 +4,11 @@ import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
+import cn.com.ty.lift.system.settings.dao.entity.MtCompanyAttestation;
 import cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest;
 import cn.com.ty.lift.system.settings.dao.mapper.MaintenanceCompanyMapper;
 import cn.com.ty.lift.system.settings.service.IMaintenanceCompanyService;
+import cn.com.ty.lift.system.settings.service.IMtCompanyAttestationService;
 import cn.com.ty.lift.system.user.dao.entity.MtCompanyUser;
 import cn.com.ty.lift.system.user.dao.entity.Role;
 import cn.com.ty.lift.system.user.dao.entity.UserAccount;
@@ -52,6 +54,9 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
     @Autowired
     private IMtCompanyUserService mtCompanyUserService;
 
+    @Autowired
+    private IMtCompanyAttestationService mtCompanyAttestationService;
+
     @Override
     public RestResponse list(MaintenanceCompanyRequest maintenanceCompanyRequest) {
         IPage<MaintenanceCompany> maintenanceCompanyPage = new Page<>(
@@ -114,7 +119,10 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
     @Override
     @Transactional
     public RestResponse updateMaintenanceCompany(MaintenanceCompanyRequest maintenanceCompanyRequest) {
-        Long companyId = maintenanceCompanyRequest.getCompanyId();
+        //获取申请消息
+        MtCompanyAttestation mtCompanyAttestation = mtCompanyAttestationService.getById(maintenanceCompanyRequest.getId());
+        //获取公司id
+        Long companyId = mtCompanyAttestation.getMtCompanyId();
         MaintenanceCompany maintenanceCompany = this.getById(companyId);
         //更新vip标识
         maintenanceCompany.setVipFlag(maintenanceCompanyRequest.getVipFlag());

+ 5 - 7
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MtCompanyAttestationServiceImpl.java

@@ -91,7 +91,7 @@ public class MtCompanyAttestationServiceImpl extends ServiceImpl<MtCompanyAttest
 
         //获取公司信息,将公司信息设置为审核中状态
         MaintenanceCompany maintenanceCompany = maintenanceCompanyService.getById(companyAttestationRequest.getMtCompanyId());
-        if(maintenanceCompany == null){
+        if (maintenanceCompany == null) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "团队不存在不能发起认证");
         }
         maintenanceCompany.setIsCertificated(ApiConstants.CompanyConstants.MAINTENANCE_WAIT_CERTIFICATE);
@@ -135,7 +135,7 @@ public class MtCompanyAttestationServiceImpl extends ServiceImpl<MtCompanyAttest
         MtCompanyAttestation mtCompanyAttestation = this.getById(companyAttestationRequest.getId());
         //认证处理
         MaintenanceCompany maintenanceCompany = auditHandle(mtCompanyAttestation, companyAttestationRequest,
-                ApiConstants.CompanyConstants.MAINTENANCE_PASS);
+                ApiConstants.CompanyConstants.MAINTENANCE_FAIL);
         this.updateById(mtCompanyAttestation);
         maintenanceCompanyService.updateById(maintenanceCompany);
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "操作成功");
@@ -174,12 +174,10 @@ public class MtCompanyAttestationServiceImpl extends ServiceImpl<MtCompanyAttest
                 .eq(currentUserId != null, "customer_manager_id", currentUserId)
                 //通过审核状态筛选申请信息
                 .eq("is_certificated", companyAttestationRequest.getIsCertificated())
-                .and(i -> i
-                        .like(StringUtils.isNotBlank(companyAttestationRequest.getQueryCondition()), "contacts_name",
-                                companyAttestationRequest.getQueryCondition())
+                .and(StringUtils.isNotBlank(companyAttestationRequest.getQueryCondition()), i -> i
+                        .like("contacts_name", companyAttestationRequest.getQueryCondition())
                         .or()
-                        .like(StringUtils.isNotBlank(companyAttestationRequest.getQueryCondition()), "contacts_tel",
-                                companyAttestationRequest.getQueryCondition())
+                        .like("contacts_tel", companyAttestationRequest.getQueryCondition())
                 )
         );
         List<CompanyAttestationResponse> companyAttestationResponseList = new ArrayList<>();

+ 12 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -2,6 +2,8 @@ package cn.com.ty.lift.system.user.service.impl;
 
 import cn.com.ty.lift.common.aliservice.constants.AliConstants;
 import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
+import cn.com.ty.lift.system.settings.service.IMaintenanceCompanyService;
 import cn.com.ty.lift.system.user.dao.entity.Menu;
 import cn.com.ty.lift.system.user.dao.entity.Role;
 import cn.com.ty.lift.system.user.dao.entity.UserAccount;
@@ -52,6 +54,9 @@ public class LoginService implements ILoginService {
     @Autowired
     private IRoleMenuService roleMenuService;
 
+    @Autowired
+    private IMaintenanceCompanyService maintenanceCompanyService;
+
     @Override
     public RestResponse register(HttpServletRequest request, UserRequest userRequest) {
         //判断手机号是否为空
@@ -135,6 +140,13 @@ public class LoginService implements ILoginService {
     public RestResponse changeTeam(HttpServletRequest request, UserRequest userRequest) {
         Long companyId = userRequest.getCompanyId();
         UserResponse userResponse = new UserResponse();
+        //校验团队信息
+        MaintenanceCompany maintenanceCompany = maintenanceCompanyService.getById(companyId);
+        if(maintenanceCompany == null){
+            return RestResponse.success(ApiConstants.RESULT_SUCCESS, "切换团队不存在");
+        }
+        maintenanceCompany.setCurrentTeamFlag(true);
+        userResponse.setMaintenanceCompany(maintenanceCompany);
         UserRole userRole = userRoleService.getOne(new QueryWrapper<UserRole>()
                 .eq("company_id", companyId)
                 .eq("user_id", userRequest.getUserId())