Quellcode durchsuchen

手动添加,删除权限

qzyReal vor 3 Jahren
Ursprung
Commit
0a8060942a

+ 1 - 1
sp-admin/sa-view/tb-invoice-info/tb-invoice-info-list.html

@@ -55,7 +55,7 @@
 					<sa-td name="发票号" prop="invoiceNo" width="150">
 						<template slot-scope="s">
 							<div>{{s.row.invoiceNo}}
-							<i @click="updateInvoiceNo(s.row)" class="el-icon-edit" v-if="s.row.status===1" style="cursor: pointer;padding-left: 10px;color: blue;"></i>
+							<i @click="updateInvoiceNo(s.row)" class="el-icon-edit" v-if="s.row.status===1&& currentCustomerId==1" style="cursor: pointer;padding-left: 10px;color: blue;"></i>
 							</div>
 						</template>
 					</sa-td>

+ 1 - 2
sp-admin/sa-view/tb-invoice-order/tb-invoice-order-list.html

@@ -75,12 +75,11 @@
                 </template>
             </el-table-column>
             <!--					<sa-td name="业务订单号" prop="businessNo" width="150" ></sa-td>-->
-
             <sa-td name="微信支付订单号" prop="transactionId" width="210px"></sa-td>
             <sa-td name="账单金额" prop="billMoney"></sa-td>
             <sa-td name="账单截图" prop="billImage" type="img"></sa-td>
             <sa-td name="开票状态" prop="status" type="enum" :jv="{0: '待申请', 1: '已申请', 2: '已开票'}"></sa-td>
-            <sa-td name="开票时间" prop="invoiceTime" width="100px"></sa-td>
+            <sa-td name="开票时间" prop="invoiceTime" width="140px"></sa-td>
             <sa-td name="开票信息" prop="infoNo" width="130"></sa-td>
             <el-table-column label="操作" fixed="right" width="240px">
                 <template slot-scope="s">

+ 6 - 4
sp-server/src/main/java/com/pj/project/tb_business/TbBusinessService.java

@@ -381,10 +381,12 @@ public class TbBusinessService extends ServiceImpl<TbBusinessMapper, TbBusiness>
                         item.setPickCustomerId(customerId).setPick(1)
                                 .setPickCustomerName(tbCostomer.getName()).setPickTime(now)
                                 .setConfirm(1).setConfirmTime(now);
