yangdamao 2 years ago
parent
commit
82a833362f

+ 9 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SysTenantController.java

@@ -126,6 +126,15 @@ public class SysTenantController extends BaseController {
         return toAjax(iSysTenantService.editTopTenant(bo) ? 1 : 0);
     }
 
+    /**
+     * 删除机构
+     */
+    @ApiOperation("删除机构")
+    @PostMapping("/delete/top")
+    public AjaxResult<Void> deleteTopTenant(@RequestBody SysTopTenantEditBo bo) {
+        return toAjax(iSysTenantService.deleteTopTenant(bo) ? 1 : 0);
+    }
+
     /**
      * 删除系统商户
      */

+ 1 - 1
zhongzheng-admin/src/main/resources/application-pre.yml

@@ -165,7 +165,7 @@ oldOrder:
     refundPayHandle: http://192.168.1.222:6030/common/platform/pay/handle
 
 oldSys:
-    host: http://gdxypx.xy.com
+    host: http://test.jqbao.net
 
 invoice:
     host: http://192.168.1.222:8077/sys/common/openMplatform/log

+ 1 - 1
zhongzheng-api/src/main/resources/application-pre.yml

@@ -165,7 +165,7 @@ oldOrder:
     refundPayHandle: http://192.168.1.222:6030/common/platform/pay/handle
 
 oldSys:
-    host: http://gdxypx.xy.com
+    host: http://test.jqbao.net
 
 invoice:
     host: http://192.168.1.222:8077/sys/common/openMplatform/log

+ 35 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/ToolsUtils.java

@@ -454,4 +454,39 @@ public class ToolsUtils {
         return tmpImg ;
     }
 
+    public static String solve(String num) {
+        if (num == null) {
+            return null;
+        }
+        // 判断是否有小数
+        int index = num.indexOf(".");
+        if (index >= 0) {
+            String integer = num.substring(0, index);
+            String decimal = num.substring(index);
+            // 分隔后的整数+小数拼接起来
+            return addSeparator(integer) + decimal;
+        } else {
+            return addSeparator(num);
+        }
+    }
+
+    // 添加分隔符
+    public static String addSeparator(String num) {
+        int length = num.length();
+        ArrayList list = new ArrayList();
+        while (length > 3) {
+            list.add(num.substring(length - 3, length));
+            length = length - 3;
+        }
+        // 将前面小于三位的数字添加到ArrayList中
+        list.add(num.substring(0, length));
+        StringBuffer buffer = new StringBuffer();
+        // 倒序拼接
+        for (int i = list.size() - 1; i > 0; i--) {
+            buffer.append(list.get(i) + ",");
+        }
+        buffer.append(list.get(0));
+        return buffer.toString();
+    }
+
 }

+ 33 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java

@@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -18,6 +19,8 @@ import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.modules.order.domain.Order;
+import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.system.bo.*;
 import com.zhongzheng.modules.system.domain.SysRoleMenu;
 import com.zhongzheng.modules.system.domain.SysTenant;
@@ -27,8 +30,11 @@ import com.zhongzheng.modules.system.service.*;
 import com.zhongzheng.modules.system.vo.SysTenantAccountVo;
 import com.zhongzheng.modules.system.vo.SysTenantBankAccountVo;
 import com.zhongzheng.modules.system.vo.SysTenantVo;
+import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
+import com.zhongzheng.modules.top.goods.service.ITopOldOrderService;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
@@ -71,6 +77,15 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
     @Autowired
     private ISysDictTypeService iSysDictTypeService;
 
+    @Autowired
+    @Lazy
+    private ITopOldOrderService topOldOrderService;
+
+    @Autowired
+    @Lazy
+    private IOrderService orderService;
+
+
     @Override
     public SysTenantVo queryById(Long tenantId){
         SysTenant db = this.baseMapper.selectById(tenantId);
@@ -80,7 +95,7 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
     @Override
     public List<SysTenantVo> queryList(SysTenantQueryBo bo) {
         LambdaQueryWrapper<SysTenant> lqw = Wrappers.lambdaQuery();
-        lqw.eq(bo.getStatus() != null, SysTenant::getStatus, bo.getStatus());
+        lqw.ne(SysTenant::getStatus, -1);
         lqw.like(StrUtil.isNotBlank(bo.getTenantName()), SysTenant::getTenantName, bo.getTenantName());
         return entity2Vo(this.list(lqw));
     }
@@ -455,6 +470,23 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
         return updateById(tenant);
     }
 
