jyy
2021-03-17 f86c8e49cf1f953843d5b436469d298fb69f3629
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -2,7 +2,6 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -72,7 +71,7 @@
        BizUser loginUser=bizUserDao.findByOpenId(openId);
        //验证申请条件
        VerificationResult verificationResult = isAbleToBeAnSalesman(openId);
        VerificationResult verificationResult = isAbleToBeAnSalesman(openId,loginUser.getCompanyId());
        if(verificationResult.isJudgeResult()){
            //校验审核状态,和是否重复发起
            QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
@@ -104,9 +103,9 @@
                    shopSalesmanApply.setGradeId(Long.parseLong(gradeId));
                }else{
                    //获取初始等级ID(公司id,是否为初始等级)
                    Wrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
                    ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("company_id", loginUser.getCompanyId());
                    ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("is_default", 1);
                    QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
                    queryWrapperOrepool.eq("company_id", loginUser.getCompanyId());
                    queryWrapperOrepool.eq("is_default", 1);
                    ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool);
                    shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
                }
@@ -136,14 +135,15 @@
    /**
     * 判断是否满足申请成为分销员的条件
     */
    public VerificationResult isAbleToBeAnSalesman(String openId) {
        BizUser bizUser = bizUserDao.findByOpenId(openId);
    public VerificationResult isAbleToBeAnSalesman(String openId,Long companyId) {
        VerificationResult verificationResult=null;
        //申请条件
        BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, bizUser.getCompanyId());
        BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, companyId);
        switch (applyCondition.getParamValue()){
            case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ:
                VerificationResult.buildVerificationResult(true);
                break;
            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP:
                VerificationResult.buildVerificationResult(true);
                int buyZdcpCount= shopOrderV2Dao.countBuyZdcp(openId,applyCondition.getParamValue1());
@@ -152,7 +152,7 @@
                }else{
                    verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费指定产品后再申请!");
                }
                break;
            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP:
                //判断用户是否有确认收货的产品
                int receivedOrderCount= shopOrderV2Dao.selectReceivedOrderCount(openId);
@@ -161,17 +161,20 @@
                }else{
                    verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!");
                }
                break;
            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE:
                Double zdje=Double.parseDouble(applyCondition.getParamValue2());
                Double yxfje=shopOrderV2Dao.countOrderAmount(openId);
                if(zdje>yxfje){
                if(zdje<yxfje){
                    verificationResult=VerificationResult.buildVerificationResult(true);
                }else{
                    verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费满"+zdje+"元后再申请!");
                }
                VerificationResult.buildVerificationResult(true);
                break;
            default:
                VerificationResult.buildVerificationResult(true);
        }
        return verificationResult;
    }