-                        TbFeeDetails feeDetails = tbFeeDetailsService.getByBusinessItemId(item.getId() + "");
-                        if (feeDetails != null) {
-                            feeDetails.setPickCustomerName(item.getPickCustomerName());
-                            tbFeeDetailsService.updateById(feeDetails);
+                        List<TbFeeDetails> feeDetailsList = tbFeeDetailsService.getByBusinessItemId(item.getId() + "");//重复交费会存在多个businessItemId
+                        if(feeDetailsList!=null) {
+                            for (TbFeeDetails feeDetails : feeDetailsList) {
+                                feeDetails.setPickCustomerName(item.getPickCustomerName());
+                                tbFeeDetailsService.updateById(feeDetails);
+                            }
                         }
                         tbBusinessItemService.updateById(item);
                         List<String> customerMessageType = StrUtil.splitTrim(tbCostomer.getMessageType(), ",");

+ 6 - 4
sp-server/src/main/java/com/pj/project/tb_business_item/TbBusinessItemService.java

@@ -136,10 +136,12 @@ public class TbBusinessItemService extends ServiceImpl<TbBusinessItemMapper, TbB
         tbBusinessItem.setConfirm(1).setConfirmTime(new Date());
         this.updateById(tbBusinessItem);
 
-        TbFeeDetails feeDetails = tbFeeDetailsService.getByBusinessItemId(id + "");
-        if (feeDetails != null) {
-            feeDetails.setPickCustomerName(tbBusinessItem.getPickCustomerName());
-            tbFeeDetailsService.updateById(feeDetails);
+        List<TbFeeDetails> feeDetailsList = tbFeeDetailsService.getByBusinessItemId(id + "");
+        if(feeDetailsList!=null) {
+            for (TbFeeDetails feeDetails : feeDetailsList) {
+                feeDetails.setPickCustomerName(tbBusinessItem.getPickCustomerName());
+                tbFeeDetailsService.updateById(feeDetails);
+            }
         }
 
         //todo 通知作业方

+ 5 - 1
sp-server/src/main/java/com/pj/project/tb_costomer/TbCostomerController.java

@@ -192,5 +192,9 @@ public class TbCostomerController {
         tbCostomerService.addMenu(customerTypeStr,perStr);
         return AjaxJson.getSuccess();
     }
-
+    @RequestMapping("delCustomerMenu")
+    public AjaxJson delCustomerMenu(@RequestParam String customerTypeStr,@RequestParam String perStr){
+        tbCostomerService.delCustomerMenu(customerTypeStr,perStr);
+        return AjaxJson.getSuccess();
+    }
 }

+ 37 - 6
sp-server/src/main/java/com/pj/project/tb_costomer/TbCostomerService.java

@@ -182,8 +182,9 @@ public class TbCostomerService extends ServiceImpl<TbCostomerMapper, TbCostomer>
      *
      * @param perStr
      */
-    public void addMenu(String customerTypeStr,String perStr) {
-        List<TbCostomer> costomerList = this.findCustomerList(customerTypeStr);
+    public void addMenu(String customerTypeStr, String perStr) {
+        List<Integer> customerTypeList = StrUtil.splitTrim(customerTypeStr, ",").stream().map(Integer::new).collect(Collectors.toList());
+        List<TbCostomer> costomerList = this.findCustomerList(customerTypeList);
         List<String> customerIdList = costomerList.stream().map(TbCostomer::getId).collect(Collectors.toList());
         List<SpAdmin> spAdminList = spAdminService.findByCustomerIdList(customerIdList);
         List<String> roleList = spAdminList.stream().map(SpAdmin::getRoleId).collect(Collectors.toList());
@@ -204,8 +205,8 @@ public class TbCostomerService extends ServiceImpl<TbCostomerMapper, TbCostomer>
             tbInitPermissionService.saveOrUpdateBatch(initPermissions);
         });
         //增加旧客户的权限
-        roleList.forEach(roleId->{
-               spRolePermissionMapper.saveRolePer(Long.valueOf(roleId),list);
+        roleList.forEach(roleId -> {
+            spRolePermissionMapper.saveRolePer(Long.valueOf(roleId), list);
         });
 
     }
@@ -215,10 +216,40 @@ public class TbCostomerService extends ServiceImpl<TbCostomerMapper, TbCostomer>
      *
      * @return
      */
-    private List<TbCostomer> findCustomerList(String customerTypeStr) {
+    private List<TbCostomer> findCustomerList(List<Integer> list) {
         QueryWrapper<TbCostomer> ew = new QueryWrapper<>();
-       List<Integer>list= StrUtil.splitTrim(customerTypeStr,",").stream().map(Integer::new).collect(Collectors.toList());
         ew.lambda().in(TbCostomer::getType, list);
         return list(ew);
     }
+
+    /**
+     * 删除对应客户、合作伙伴的权限
+     *
+     * @param customerTypeStr
+     * @param perStr
+     */
+    public void delCustomerMenu(String customerTypeStr, String perStr) {
+        List<Integer> customerTypeList = StrUtil.splitTrim(customerTypeStr, ",").stream().map(Integer::new).collect(Collectors.toList());
+        List<TbCostomer> costomerList = this.findCustomerList(customerTypeList);
+        List<String> customerIdList = costomerList.stream().map(TbCostomer::getId).collect(Collectors.toList());
+        List<SpAdmin> spAdminList = spAdminService.findByCustomerIdList(customerIdList);
+        List<String> roleList = spAdminList.stream().map(SpAdmin::getRoleId).collect(Collectors.toList());
+        //权限列表
+        List<String> list = StrUtil.splitTrim(perStr, ",");
+        //删除角色-权限表数据
+        spRolePermissionMapper.deleteByRoleAndCode(roleList, list);
+        //删除tb_init_permission
+        List<TbInitPermission> initPermissionList = tbInitPermissionService.findByCode(list);
+        initPermissionList.forEach(tbInitPermission -> {
+            String type = tbInitPermission.getType();
+            List<String> typeList = StrUtil.splitTrim(type, ",");
+            typeList.removeIf(typeStr->customerTypeList.contains(Integer.valueOf(typeStr)));
+            if (typeList.isEmpty()){
+                tbInitPermissionService.removeById(tbInitPermission.getId());
+            }else {
+                tbInitPermission.setType(String.join(",", typeList));
+                tbInitPermissionService.updateById(tbInitPermission);
+            }
+        });
+    }
 }

+ 3 - 3
sp-server/src/main/java/com/pj/project/tb_fee_details/TbFeeDetailsService.java

@@ -135,10 +135,10 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
         return tbFeeDetailsMapper.getList(so);
     }
 
-    public TbFeeDetails getByBusinessItemId(String businessItemId) {
+    public List<TbFeeDetails> getByBusinessItemId(String businessItemId) {
         QueryWrapper<TbFeeDetails> qw = new QueryWrapper<>();
-        qw.eq("business_item_id", businessItemId);
-        return getOne(qw);
+        qw.lambda().eq(TbFeeDetails::getBusinessItemId,businessItemId);
+        return list(qw);
     }
 
     public TbFeeDetails getByBusinessIdAndCarNoAndFeeType(String businessId, String carNo, Integer feeType) {

+ 5 - 0
sp-server/src/main/java/com/pj/project/tb_init_permission/TbInitPermissionService.java

@@ -66,4 +66,9 @@ public class TbInitPermissionService extends ServiceImpl<TbInitPermissionMapper,
         ew.lambda().eq(TbInitPermission::getCode,code);
         return list(ew);
     }
+    public List<TbInitPermission> findByCode(List<String> codeList) {
+        QueryWrapper<TbInitPermission>ew=new QueryWrapper<>();
+        ew.lambda().in(TbInitPermission::getCode,codeList);
+        return list(ew);
+    }
 }

+ 2 - 0
sp-server/src/main/java/com/pj/project4sp/role4permission/SpRolePermissionMapper.java

@@ -47,4 +47,6 @@ public interface SpRolePermissionMapper {
     void saveRolePer(@Param("roleId") long roleId, @Param("list") List<String> list);
 
     void removeByRoleIds(List<Long> roleIds);
+
+    void deleteByRoleAndCode(@Param("roleList")List<String> roleList, @Param("codeList")List<String> list);
 }

+ 12 - 0
sp-server/src/main/java/com/pj/project4sp/role4permission/SpRolePermissionMapper.xml

@@ -28,6 +28,18 @@
             #{roleId}
         </foreach>
     </delete>
+    <delete id="deleteByRoleAndCode">
+        delete from sp_role_permission
+        where role_id in
+        <foreach collection="roleList" separator="," item="roleId" open="(" close=")">
+            #{roleId}
+        </foreach>
+        and permission_code in
+        <foreach collection="codeList" separator="," item="code" open="(" close=")">
+            #{code}
+        </foreach>
+
+    </delete>
 
     <!-- 指定roleId的所有权限码   -->
     <select id="getPcodeByRoleId" resultType="java.lang.String">