+    @Override
+    public boolean deleteTopTenant(SysTopTenantEditBo bo) {
+        if (CollectionUtils.isEmpty(bo.getTenantIds())){
+            throw new CustomException("参数错误");
+        }
+        for (Long tenantId : bo.getTenantIds()) {
+            int count = topOldOrderService.count(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getTenantId, tenantId));
+            int num = orderService.count(new LambdaQueryWrapper<Order>().eq(Order::getTenantId, tenantId));
+            if (count > 0 || num > 0){
+                throw new CustomException("机构已有订单信息,请勿删除!");
+            }
+        }
+        return update(new LambdaUpdateWrapper<SysTenant>()
+        .in(SysTenant::getTenantId,bo.getTenantIds())
+        .set(SysTenant::getStatus,-1));
+    }
+
     private void initRoles(Long newTenantId,Long tenantId) {
         List<String> roleKey = new ArrayList<>();
         roleKey.add("seller");

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantEditBo.java

@@ -21,6 +21,8 @@ public class SysTopTenantEditBo {
     @ApiModelProperty("机构ID")
     private Long tenantId;
 
+    private List<Long> tenantIds;
+
     /** 名称 */
     @ApiModelProperty("名称")
     @NotNull(message = "名称不能为空")

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysTenantService.java

@@ -67,4 +67,7 @@ public interface ISysTenantService extends IService<SysTenant> {
 	boolean addTopTenant(SysTopTenantAddBo bo);
 
 	boolean editTopTenant(SysTopTenantEditBo bo);
+
+	boolean deleteTopTenant(SysTopTenantEditBo bo);
+
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopDivideOrderQueryBo.java

@@ -93,4 +93,7 @@ public class TopDivideOrderQueryBo extends BaseEntity {
 
 	@ApiModelProperty("类型 1机构分成 2业务员提成  3佣金结算")
 	private Integer divideType;
+
+	@ApiModelProperty("角色ID")
+	private Long roleId;
 }

+ 9 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/impl/TopDivideOrderServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.top.financial.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo;
@@ -22,6 +23,7 @@ import com.github.pagehelper.Page;
 
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -109,7 +111,13 @@ public class TopDivideOrderServiceImpl extends ServiceImpl<TopDivideOrderMapper,
     @Override
     public List<TopDivideOrderVo> getMonthOrderList(TopDivideOrderQueryBo bo) {
         List<TopDivideOrderVo> fList = baseMapper.getFinishList(bo);
-        List<TopDivideOrderVo> rList = baseMapper.getRefundList(bo);
+        List<TopDivideOrderVo> rList;
+        if(Validator.isEmpty(bo.getRoleId())){
+            rList = baseMapper.getRefundList(bo);
+        }else{
+            rList = new ArrayList<>();
+        }
+
         for(TopDivideOrderVo vo : rList){
             if(vo.getPayStatus()==1){
                 vo.setCheckStatus(3);

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/vo/TopDivideOrderVo.java

@@ -95,5 +95,6 @@ public class TopDivideOrderVo {
 	private String createNo;
 	@ApiModelProperty("佣金")
 	private BigDecimal brokerage;
-
+	@ApiModelProperty("角色名称")
+	private String roleName;
 }

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/service/impl/TopOrderRecNoteServiceImpl.java

@@ -12,6 +12,9 @@ import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.modules.bank.domain.ExamQuestion;
 import com.zhongzheng.modules.base.domain.ShoppingCart;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
+import com.zhongzheng.modules.top.financial.domain.TopDivideLog;
+import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
+import com.zhongzheng.modules.top.goods.service.ITopOldOrderService;
 import com.zhongzheng.modules.top.order.bo.TopOrderRecNoteAddBo;
 import com.zhongzheng.modules.top.order.bo.TopOrderRecNoteEditBo;
 import com.zhongzheng.modules.top.order.bo.TopOrderRecNoteQueryBo;
@@ -19,7 +22,11 @@ import com.zhongzheng.modules.top.order.domain.TopOrderRecNote;
 import com.zhongzheng.modules.top.order.mapper.TopOrderRecNoteMapper;
 import com.zhongzheng.modules.top.order.service.ITopOrderRecNoteService;
 import com.zhongzheng.modules.top.order.vo.TopOrderRecNoteVo;
+<<<<<<< HEAD
 import org.springframework.beans.factory.annotation.Value;
+=======
+import org.springframework.beans.factory.annotation.Autowired;
+>>>>>>> dev
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -27,6 +34,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -39,8 +47,13 @@ import java.util.stream.Collectors;
 @Service
 public class TopOrderRecNoteServiceImpl extends ServiceImpl<TopOrderRecNoteMapper, TopOrderRecNote> implements ITopOrderRecNoteService {
 
+<<<<<<< HEAD
     @Value("${oldSys.host}")
     private String OLD_SYS_HOST;
+=======
+    @Autowired
+    private ITopOldOrderService iTopOldOrderService;
+>>>>>>> dev
 
     @Override
     public TopOrderRecNoteVo queryById(Long id){
@@ -123,6 +136,11 @@ public class TopOrderRecNoteServiceImpl extends ServiceImpl<TopOrderRecNoteMappe
     }
 
     private boolean pushOldNote(String orderSn){
+        TopOldOrder oldOrder = iTopOldOrderService.getOne(new LambdaQueryWrapper<TopOldOrder>()
+                .eq(TopOldOrder::getOrderSn, orderSn));
+        if(oldOrder.getOrderUncollected().compareTo(BigDecimal.ZERO)!=1){
+            return false;
+        }
         Map<String, String> params = new HashMap<>();
         Long nowTime = DateUtils.getNowTime();
         String sign = ToolsUtils.EncoderByMd5(orderSn+"pubilc2022");

+ 6 - 1
zhongzheng-system/src/main/resources/mapper/modules/top/TopDivideOrderMapper.xml

@@ -25,7 +25,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             oo.remark,
             oo.divide_company_money,
             oo.divide_seller_money,
-            oo.brokerage
+            oo.brokerage,
+            r.role_name
         FROM
             top_divide_order tdo
                 LEFT JOIN top_divide_log dl ON tdo.divide_log_id = dl.id
@@ -33,9 +34,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 LEFT JOIN v_top_order oo ON tdo.order_sn =  oo.order_sn
                 LEFT JOIN
             top_old_order_check_log cl ON (dl.divide_type+1) = cl.check_from AND  cl.check_sign = 1  AND  tdo.order_sn = cl.order_sn
+            LEFT JOIN top_sys_role r ON cl.role_id = r.role_id
         WHERE
             tdo.order_type = 1
           AND tdo.divide_log_id = #{divideLogId}
+        <if test="roleId != null and roleId != ''">
+            AND cl.role_id = #{roleId}
+        </if>
     </select>
 
     <select id="getRefundList" parameterType="com.zhongzheng.modules.top.financial.bo.TopDivideOrderQueryBo"  resultType="com.zhongzheng.modules.top.financial.vo.TopDivideOrderVo">