zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
@@ -592,6 +592,11 @@ public static final String OPEN_SMS_NOTICE = "OPEN_SMS_NOTICE"; /** * 服务单自动配料 */ public static final String OPEN_SERVICE_ORDER_AUTO_BATCHING = "OPEN_SERVICE_ORDER_AUTO_BATCHING"; /** * 赠送金额购买产品算赠送购买 */ public static final String SHOP_MANAGE_GIFTISFREE = "shopManageGiftisfree"; zq-erp/src/main/java/com/matrix/system/common/service/BusParameterSettingService.java
New file @@ -0,0 +1,40 @@ package com.matrix.system.common.service; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.StringUtils; import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.bean.SysCompany; 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.score.constant.ScoreSettingConstant; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Objects; @Service @AllArgsConstructor public class BusParameterSettingService { private BusParameterSettingsDao busParameterSettingsDao; /** * 判断某个设置是否是开启状态 * 未配置,或者无效settingkey都返回false */ public boolean isSettingOpen(String settingKey,Long companyId) { BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(settingKey, companyId); return ( Objects.nonNull(busParameterSettings) && StringUtils.isNotBlank(busParameterSettings.getParamValue()) && AppConstance.IS_Y.equals(busParameterSettings.getParamValue()) ); } } zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
@@ -15,6 +15,7 @@ import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.common.service.BusParameterSettingService; import com.matrix.system.hive.bean.SysBeauticianState; import com.matrix.system.hive.bean.SysProjServices; import com.matrix.system.hive.bean.SysShopInfo; @@ -48,8 +49,7 @@ SysBeauticianStateService sysBeauticianStateService; BusParameterSettingsDao busParameterSettingsDao; BusParameterSettingService busParameterSettingService; /** * 预约成功短信提醒 * @@ -58,12 +58,8 @@ @Async public void sendYycgNotice(SysProjServices services) { //短信接口为肽妍公司定制,暂时写死 if (services.getCompanyId() != 17L) { return; } if (isCloseSmsNotice(services)){ return; } if (chackSetting(services)) return; SysVipInfo sysVipInfo = vipInfoDao.selectById(services.getVipId()); SysShopInfo shopInfo = shopInfoService.findById(services.getShopId()); String date = DateUtil.dateFormatStr(new Date(), "yyyy年MM月dd日"); @@ -81,35 +77,14 @@ /** * 判断是否开启了短信提醒 * @param services * @return */ private boolean isCloseSmsNotice(SysProjServices services) { BusParameterSettings openSmsNoticeSetting = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.OPEN_SMS_NOTICE, services.getCompanyId()); if (StringUtils.isBlank(openSmsNoticeSetting.getParamValue()) || AppConstance.IS_N.equals(openSmsNoticeSetting.getParamValue())) { LogUtil.debug("未开启短信提醒"); return true; } return false; } /** * 项目划扣短信提醒 * * @param services */ @Async public void sendHkNotice(SysProjServices services) { //短信接口为肽妍公司定制,暂时写死 if (services.getCompanyId() != 17L) { return; } if (isCloseSmsNotice(services)){ return; } if (chackSetting(services)) return; SysVipInfo sysVipInfo = vipInfoDao.selectById(services.getVipId()); SysShopInfo shopInfo = shopInfoService.findById(services.getShopId()); String date = DateUtil.dateFormatStr(new Date(), "yyyy年MM月dd日"); @@ -136,5 +111,16 @@ } private boolean chackSetting(SysProjServices services) { //短信接口为肽妍公司定制,暂时写死 if (services.getCompanyId() != 17L) { return true; } if (!busParameterSettingService.isSettingOpen(AppConstance.OPEN_SMS_NOTICE, services.getCompanyId())) { return true; } return false; } } zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -1,12 +1,16 @@ package com.matrix.system.hive.service.imp; import cn.hutool.core.collection.CollUtil; import com.google.common.collect.Lists; import com.matrix.component.asyncmessage.AsyncMessageManager; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.pojo.VerifyResult; import com.matrix.core.tools.*; import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.app.dto.ServiceOrderListDto; import com.matrix.system.app.vo.ServiceOrderListVo; import com.matrix.system.common.bean.BusParameterSettings; @@ -14,6 +18,7 @@ import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.common.dao.SysUsersDao; import com.matrix.system.common.service.BusParameterSettingService; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; @@ -116,12 +121,17 @@ BusParameterSettingsDao busParameterSettingsDao; @Autowired BusParameterSettingService busParameterSettingService; @Autowired ScoreVipDetailService scoreVipDetailService; @Autowired SysVipInfoDao sysVipInfoDao; @Autowired ShoppingGoodsAssembleDao goodsAssembleDao; /** * 新增服务单 jyy @@ -257,7 +267,7 @@ SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getPuseId()); //检查是否已经处于无效状态 if(Dictionary.TAOCAN_STATUS_WX.equals(sysProjUse.getStatus())){ if (Dictionary.TAOCAN_STATUS_WX.equals(sysProjUse.getStatus())) { return new VerifyResult(true, sysProjUse.getProjName() + "项目已经失效"); } @@ -447,7 +457,49 @@ lastList.add(lastWork); } LastestWorkBeatuistaffDao.batchInsert(lastList); return sysProjServicesDao.update(projServices); int i = sysProjServicesDao.update(projServices); //根据配置是否完成自动配料 if (busParameterSettingService.isSettingOpen(AppConstance.OPEN_SERVICE_ORDER_AUTO_BATCHING, checkProjServices.getCompanyId())){ autoBatching(projServices); } return i; } /** * 根据配置是否完成自动配料 * * @param projServices */ private void autoBatching(SysProjServices projServices) { //获取最新的服务单信息 projServices=findById(projServices.getId()); List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(projServices.getId()); List<SysOutStoreItem> outStoreItemList = Lists.newLinkedList(); beauticianStateList.stream().forEach(item -> { List<ShoppingGoodsAssemble> shoppingGoodsAssembles = goodsAssembleDao.selectGoodsByShoppingGoodsIdAndType(item.getProjId(), ShoppingGoods.SHOPPING_GOODS_TYPE_JJCP); if (CollUtil.isNotEmpty(shoppingGoodsAssembles)) { outStoreItemList.addAll(shoppingGoodsAssembles.stream().map(assemble -> { SysOutStoreItem outStoreItem = new SysOutStoreItem(); outStoreItem.setSkuId(assemble.getAssembleGoodId()); outStoreItem.setAmount(Double.parseDouble(assemble.getTotal()+"")); outStoreItem.setRemark("自动配料"); return outStoreItem; }).collect(Collectors.toList())); } }); //组合配料参数 projServices.setOutStoreItem(outStoreItemList); //调用配料出库方法 modifyPLProjServices(projServices); } @@ -660,7 +712,7 @@ //发送微信公众号提醒 UniformMsgParam uniformMsgParam = new UniformMsgParam(projServices.getCompanyId(), UniformMsgParam.GZH_FWWC); uniformMsgParam.put("serviceId", projServices.getId()); asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam); asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG, uniformMsgParam); //发送划扣短信提醒 taiYanAliyunSmsService.sendHkNotice(projServices); @@ -1062,10 +1114,10 @@ int i = modify(services); if (i > 0) { //发送微信公众号提醒 services=findById(services.getId()); UniformMsgParam uniformMsgParam=new UniformMsgParam(services.getCompanyId(),UniformMsgParam.GZH_YYCG); uniformMsgParam.put("serviceId",services.getId()); asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam); services = findById(services.getId()); UniformMsgParam uniformMsgParam = new UniformMsgParam(services.getCompanyId(), UniformMsgParam.GZH_YYCG); uniformMsgParam.put("serviceId", services.getId()); asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG, uniformMsgParam); taiYanAliyunSmsService.sendYycgNotice(services); @@ -1073,10 +1125,6 @@ } return i; } } zq-erp/src/main/resources/config/application.properties
@@ -4,9 +4,9 @@ #线上测试环境 # #spring.datasource.username=ct_test #spring.datasource.password=123456 #spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 spring.datasource.username=ct_test spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 #spring.datasource.username=xc_shop #spring.datasource.password=xc_shop123!@# @@ -22,9 +22,9 @@ #spring.datasource.url=jdbc:mysql://47.111.134.136/db_meidu_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=root spring.datasource.url=jdbc:mysql://127.0.0.1:3306/md_test_local?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 #spring.datasource.username=root #spring.datasource.password=root #spring.datasource.url=jdbc:mysql://127.0.0.1:3306/md_test_local?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
@@ -119,13 +119,20 @@ newSetting10.setCategory("店务配置"); newSettings.add(newSetting10); ParameterSettings newSetting11=new ParameterSettings(); newSetting11.setCode(AppConstance.OPEN_SERVICE_ORDER_AUTO_BATCHING); newSetting11.setName("开启服务单自动配料"); newSetting11.setType(1); newSetting11.setCategory("店务配置"); newSettings.add(newSetting11); for (ParameterSettings newSetting : newSettings) { List<ParameterSettings> parameterSettings = parameterSettingsDao.selectByModel(newSetting); if(CollectionUtil.isEmpty(parameterSettings)){ parameterSettingsDao.insert(newSetting); System.out.println("新增配置"+newSetting.getName()); }else { System.out.println("配置"+newSetting.getName()+"已经存在"); } addSettingsTOAllCompany(newSetting); } @@ -144,8 +151,6 @@ busParameterSettings.setParamValue(""); busParameterSettingsDao.insert(busParameterSettings); System.out.println(sysCompany.getComName()+"新增成功"); }else{ System.out.println("公司"+sysCompany.getComName()+"已经存在配置"+newSetting.getName()); } }