LIVE_YE hai 2 meses
pai
achega
b55b62a497

+ 62 - 33
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java

@@ -29,8 +29,10 @@ import org.dromara.common.tenant.core.TenantEntity;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.system.domain.*;
 import org.dromara.system.domain.bo.SysTenantBo;
+import org.dromara.system.domain.vo.SysRoleVo;
 import org.dromara.system.domain.vo.SysTenantVo;
 import org.dromara.system.mapper.*;
+import org.dromara.system.service.ISysRoleService;
 import org.dromara.system.service.ISysTenantService;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
@@ -39,6 +41,9 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 
+import static org.dromara.common.core.constant.Constants.Y;
+import static org.dromara.common.core.constant.TenantConstants.SUPER_ADMIN_ROLE_KEY;
+
 /**
  * 租户Service业务层处理
  *
@@ -54,6 +59,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
     private final SysUserMapper userMapper;
     private final SysDeptMapper deptMapper;
     private final SysRoleMapper roleMapper;
+    private final ISysRoleService sysRoleService;
     private final SysRoleMenuMapper roleMenuMapper;
     private final SysRoleDeptMapper roleDeptMapper;
     private final SysUserRoleMapper userRoleMapper;
@@ -61,6 +67,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
     private final SysDictDataMapper dictDataMapper;
     private final SysConfigMapper configMapper;
     private final SysUserTenantMapper sysUserTenantMapper;
+    private final SysMenuMapper sysMenuMapper;
 
     /**
      * 查询租户
@@ -138,7 +145,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
         bo.setId(add.getId());
 
         // 根据套餐创建角色
-        Long roleId = createTenantRole(tenantId, bo.getPackageId());
+        List<Long> roleIds = createTenantRole(tenantId, bo.getPackageId());
 
         // 创建部门: 公司名是部门名称
         SysDept dept = new SysDept();
@@ -150,10 +157,16 @@ public class SysTenantServiceImpl implements ISysTenantService {
         Long deptId = dept.getDeptId();
 
         // 角色和部门关联表
-        SysRoleDept roleDept = new SysRoleDept();
-        roleDept.setRoleId(roleId);
-        roleDept.setDeptId(deptId);
-        roleDeptMapper.insert(roleDept);
+
+        List<SysRoleDept> roleDepts = new ArrayList<>(roleIds.size());
+        roleIds.forEach(roleId -> {
+            SysRoleDept roleDept = new SysRoleDept();
+            roleDept.setRoleId(roleId);
+            roleDept.setDeptId(deptId);
+            roleDepts.add(roleDept);
+        });
+        roleDeptMapper.insertBatch(roleDepts);
+
 
         // 创建系统用户
         SysUser user = new SysUser();
@@ -163,6 +176,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
         user.setPassword(BCrypt.hashpw(bo.getPassword()));
         user.setDeptId(deptId);
         user.setPhonenumber(bo.getContactPhone());
+        user.setIsAuthentication(Y);
         userMapper.insert(user);
         //新增系统用户后,默认当前用户为部门的负责人
         SysDept sd = new SysDept();
@@ -171,14 +185,17 @@ public class SysTenantServiceImpl implements ISysTenantService {
         deptMapper.updateById(sd);
 
         // 用户和角色关联表
-        SysUserRole userRole = new SysUserRole();
-        userRole.setUserId(user.getUserId());
-        userRole.setRoleId(roleId);
-        userRole.setTenantId(tenantId);
-        userRoleMapper.insert(userRole);
-
+        List<SysUserRole> userRoles = new ArrayList<>(roleIds.size());
+        roleIds.forEach(roleId -> {
+            SysUserRole userRole = new SysUserRole();
+            userRole.setUserId(user.getUserId());
+            userRole.setRoleId(roleId);
+            userRole.setTenantId(tenantId);
+            userRoles.add(userRole);
+        });
+        userRoleMapper.insertBatch(userRoles);
 
-        // 用户和角色关联表
+        // 户和角色关联表
         SysUserTenant sysUserTenant = new SysUserTenant();
         sysUserTenant.setUserId(user.getUserId());
         sysUserTenant.setTenantId(tenantId);
@@ -255,36 +272,48 @@ public class SysTenantServiceImpl implements ISysTenantService {
      * @param packageId 租户套餐id
      * @return 角色id
      */
