package com.matrix.system.fenxiao.action; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.matrix.biz.dao.BizUserDao; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant; import com.matrix.system.fenxiao.service.FenXiaoSettingService; import com.matrix.system.fenxiao.vo.FenXiaoSettingVo; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.dao.ShoppingGoodsDao; import com.matrix.system.shopXcx.bean.ShopProduct; import com.matrix.system.shopXcx.dao.ShopProductDao; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @RestController @RequestMapping(value = "/fenXiao/ruleSetting") public class FenXiaoSettingAction { @Autowired private FenXiaoSettingService fenXiaoSettingService; @Autowired private BusParameterSettingsDao busParameterSettingsDao; @Autowired private ShoppingGoodsDao shoppingGoodsDao; @Autowired private BizUserDao bizUserDao; @Autowired private ShopProductDao shopProductDao; /** *查询分销配置 */ @RequestMapping(value = "/selectFenXiaoSetting") public AjaxResult selectFenXiaoSetting() { AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); Long companyId = user.getCompanyId(); //分销开关 String[] FXKGCode={FenxiaoSettingConstant.FX_SWITCH}; String[] FXKGName={"分销开关"}; List fxkgRuleSettingsVo = getRuleSettingsVo(FXKGCode,FXKGName,companyId); result.putInMap("fxkg", fxkgRuleSettingsVo); //分销模式 String[] FXMSCode={FenxiaoSettingConstant.FX_MODEL}; String[] FXMSName={"分销模式"}; List fxmsRuleSettingsVo = getRuleSettingsVo(FXMSCode,FXMSName,companyId); result.putInMap("fxms", fxmsRuleSettingsVo); //申请方式 String[] sqfsCode={FenxiaoSettingConstant.FX_APPLY_WAY}; String[] sqfsName={"申请方式"}; List sqfsRuleSettingsVo = getRuleSettingsVo(sqfsCode,sqfsName,companyId); result.putInMap("sqfs", sqfsRuleSettingsVo); //审核方式 String[] shfsCode={FenxiaoSettingConstant.FX_AUDIT_METHOD}; String[] shfsName={"审核方式"}; List shfsRuleSettingsVo = getRuleSettingsVo(shfsCode,shfsName,companyId); result.putInMap("shfs", shfsRuleSettingsVo); //申请条件 String[] sqtjCode={FenxiaoSettingConstant.FX_APPLY_CONDITION}; String[] sqtjName={"申请条件"}; List sqtjRuleSettingsVo = getRuleSettingsVo(sqtjCode,sqtjName,companyId); result.putInMap("sqtj", sqtjRuleSettingsVo); if(CollUtil.isNotEmpty(sqtjRuleSettingsVo)){ for(FenXiaoSettingVo fenXiaoSettingVo : sqtjRuleSettingsVo) { //选择申请条件条件3时,获得选中产品集合 if(FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP.equals(fenXiaoSettingVo.getParamValue())) { String paramValue1 = fenXiaoSettingVo.getParamValue1(); if(StrUtil.isNotEmpty(paramValue1)) { List idsList = new ArrayList<>(); List idsStringList = Arrays.asList(paramValue1.split(",")); if(CollUtil.isNotEmpty(idsStringList)){ for(String string : idsStringList) { Integer parseInt = Integer.parseInt(string); idsList.add(parseInt); } } //List list = shoppingGoodsDao.selectByIds(idsList); List shopProducts = shopProductDao.selectByIds(idsList); result.putInMap("order", shopProducts); } }else{ List shopProducts = new ArrayList<>(); result.putInMap("order", shopProducts); } } } return result; } /** * 列表显示 */ @RequestMapping(value = "/selectProduct") public @ResponseBody AjaxResult selectProduct(ShopProduct shopProduct, PaginationVO pageVo) { QueryUtil.setQueryLimitCom(shopProduct); pageVo.setSort("createTime"); pageVo.setOrder("desc"); shopProduct.setDelFlag(AppConstance.DATA_USEABLE); shopProduct.setCompanyId(shopProduct.getCompanyId()); List dataList = shopProductDao.selectInPage(shopProduct, pageVo); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, shopProductDao.selectTotalRecord(shopProduct)); return result; } /** *获取对应的规则设置数据 * @param ArrayCode * @param ArrayName * @param companyId * @return */ private List getRuleSettingsVo(String[] ArrayCode,String[] ArrayName,Long companyId){ List dataList = busParameterSettingsDao.selectByCodesAndCompanyId(Arrays.asList(ArrayCode), companyId); List scoreRuleSettingsVos=new ArrayList(); int index=0; for (BusParameterSettings item:dataList){ FenXiaoSettingVo paramVo=new FenXiaoSettingVo(); BeanUtils.copyProperties(item,paramVo); paramVo.setParamName(ArrayName[index]); scoreRuleSettingsVos.add(paramVo); index++; } return scoreRuleSettingsVos; } /** * 修改公司维度的分销规则 */ @PostMapping(value = "/updateFenXiaoSetting") public @ResponseBody AjaxResult updateFenXiaoSetting(@RequestBody List busParameterSettings) { return fenXiaoSettingService.updateFenXiaoSettingByCompanyId(busParameterSettings); } }