Przeglądaj źródła

Merge branch 'dev_jzg_lipf_v20260506'

lipf 4 miesięcy temu
rodzic
commit
bae091c24e
18 zmienionych plików z 118 dodań i 23 usunięć
  1. 4 0
      authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java
  2. 10 1
      commons/src/main/java/com/jzg/commons/entity/finance/po/InsPlyIncome.java
  3. 3 0
      commons/src/main/java/com/jzg/commons/entity/vo/SysUserSelectVo.java
  4. 4 6
      platform/src/main/java/com/jzg/controller/SysMenuController.java
  5. 9 0
      platform/src/main/java/com/jzg/mapper/SysRolePermsMapper.java
  6. 8 0
      platform/src/main/java/com/jzg/service/SysMenuService.java
  7. 23 1
      platform/src/main/java/com/jzg/service/impl/SysMenuServiceImpl.java
  8. 1 1
      platform/src/main/java/com/jzg/service/impl/UserRoleServiceImpl.java
  9. 5 0
      platform/src/main/resources/mapper/SysRolePermsMapper.xml
  10. 1 1
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/HomepageDataController.java
  11. 1 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java
  12. 12 8
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml
  13. 1 1
      tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java
  14. 1 1
      tenant/organization/src/main/java/com/jzg/organization/controller/UserController.java
  15. 1 1
      tenant/organization/src/main/java/com/jzg/organization/service/SysUserService.java
  16. 32 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java
  17. 1 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java
  18. 1 0
      tenant/organization/src/main/resources/mapper/SysUserMapper.xml

+ 4 - 0
authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java

