zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java
@@ -11,10 +11,13 @@ import com.matrix.system.common.authority.strategy.AccountPasswordLogin; import com.matrix.system.common.authority.strategy.LoginStrategy; import com.matrix.system.common.authority.strategy.ScanQrCodeLogin; import com.matrix.system.common.bean.SysCompany; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.ProjExceptionDao; import com.matrix.system.common.dao.SysCompanyDao; import com.matrix.system.common.dto.WebLoginDto; import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.hive.dao.SysShopInfoDao; import com.matrix.system.hive.statistics.StatisticsBusinessDataJob; @@ -64,6 +67,9 @@ @Autowired SysShopInfoDao sysShopInfoDao; @Autowired SysCompanyDao sysCompanyDao; /** * 页面定向方法,每个权限模块公用一个,每个模块共享一个一级路径,已便于进行权限过滤 @@ -119,6 +125,8 @@ AjaxResult result = new AjaxResult(); authorityManager.initUserPower(result); SysCompany sysCompany = sysCompanyDao.selectById(user.getCompanyId()); WebUtil.setSessionAttribute(HostInterceptor.ATTR_COMPANY, sysCompany); result.putInMap("user",user); result.setStatus(AjaxResult.STATUS_SUCCESS); zq-erp/src/main/java/com/matrix/system/common/actions/FileUploadAction.java
@@ -1,8 +1,12 @@ package com.matrix.system.common.actions; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.tools.FileType; import com.matrix.core.tools.WebUtil; import com.matrix.core.web.BaseAction; import com.matrix.system.common.bean.SysCompany; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.common.tools.UploadUtil; import org.apache.commons.fileupload.FileUploadException; import org.springframework.stereotype.Controller; @@ -41,7 +45,9 @@ public String doImageUpload(HttpServletResponse response, MultipartHttpServletRequest request) throws IOException, FileUploadException, NoSuchAlgorithmException { SysUsers user = getSessionUser(); Map<String, String> fileMap = UploadUtil.doUpload(request, EXT_LIST, folderType, user.getSuId()); SysCompany company = WebUtil.getSessionAttribute(HostInterceptor.ATTR_COMPANY); Map<String, String> fileMap = UploadUtil.doUpload(request, EXT_LIST, folderType, company.getComId()); String callBack = request.getParameter("callBack"); String inputId = request.getParameter("inputId"); request.setAttribute("callBack", callBack); zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
@@ -579,6 +579,11 @@ public static final String SHOP_MANAGE_JJCPAS_CONSUME = "shopManageJjcpasConsume"; /** * 门店是否只能取消待付款订单,服务单 */ public static final String SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER = "shopManageAbleCancelDfkOrder"; /** * 赠送金额购买产品算赠送购买 */ public static final String SHOP_MANAGE_GIFTISFREE = "shopManageGiftisfree"; zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -12,7 +12,10 @@ import com.matrix.core.tools.excl.ExcelSheetPO; import com.matrix.core.tools.excl.ExcelUtil; import com.matrix.core.tools.excl.ExcelVersion; 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.common.dao.SysCompanyDao; import com.matrix.system.common.tools.DataAuthUtil; import com.matrix.system.common.tools.ResponseHeadUtil; @@ -96,6 +99,9 @@ RabiitMqTemplate rabiitMqTemplate; @Autowired private BusParameterSettingsDao busParameterSettingsDao; @Autowired private SysProjServicesDao sysProjServicesDao; @Value("${evn}") @@ -118,7 +124,7 @@ total = total.add(new BigDecimal(item.getPrice() * item.getCount())); } SysOrder sysOrderResult = new SysOrder(); sysOrderResult.setZkTotal(zkTotal.setScale(2,BigDecimal.ROUND_DOWN).doubleValue()); sysOrderResult.setZkTotal(zkTotal.setScale(2, BigDecimal.ROUND_DOWN).doubleValue()); sysOrderResult.setTotal(total.doubleValue()); return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrderResult)); @@ -141,9 +147,9 @@ orderService.updateReceiptMoney(sysOrder); //发送微信公众号提醒 UniformMsgParam uniformMsgParam=new UniformMsgParam(user.getCompanyId(),UniformMsgParam.GZH_GMCG); uniformMsgParam.put("orderId",sysOrder.getId()); rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString()); UniformMsgParam uniformMsgParam = new UniformMsgParam(user.getCompanyId(), UniformMsgParam.GZH_GMCG); uniformMsgParam.put("orderId", sysOrder.getId()); rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn, uniformMsgParam.toJSONString()); //处理用户购买的产品 @@ -161,10 +167,10 @@ @ResponseBody public AjaxResult refundOrder(@RequestBody SysOrder sysOrder) { //储值卡订单不能通过退款渠道退款 if(CollectionUtils.isNotEmpty(sysOrder.getItems())){ if (CollectionUtils.isNotEmpty(sysOrder.getItems())) { List<SysOrderItem> orderItem = orderItemService.findByOrderId(sysOrder.getItems().get(0).getOrderId()); if(orderItem.size()==1){ if(orderItem.get(0).getShoppingGoods().getCode().equals("vipCzk")){ if (orderItem.size() == 1) { if (orderItem.get(0).getShoppingGoods().getCode().equals("vipCzk")) { return AjaxResult.buildFailInstance("充值订单请直接冲负数金额退款!"); } } @@ -189,7 +195,6 @@ //处理用户购买的产品 return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单保存成功"); } /** @@ -232,12 +237,12 @@ public @ResponseBody ModelAndView printOrder(SysOrder order) throws GlobleException { ModelAndView mv = new ModelAndView("admin/hive/beautySalon/print-order"); SysUsers user=(SysUsers)WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); String comRegisterCode = companyDao.selectById(user.getCompanyId()).getComRegisterCode(); if(StringUtils.isNotBlank(comRegisterCode)){ mv.addObject("page",comRegisterCode); }else { mv.addObject("page","taiyan"); SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); String comRegisterCode = companyDao.selectById(user.getCompanyId()).getComRegisterCode(); if (StringUtils.isNotBlank(comRegisterCode)) { mv.addObject("page", comRegisterCode); } else { mv.addObject("page", "taiyan"); } return mv; } @@ -269,7 +274,7 @@ achieveNew.setDatatime(sysOrder.getPayTime()); achieveNewService.modifyAchieveTime(achieveNew); //更新收款流水时间 sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(),sysOrder.getPayTime()); sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(), sysOrder.getPayTime()); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); @@ -288,7 +293,7 @@ MoneyCardUse cardUseInfo = cardUseService.findByVipId(order.getVipId()); if (cardUseInfo == null) { cardUseInfo=sysVipInfoService.addVipDefaultCard(order.getVipId()); cardUseInfo = sysVipInfoService.addVipDefaultCard(order.getVipId()); } //打印需求加入门店信息 @@ -298,7 +303,6 @@ //查询会有所有有效的会员卡 result.putInMap("totalMoney", moneyCardUseDao.selectVipCardTotalMoney(order.getVipId())); return result; @@ -378,13 +382,13 @@ @ResponseBody public AjaxResult findOrderDetailByIdOrNo(SysOrder orderVo) { // 根据id查到对应的订单信息 SysOrder order=null; if(orderVo.getId()!=null){ order = orderService.findById(orderVo.getId()); }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){ SysOrder order = null; if (orderVo.getId() != null) { order = orderService.findById(orderVo.getId()); } else if (StringUtils.isNotBlank(orderVo.getOrderNo())) { List<SysOrder> byModel = orderService.findByModel(orderVo); if(byModel.size()==1){ order=orderService.findById(byModel.get(0).getId()); if (byModel.size() == 1) { order = orderService.findById(byModel.get(0).getId()); } } List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(order.getId()); @@ -424,10 +428,10 @@ @RequestMapping(value = "/orderItem") public String orderItem(SysOrder orderVo) { if(orderVo.getId()!=null){ if (orderVo.getId() != null) { WebUtil.getRequest().setAttribute("orderParam", orderVo.getId()); WebUtil.getRequest().setAttribute("orderId", orderVo.getId()); }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){ } else if (StringUtils.isNotBlank(orderVo.getOrderNo())) { WebUtil.getRequest().setAttribute("orderParam", orderVo.getOrderNo()); WebUtil.getRequest().setAttribute("orderNo", orderVo.getOrderNo()); } @@ -444,14 +448,14 @@ } //=======================================页面转发END================================== /** * 2021-08-20 新增:erp系统取消订单接口,不做订单状态校验 * 取消订单 */ @Transactional(rollbackFor = Exception.class) @RequestMapping(value = "/cancelOrder") @RequestMapping(value = "/erpCancelOrder") public @ResponseBody AjaxResult cancelOrder(Long id, Integer del) { AjaxResult erpCancelOrder(Long id) { AjaxResult result = new AjaxResult(); SysOrder order = orderService.findById(id); @@ -468,15 +472,32 @@ } orderService.cancelOrder(id); // if (del > 0) { // orderService.removeById(id); // result.setInfo("删除成功!"); // } else { result.setInfo("取消成功!"); // } result.setInfo("取消成功!"); result.setStatus(AjaxResult.STATUS_SUCCESS); return result; } /** * 取消订单 */ @Transactional(rollbackFor = Exception.class) @RequestMapping(value = "/cancelOrder") public @ResponseBody AjaxResult cancelOrder(Long id, Integer del) { SysOrder order = orderService.findById(id); BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, order.getCompanyId()); if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue()) && shopManageAbleCancelDfkOrder.getParamValue().equals(Dictionary.FLAG_YES)) { if (!Dictionary.ORDER_STATU_DFK.equals(order.getStatu())) { return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待付款订单"); } } return erpCancelOrder(id); } @RequestMapping(value = "/exportExcel") @@ -494,17 +515,16 @@ */ @RequestMapping(value = "/erpExportExcel") public void erpExportExcel(ModelMap model, HttpServletRequest request, HttpServletResponse response, SysOrder sysOrder) throws Exception { SysOrder sysOrder) throws Exception { doExportOrder(response, sysOrder); return; } /** * 执行订单导出,总部和门店共用,但是搜索条件不一样 * * @param response * @param sysOrder * @throws IOException zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
@@ -14,7 +14,10 @@ import com.matrix.core.tools.excl.ExcelSheetPO; import com.matrix.core.tools.excl.ExcelUtil; import com.matrix.core.tools.excl.ExcelVersion; 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.common.dao.SysCompanyDao; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.common.tools.DataAuthUtil; @@ -478,6 +481,8 @@ } } @Autowired BusParameterSettingsDao busParameterSettingsDao; /** * 根据id取消预约 @@ -485,6 +490,24 @@ @RequestMapping(value = "/cancelOrder") public @ResponseBody AjaxResult cancelOrder(SysProjServices services) { SysProjServices checkProjServices = sysProjServicesDao.selectById(services.getId()); BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, checkProjServices.getCompanyId()); if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue()) && shopManageAbleCancelDfkOrder.getParamValue().equals(Dictionary.FLAG_YES)) { if (!checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DYY) && !checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DQR)) { return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待预约订单"); } } return erpCancelOrder(services); } /** * 根据id取消预约 */ @RequestMapping(value = "/erpCancelOrder") public @ResponseBody AjaxResult erpCancelOrder(SysProjServices services) { int i = sysProjServicesService.modifyCancelProjServices(services); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "取消预约成功"); @@ -492,7 +515,6 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败"); } } /** * 设置服务单划扣成功 zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopDeliveryInfoAction.java
@@ -84,6 +84,7 @@ pageVo.setSort("create_time"); pageVo.setOrder("desc"); shopDeliveryInfo.setCompanyId(sysUsers.getCompanyId()); // shopDeliveryInfo.setShopId(sysUsers.getShopId()); List<ShopDeliveryInfo> dataList = shopDeliveryInfoDao.selectInPage(shopDeliveryInfo, pageVo); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, shopDeliveryInfoDao.selectTotalRecord(shopDeliveryInfo)); @@ -159,6 +160,7 @@ info.setRemarks(deliveryInfo.getRemarks()); info.setLogisticsStatus(AppConstance.LOGISTICS_STATUS_OF_RECEIVE); info.setDeliveryTime(new Date()); info.setCompanyId(user.getCompanyId()); shopDeliveryInfoDao.updateByModel(info); //构建需要修改订单信息Map zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java
@@ -16,7 +16,6 @@ @Service public class WeChatApiTools { @Autowired private BusParameterSettingsDao busParameterSettingsDao; zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java
@@ -1,17 +1,15 @@ package com.matrix.system.shopXcx.api.action; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.SysVipInfoDao; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.component.tools.ImageUtil; import com.matrix.component.tools.WxacodeUtil; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.PropertiesUtil; import com.matrix.core.tools.UUIDUtil; import com.matrix.core.tools.*; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.SysShopInfoDao; import com.matrix.system.hive.dao.SysVipInfoDao; import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.shopXcx.api.WeChatApiTools; import com.matrix.system.shopXcx.api.pojo.QrcodeImgParam; @@ -59,10 +57,8 @@ @Autowired private SysShopInfoDao shopInfoDao; @Value(value = "${qrcodeBackgroundImgPath}") private String qrcodeBackgroundImgPath; @Value(value = "${qrcodeFrontImgPath}") private String qrcodeFrontImgPath; @@ -251,7 +247,9 @@ // 图片访问URL String baseSaveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); String productImg = shopProduct.getImgMobile(); productImg = productImg.replace(baseSaveUrl, baseSavePath); String productPath = baseSavePath + "wxacode" + File.separatorChar + MD5Util.strToMD5(loginUser.getOpenId()) + "poster.png"; ImageUtil.downloadPicture(productImg, productPath); // productImg = productImg.replace(baseSaveUrl, baseSavePath); String targetImg = UUIDUtil.getRandomID() + ".png"; QrcodeImgParam qrcodeImgParam = new QrcodeImgParam(); @@ -259,7 +257,7 @@ qrcodeImgParam.qrcodeSavePath = qrcodeSavePath; qrcodeImgParam.qrcodeBackgroundImgPath = qrcodeBackgroundImgPath; qrcodeImgParam.qrcodeFrontImgPath = qrcodeFrontImgPath; qrcodeImgParam.productImgPath = productImg; qrcodeImgParam.productImgPath = productPath; qrcodeImgParam.urlPath = baseSaveUrl + "/" + "wxacode" + "/" + targetImg; qrcodeImgParam.targetImg = baseSavePath + "/" + "wxacode" + "/" + targetImg; qrcodeImgParam.title = shopProduct.getTitle(); @@ -337,10 +335,11 @@ public static void main(String[] args) throws Exception { QrcodeImgParam qrcodeImgParam = new QrcodeImgParam(); qrcodeImgParam.qrcodeSavePath = "C:\\Users\\Administrator\\Desktop\\dd\\ewm.png"; qrcodeImgParam.qrcodeSavePath = "C:\\Users\\Administrator\\Desktop\\ewm.png"; qrcodeImgParam.qrcodeBackgroundImgPath = "C:\\Users\\Administrator\\Desktop\\dd\\bj1.png"; qrcodeImgParam.qrcodeFrontImgPath = "C:\\Users\\Administrator\\Desktop\\dd\\qj2.png"; qrcodeImgParam.productImgPath = "C:\\Users\\Administrator\\Desktop\\dd\\banner.jpg"; // qrcodeImgParam.productImgPath = "C:\\Users\\Administrator\\Desktop\\dd\\banner.jpg"; qrcodeImgParam.productImgPath = "C:\\Users\\Administrator\\Desktop\\6cbfee5df0474fe0b864be142bc474ab.jpg"; qrcodeImgParam.targetImg = "C:\\Users\\Administrator\\Desktop\\dd\\banner111.jpg"; qrcodeImgParam.title = "盐酸米多君片"; qrcodeImgParam.price = "¥30"; zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java
@@ -319,7 +319,7 @@ List<CouponReceiveInfoVO> usefulCoupon = new ArrayList<>(); CouponReceiveInfoVO shopCoupon = new CouponReceiveInfoVO(); //满足店铺活动的订单不能使用优惠券 if (conditionsGroupCount > 0) { if (conditionsGroupCount <= 0) { //计算可用优惠券 usefulCoupon = wxShopCouponService.getCartVoCouponList(sysVipInfo.getCompanyId(), orderItemDtos); //获取用户使用的优惠券 zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
@@ -924,7 +924,7 @@ left join shopping_goods f on e.proj_id=f.id where 1=1 and a.type='套餐' and a.TAOCAN_ID IS NULL <if test="record.queryKey != null and record.queryKey !='' "> and (instr(b.name, #{record.queryKey}) or instr(b.zjm, #{record.queryKey}) or instr(goods_no, #{record.queryKey})) and (instr(b.name, #{record.queryKey}) or instr(b.zjm, #{record.queryKey}) or instr(b.goods_no, #{record.queryKey})) </if> <if test="record.isOver != null and record.isOver !='' "> and a.IS_OVER = #{record.isOver} zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopDeliveryInfoDao.xml
@@ -145,6 +145,9 @@ <if test="(record.shopId!=null and record.shopId!='') or (record.shopId!='' and record.shopId==0) "> and shop_id = #{record.shopId} </if> <if test="(record.companyId!=null and record.companyId!='') or (record.companyId!='' and record.companyId==0) "> and company_id = #{record.companyId} </if> </if> </sql> @@ -268,6 +271,9 @@ <if test="record.shopId != null "> shop_id = #{record.shopId}, </if> <if test="record.companyId != null "> company_id = #{record.companyId}, </if> </set> WHERE id=#{record.id} </update> zq-erp/src/main/resources/templates/views/admin/hive-erp/order/projService-list.html
@@ -138,7 +138,7 @@ layer.confirm('确定取消此订单?', { btn: ['确认', '取消'] //可以无限个按钮 }, function(index, layero){ $.post(basePath+'/admin/projService/cancelOrder?id='+id, {}, function(data){ $.post(basePath+'/admin/projService/erpCancelOrder?id='+id, {}, function(data){ parent.layer.msg(data.info,{icon: 1}); layer.closeAll(); myGrid.serchData(); zq-erp/src/main/resources/templates/views/admin/hive-erp/order/sysOrder-list.html
@@ -150,7 +150,7 @@ layer.confirm('确定取消此订单?', { btn: ['确认', '取消'] //可以无限个按钮 }, function(index, layero){ $.post(basePath+'/admin/order/cancelOrder?id='+id+'&del=0', {}, function(data){ $.post(basePath+'/admin/order/erpCancelOrder?id='+id+'&del=0', {}, function(data){ if (data.status == '200') { parent.layer.msg(data.info,{icon: 1}); } else { zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
@@ -145,7 +145,7 @@ MTools.ininDatetimepicker(".datetimepicker"); var delUrl=""; myGrid=MGrid.initGrid({ url:basePath+"/admin/sysVipInfo/showList", url:basePath+"/admin/vipInfo/showVipInfoList", delUrl:delUrl, }); zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
@@ -98,6 +98,14 @@ newSettings.add(newSetting7); ParameterSettings newSetting8=new ParameterSettings(); newSetting8.setCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER); newSetting8.setName("门店是否只能取消待付款订单,服务单"); newSetting8.setType(1); newSetting8.setCategory("店务配置"); newSettings.add(newSetting8); for (ParameterSettings newSetting : newSettings) { List<ParameterSettings> parameterSettings = parameterSettingsDao.selectByModel(newSetting); if(CollectionUtil.isEmpty(parameterSettings)){