-    private Long createTenantRole(String tenantId, Long packageId) {
+    private List<Long> createTenantRole(String tenantId, Long packageId) {
         // 获取租户套餐
         SysTenantPackage tenantPackage = tenantPackageMapper.selectById(packageId);
         if (ObjectUtil.isNull(tenantPackage)) {
             throw new ServiceException("套餐不存在");
         }
         // 获取套餐菜单id
-        List<Long> menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong);
+        //List<Long> menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong);
 
         // 创建角色
-        SysRole role = new SysRole();
-        role.setTenantId(tenantId);
-        role.setRoleName(TenantConstants.TENANT_ADMIN_ROLE_NAME);
-        role.setRoleKey(TenantConstants.TENANT_ADMIN_ROLE_KEY);
-        role.setRoleSort(1);
-        role.setStatus(SystemConstants.NORMAL);
-        roleMapper.insert(role);
-        Long roleId = role.getRoleId();
-
-        // 创建角色菜单
-        List<SysRoleMenu> roleMenus = new ArrayList<>(menuIds.size());
-        menuIds.forEach(menuId -> {
-            SysRoleMenu roleMenu = new SysRoleMenu();
-            roleMenu.setRoleId(roleId);
-            roleMenu.setMenuId(menuId);
-            roleMenus.add(roleMenu);
-        });
-        roleMenuMapper.insertBatch(roleMenus);
+        //查询000000的角色
+        List<SysRoleVo> roleVos = sysRoleService.selectRoleAll();
+        List<Long> roleIds = new ArrayList<>();
+        for (SysRoleVo roleVo : roleVos) {
+            if(!SUPER_ADMIN_ROLE_KEY.equals(roleVo.getRoleKey())){
+                SysRole role = new SysRole();
+                role.setTenantId(tenantId);
+                role.setRoleName(TenantConstants.TENANT_ADMIN_ROLE_NAME);
+                role.setRoleKey(TenantConstants.TENANT_ADMIN_ROLE_KEY);
+                role.setRoleSort(1);
+                role.setStatus(SystemConstants.NORMAL);
+                roleMapper.insert(role);
+
+                Long roleId = role.getRoleId();
+                roleIds.add(roleId);
+
+                //查询角色的菜单
+                List<Long> menuIdList =sysMenuMapper.selectMenuListByRoleId(roleId,false);
+                    // 创建角色菜单
+                List<SysRoleMenu> roleMenus = new ArrayList<>(menuIdList.size());
+                menuIdList.forEach(menuId -> {
+                    SysRoleMenu roleMenu = new SysRoleMenu();
+                    roleMenu.setRoleId(roleId);
+                    roleMenu.setMenuId(menuId);
+                    roleMenus.add(roleMenu);
+                });
+                roleMenuMapper.insertBatch(roleMenus);
+            }
+        }
+
 
-        return roleId;
+        return roleIds;
     }
 
     /**

+ 2 - 2
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/asset/AssetTypeController.java

@@ -54,8 +54,8 @@ public class AssetTypeController extends BaseController {
      */
     @SaCheckPermission("wuYe:assetType:list")
     @GetMapping("/list")