@@ -266,6 +266,10 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
                 sysUserJzgAppMapper.updateById(jzgUserApp);
             }else if(!system.equals(SystemConstants.SYSTEM_PLATFORM.getCode())){
                 SysUserJzgVo jzgUserInfo = sysUserService.getJzgUserInfo(weblogUser.getId(),system);
+                log.info("租户[{}]下用户[{}]不存在",system,weblogUser.getId());
+                if(jzgUserInfo == null){
+                    throw new SystemException("租户下用户不存在");
+                }
                 name = jzgUserInfo.getName();
                 workNumber = jzgUserInfo.getWorkNumber();
                 province = jzgUserInfo.getProvince();

+ 10 - 1
commons/src/main/java/com/jzg/commons/entity/finance/po/InsPlyIncome.java

@@ -4,10 +4,16 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.jzg.commons.core.base.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
+import java.io.Serial;
+
+@EqualsAndHashCode(callSuper = true)
 @Data
 @Schema(description = "财务应收表")
 public class InsPlyIncome  extends BaseModel {
+    @Serial
+    private static final long serialVersionUID = 6161862008963938376L;
     private String id;
 
     @Schema(description = "订单号")
@@ -162,9 +168,12 @@ public class InsPlyIncome  extends BaseModel {
     @Schema(description = "业务来源")
     private String businessSource;
 
-    @Schema(description = "结算状态")
+    @Schema(description = "结算状态(编码)")
     private String settlementStatus;
 
+    @Schema(description = "结算状态(转义后)")
+    private String settlementStatusName;
+
     @Schema(description = "增加类型")
     private String addType;
 

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysUserSelectVo.java

@@ -23,4 +23,7 @@ public class SysUserSelectVo {
 
     @Schema(description = "用户工号")
     private String workNumber;
+
+    @Schema(description = "部门序号")
+    private String deptId;
 }

+ 4 - 6
platform/src/main/java/com/jzg/controller/SysMenuController.java

@@ -16,7 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * 菜单控制器
@@ -47,11 +46,10 @@ public class SysMenuController extends BaseController {
         }
     }
 
-
-    @PostMapping(value = "/delete")
-    public HttpResult delete(@RequestBody List<SysMenu> records) {
-        List<String> ids = records.stream().map(SysMenu::getId).collect(Collectors.toList());
-        return HttpResult.ok(sysMenuService.removeBatchByIds(ids));
+    @DeleteMapping(value = "/delete/{id}")
+    public HttpResult<Boolean> delete(@PathVariable("id") String id) {
+        log.info("菜单删除:id=[{}]",id);
+        return HttpResult.ok(sysMenuService.deleteMenuById(id));
     }
 
 

+ 9 - 0
platform/src/main/java/com/jzg/mapper/SysRolePermsMapper.java

@@ -18,4 +18,13 @@ public interface SysRolePermsMapper extends BaseMapper<SysRolePerms> {
     List<SysRolePerms> getByRoleId(@Param("id") String id);
 
     List<SysRolePerms> getByRoleIdNew(@Param("roleId") String roleId);
+
+    /**
+     * 根据菜单序号删除菜单和角色的对应关系
+     *
+     * @param menuId 菜单序号
+     * @author lipf
+     * @date 2026/5/11 16:39
+     */
+    void deleteByMenuId(String menuId);
 }

+ 8 - 0
platform/src/main/java/com/jzg/service/SysMenuService.java

@@ -49,6 +49,14 @@ public interface SysMenuService extends IService<SysMenu> {
      * @return
      */
     List<SysCommonFunctionDto> getCommonFunction(String systemCode, String userId);
+
+    /**
+     * 删除菜单
+     *
+     * @author lipf
+     * @date 2026/5/11 16:34
+     */
+    boolean deleteMenuById(String menuId);
 }
 
 

+ 23 - 1
platform/src/main/java/com/jzg/service/impl/SysMenuServiceImpl.java

@@ -12,6 +12,7 @@ import com.jzg.commons.entity.po.SysUserRole;
 import com.jzg.commons.entity.vo.SystemMenuVo;
 import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.mapper.SysMenuMapper;
+import com.jzg.mapper.SysRolePermsMapper;
 import com.jzg.mapper.SysSystemMenuMapper;
 import com.jzg.mapper.SysUserRoleMapper;
 import com.jzg.service.SysMenuService;
@@ -44,6 +45,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
 
     private final BaseController baseController;
 
+    private final SysRolePermsMapper sysRolePermsMapper;
+
 
     /**
      * 查询菜单的树形结构(基于租户的)
@@ -76,13 +79,14 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
 
     @Override
     public List<SysMenu> getRoleMenuTree(String systemCode, String userId) {
+        log.info("查询租户下的用户拥有的菜单权限。systemCode=[{}], userId=[{}] ", systemCode, userId);
         List<SysUserRole> sysUserRole = sysUserRoleMapper.selectByUserIdAndSysCodeOne(userId,systemCode);
         // modify by lipf ,2026年4月3日08:52:05, 解决NPE 异常
         if(sysUserRole == null || sysUserRole.isEmpty()){
             log.info("租户[{}]下的用户[{}]角色为空",systemCode, userId);
             return Collections.emptyList();
         }
-        List<SysMenu> menus = this.getMenuByRoleId(sysUserRole.stream().map(x->x.getRoleId()).toList());
+        List<SysMenu> menus = this.getMenuByRoleId(sysUserRole.stream().map(SysUserRole::getRoleId).toList());
         List<SysMenu> sysMenus = new ArrayList<>();
         for (SysMenu menu : menus) {
             if (menu.getParentId() == null || menu.getParentId().equalsIgnoreCase("0")) {
@@ -187,6 +191,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
         }
         List<SysMenu> menuByRoleId = sysMenuMapper.getMenuByRoleId(roleIds);
         List<SysMenu> distinctMenuList = menuByRoleId.stream()
+                // modify by lipf, 2026年5月11日16:32:31 提高代码健壮性
+                .filter(action-> action.getId() != null)
                 .collect(Collectors.toMap(
                         SysMenu::getId,
                         Function.identity(),
@@ -195,6 +201,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
                 .values()
                 .stream()
                 .toList();
+        log.info("根据角色序号查询有权限的菜单: roleIds=[{}]distinctMenuList=[{}]", JSONUtil.toJsonStr(roleIds), JSONUtil.toJsonStr(distinctMenuList));
         return distinctMenuList;
     }
 
@@ -252,6 +259,21 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
     public List<SysCommonFunctionDto> getCommonFunction(String systemCode, String userId) {
         return this.baseMapper.getCommonFunction(systemCode, userId);
     }
+
+    /**
+     * 删除菜单
+     *  删除菜单的时候,将菜单和角色的对应关系也删除
+     *
+     * @param menuId 菜单序号
+     * @author lipf
+     * @date 2026/5/11 16:34
+     */
+    @Override
+    public boolean deleteMenuById(String menuId) {
+        log.info("根据序号删除对应的菜单信息:menuId=[{}]", menuId);
+        sysRolePermsMapper.deleteByMenuId(menuId);
+        return this.removeById(menuId);
+    }
 }
 
 

+ 1 - 1
platform/src/main/java/com/jzg/service/impl/UserRoleServiceImpl.java

@@ -54,8 +54,8 @@ public class UserRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> imp
 
     @Override
     public SysRoleVo roleGet(String roleId) {
-        log.info("查询角色的权限: roleId=[{}]",roleId);
         String userSystemCode = baseController.getUserSystemCode();
+        log.info("查询角色的权限: roleId=[{}],userSystemCode=[{}]",roleId, userSystemCode);
         SysRole sysRole = baseMapper.selectOne(new LambdaQueryWrapper<SysRole>()
                 .eq(SysRole::getId,roleId)
                 .eq(SysRole::getSystemCode,userSystemCode));

+ 5 - 0
platform/src/main/resources/mapper/SysRolePermsMapper.xml

@@ -2,6 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.jzg.mapper.SysRolePermsMapper">
 
+    <!--根据菜单序号删除菜单和角色的对应关系 2026年5月11日16:41:08 lipf -->
+    <delete id="deleteByMenuId">
+        delete  from sys_role_perms srp where srp.perms_id = #{menuId}
+    </delete>
+
     <select id="getByRoleId" resultType="com.jzg.commons.entity.po.SysRolePerms">
         select id, role_id as roleId, perms_id as permsId, perms
         from sys_role_perms

+ 1 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/HomepageDataController.java

@@ -36,7 +36,7 @@ public class HomepageDataController extends BaseController  {
     public HttpResult<List<BusinessDistributionVo>> getBusinessDistribution(@RequestParam(value = "province") String province) {
         String userId = getUserId();
         String systemCode = getSystemCode();
-        List<BusinessDistributionVo> businessDistributionVos = insOrdersService.getBusinessDistribution(userId, systemCode, province);
+        List<BusinessDistributionVo> businessDistributionVos = insOrdersService.getBusinessDistribution(province,userId, systemCode);
         return HttpResult.ok(businessDistributionVos);
     }
 

+ 1 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -1575,6 +1575,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     @Override
     public List<BusinessDistributionVo> getBusinessDistribution(String province, String userId, String systemCode) {
+        log.info("查询地区:province=[{}],userId=[{}],systemCode=[{}]", province, userId, systemCode);
         if (!StringUtils.hasText(province)) {
             return this.baseMapper.getCityBusinessDistribution( userId,  systemCode);
         }

+ 12 - 8
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -1443,14 +1443,18 @@
         FROM sys_user_jzg_info u
                  LEFT JOIN sys_dept d on u.dept_id = d.id
                  LEFT JOIN sys_area a ON d.city = a.area_code
-        where d.province = #{province}
-          AND u.user_id in (select distinct suji.user_id
-                            from sys_user_jzg_info suji
-                                     left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
-                                     left join sys_user_role sur on sur.role_id = srdsl.role_id
-                            where sur.user_id = #{userId}
-                              and suji.system_code = #{systemCode}
-                            UNION ALL select #{userId} as user_id )
+        <where>
+            <if test="province != null and province != ''">
+                and d.province = #{province}
+            </if>
+            AND u.user_id in (select distinct suji.user_id
+            from sys_user_jzg_info suji
+            left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
+            left join sys_user_role sur on sur.role_id = srdsl.role_id
+            where sur.user_id = #{userId}
+            and suji.system_code = #{systemCode}
+            UNION ALL select #{userId} as user_id )
+        </where>
         GROUP BY a.area_code, a.area_cname
         ORDER BY total_salesman_count DESC
     </select>

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -206,7 +206,7 @@ public class ReceivableController {
 
     @PostMapping("/getPlatFormReceivableList")
     @Operation(summary = "获取平台协议列表")
-    public HttpResult getPlatFormReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
+    public HttpResult<Page<InsPlyIncome>> getPlatFormReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
         if (StrUtil.isBlank(receivableQueryVo.getQueryType())){
             receivableQueryVo.setQueryType("1");
         }

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/UserController.java

@@ -78,7 +78,7 @@ public class UserController extends BaseController {
 
     @Operation(summary = "获取人员列表接口", description = "获取人员列表接口")
     @PostMapping(value = "/getUser")
-    public HttpResult getUser(@RequestBody SysUserInfoListVo sysUserInfoListVo) {
+    public HttpResult<List<SysUserSelectVo>> getUser(@RequestBody SysUserInfoListVo sysUserInfoListVo) {
         return sysUserService.getUserSelect(sysUserInfoListVo);
     }
 

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/service/SysUserService.java

@@ -38,7 +38,7 @@ public interface SysUserService extends IService<SysUser> {
      * @author lipf
      * @date 2026/4/24 15:56
      */
-    HttpResult getUserSelect(SysUserInfoListVo sysUserInfoListVo);
+    HttpResult<List<SysUserSelectVo>> getUserSelect(SysUserInfoListVo sysUserInfoListVo);
 
     /**
      * 添加业务员

+ 32 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -171,7 +171,34 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     @Override
     public Page<InsPlyIncome> getReceivablePage(ReceivableQueryVo receivableQueryVo) {
         log.info("获取私有协议手续费列表。receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
-        return baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
+        Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
+        List<InsPlyIncome> records = page.getRecords();
+        records = this.fillOtherInfo(records);
+        page.setRecords(records);
+        return page;
+    }
+
+
+    /**
+     * 填充必要的字段
+     *      进行转移等操作
+     * @author lipf
+     * @date 2026/5/11 11:37
+     */
+    List<InsPlyIncome> fillOtherInfo(List<InsPlyIncome> records){
+        if(CollUtil.isNotEmpty(records)){
+            records.forEach(insPlyIncome -> {
+                if("0".equals(insPlyIncome.getSettlementStatus())){
+                    insPlyIncome.setSettlementStatusName("未结算");
+                }else if("1".equals(insPlyIncome.getSettlementStatus())){
+                    insPlyIncome.setSettlementStatusName("已结算");
+                }else{
+                    insPlyIncome.setSettlementStatusName(insPlyIncome.getSettlementStatus());
+                }
+            });
+
+        }
+        return records;
     }
 
     @Override
@@ -919,7 +946,11 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
     @Override
     public Page<InsPlyIncome> getPlatFormReceivableList(ReceivableQueryVo receivableQueryVo) {
+        log.info("获取平台协议列表. receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
+        List<InsPlyIncome> records = page.getRecords();
+        records = this.fillOtherInfo(records);
+        page.setRecords(records);
         return page;
     }
 

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -175,7 +175,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    public HttpResult getUserSelect(SysUserInfoListVo sysUserInfoListVo) {
+    public HttpResult<List<SysUserSelectVo>> getUserSelect(SysUserInfoListVo sysUserInfoListVo) {
         log.info("getUserSelect获取人员列表:sysUserInfoListVo=[{}]", JSONUtil.toJsonStr(sysUserInfoListVo));
         return HttpResult.ok(baseMapper.getUserSelect(sysUserInfoListVo));
     }

+ 1 - 0
tenant/organization/src/main/resources/mapper/SysUserMapper.xml

@@ -21,6 +21,7 @@
     <select id="getUserSelect" resultType="com.jzg.commons.entity.vo.SysUserSelectVo">
         SELECT
         suji.id,
+        suji.dept_id,
         su.id as userId,
         suji.name,
         su.mobile,