-    public List<AssetTypeVo> list(AssetTypeBo bo) {
-        return assetTypeService.queryList(bo);
+    public R<List<AssetTypeVo>> list(AssetTypeBo bo) {
+        return R.ok(assetTypeService.queryList(bo));
     }
 
     /**

+ 3 - 4
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/houseInfo/PropertyFeeController.java

@@ -6,6 +6,7 @@ import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
+import org.dromara.common.core.domain.model.AjaxResult;
 import org.dromara.common.core.validate.AddGroup;
 import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.excel.utils.ExcelUtil;
@@ -21,9 +22,7 @@ import org.dromara.service.IPropertyFeeService;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.math.BigDecimal;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 物业费管理
@@ -112,7 +111,7 @@ public class PropertyFeeController extends BaseController {
     @SaCheckPermission("wuYe:fee:statistics")
     @Log(title = "物业费管理", businessType = BusinessType.DELETE)
     @GetMapping("/statistics")
-    public R<Map<String, BigDecimal>> statistics(@RequestBody PropertyFeeBo bo)
+    public AjaxResult statistics(PropertyFeeBo bo)
     {
         return propertyFeeService.statistics(bo);
     }
@@ -134,7 +133,7 @@ public class PropertyFeeController extends BaseController {
     @SaCheckPermission("wuYe:fee:callPaymentAll")
     @Log(title = "物业费管理", businessType = BusinessType.DELETE)
     @GetMapping("/callPaymentAll")
-    public R<Void> CallPaymentAll(@RequestBody PropertyFeeBo bo)
+    public R<Void> CallPaymentAll(PropertyFeeBo bo)
     {
         return propertyFeeService.CallPaymentAll(bo);
     }

+ 7 - 7
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/PropertyFee.java

@@ -1,12 +1,12 @@
 package org.dromara.domain.houseInfo;
 
-import org.dromara.common.tenant.core.TenantEntity;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
 
 import java.io.Serial;
-import java.math.BigDecimal;
 
 /**
  * 物业费管理对象 property_fee
@@ -86,22 +86,22 @@ public class PropertyFee extends TenantEntity {
     /**
      * 应缴物业费用
      */
-    private BigDecimal tenementExpense;
+    private String tenementExpense;
 
     /**
      * 应缴车位费用
      */
-    private BigDecimal parkingExpense;
+    private String parkingExpense;
 
     /**
      * 应缴能耗费用
      */
-    private BigDecimal energyExpense;
+    private String energyExpense;
 
     /**
      * 应缴总费用
      */
-    private BigDecimal totalExpense;
+    private String totalExpense;
 
     /**
      * 是否缴费,Y表示有,N表示无

+ 4 - 6
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/bo/PropertyFeeBo.java

@@ -9,8 +9,6 @@ import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.domain.houseInfo.PropertyFee;
 
-import java.math.BigDecimal;
-
 /**
  * 物业费管理业务对象 property_fee
  *
@@ -86,22 +84,22 @@ public class PropertyFeeBo extends BaseEntity {
     /**
      * 应缴物业费用
      */
-    private BigDecimal tenementExpense;
+    private String tenementExpense;
 
     /**
      * 应缴车位费用
      */
-    private BigDecimal parkingExpense;
+    private String parkingExpense;
 
     /**
      * 应缴能耗费用
      */
-    private BigDecimal energyExpense;
+    private String energyExpense;
 
     /**
      * 应缴总费用
      */
-    private BigDecimal totalExpense;
+    private String totalExpense;
 
     /**
      * 是否缴费,Y表示有,N表示无

+ 4 - 5
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/vo/PropertyFeeVo.java

@@ -8,7 +8,6 @@ import org.dromara.domain.houseInfo.PropertyFee;
 
 import java.io.Serial;
 import java.io.Serializable;
-import java.math.BigDecimal;
 
 
 /**
@@ -101,25 +100,25 @@ public class PropertyFeeVo implements Serializable {
      * 应缴物业费用
      */
     @ExcelProperty(value = "应缴物业费用")
-    private BigDecimal tenementExpense;
+    private String tenementExpense;
 
     /**
      * 应缴车位费用
      */
     @ExcelProperty(value = "应缴车位费用")
-    private BigDecimal parkingExpense;
+    private String parkingExpense;
 
     /**
      * 应缴能耗费用
      */
     @ExcelProperty(value = "应缴能耗费用")
-    private BigDecimal energyExpense;
+    private String energyExpense;
 
     /**
      * 应缴总费用
      */
     @ExcelProperty(value = "应缴总费用")
-    private BigDecimal totalExpense;
+    private String totalExpense;
 
     /**
      * 是否缴费,Y表示有,N表示无

+ 2 - 3
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/service/IPropertyFeeService.java

@@ -2,15 +2,14 @@ package org.dromara.service;
 
 
 import org.dromara.common.core.domain.R;
+import org.dromara.common.core.domain.model.AjaxResult;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.domain.houseInfo.bo.PropertyFeeBo;
 import org.dromara.domain.houseInfo.vo.PropertyFeeVo;
 
-import java.math.BigDecimal;
 import java.util.Collection;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 物业费管理Service接口
@@ -71,7 +70,7 @@ public interface IPropertyFeeService {
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
 
-    R<Map<String, BigDecimal>> statistics(PropertyFeeBo bo);
+    AjaxResult statistics(PropertyFeeBo bo);
 
     R<Void> CallPayment(Long houseId);
 

+ 10 - 9
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/service/impl/PropertyFeeServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
+import org.dromara.common.core.domain.model.AjaxResult;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
@@ -155,8 +156,8 @@ public class PropertyFeeServiceImpl implements IPropertyFeeService {
     }
 
     @Override
-    public R<Map<String, BigDecimal>> statistics(PropertyFeeBo bo) {
-        Map<String,BigDecimal> map = new HashMap<>();
+    public AjaxResult statistics(PropertyFeeBo bo) {
+        Map<String,Object> map = new HashMap<>();
         //物业费
         BigDecimal yjwyf = new BigDecimal("0.00");
         BigDecimal wjwyf = new BigDecimal("0.00");
@@ -178,13 +179,13 @@ public class PropertyFeeServiceImpl implements IPropertyFeeService {
         if(propertyFees!=null && propertyFees.size()>0){
             for (PropertyFeeVo fee : propertyFees) {
                 if("Y".equals(fee.getIsExpense())){
-                    yjwyf = yjwyf.add(fee.getTenementExpense());
-                    yjcwf = yjcwf.add(fee.getParkingExpense());
-                    yjnhf = yjnhf.add(fee.getEnergyExpense());
+                    yjwyf = yjwyf.add(new BigDecimal(fee.getTenementExpense()));
+                    yjcwf = yjcwf.add(new BigDecimal(fee.getParkingExpense()));
+                    yjnhf = yjnhf.add(new BigDecimal(fee.getEnergyExpense()));
                 }else{
-                    wjwyf = wjwyf.add(fee.getTenementExpense());
-                    wjcwf = wjcwf.add(fee.getParkingExpense());
-                    wjnhf = wjnhf.add(fee.getEnergyExpense());
+                    wjwyf = wjwyf.add(new BigDecimal(fee.getTenementExpense()));
+                    wjcwf = wjcwf.add(new BigDecimal(fee.getParkingExpense()));
+                    wjnhf = wjnhf.add(new BigDecimal(fee.getEnergyExpense()));
                 }
             }
         }
@@ -194,7 +195,7 @@ public class PropertyFeeServiceImpl implements IPropertyFeeService {
         map.put("wjcwf",wjcwf);
         map.put("yjnhf",yjnhf);
         map.put("wjnhf",wjnhf);
-        return R.ok(map);
+        return AjaxResult.success(map);
     }
 
     @Override