From 870960399814cff73d1e6ef93fccb11bede8d464 Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Sat, 10 Jul 2021 09:04:39 +0800 Subject: [PATCH] Merge branch 'score_shop' into api_score_meger --- zq-erp/src/main/java/com/matrix/system/common/actions/AdminAction.java | 2 zq-erp/src/main/resources/templates/views/admin/index.html | 6 zq-erp/src/main/java/com/matrix/system/common/interceptor/UserLoginInterceptor.java | 3 zq-erp/src/main/resources/templates/views/admin/hive/vip/question-list.html | 2 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html | 11 zq-erp/pom.xml | 4 zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java | 20 zq-erp/src/main/resources/mybatis/mapper/hive/QuestionDao.xml | 5 zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java | 37 zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java | 2 zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java | 154 ----- zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java | 10 zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpOrderController.java | 31 zq-erp/src/main/resources/config/mdPrd/application.properties | 70 ++ zq-erp/src/main/resources/config/system.properties | 3 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysWorktimeServiceImpl.java | 25 zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java | 4 zq-erp/src/main/resources/config/mdPrd/config.json | 94 +++ zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 3 zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java | 2 zq-erp/src/main/resources/权限 | 24 zq-erp/src/test/java/com/matrix/TcProjTest.java | 16 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java | 150 ++-- zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 4 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-order.html | 2 zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java | 57 + zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java | 112 ---- zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java | 1 zq-erp/src/main/resources/templates/views/admin/hive/vip/question-form.html | 2 zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java | 12 zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java | 178 +++++- zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java | 2 zq-erp/src/main/resources/config/application.properties | 14 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-service.html | 2 zq-erp/src/main/java/com/matrix/system/hive/service/QuestionSerivce.java | 2 zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java | 2 zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml | 9 zq-erp/src/main/java/com/matrix/system/hive/dao/QuestionDao.java | 2 zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java | 7 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html | 4 zq-erp/src/main/java/com/matrix/system/hive/action/CustomerController.java | 3 zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html | 2 zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java | 40 + zq-erp/src/main/java/findC.java | 50 + zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml | 12 zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 8 zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java | 9 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 43 + zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml | 9 zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java | 8 zq-erp/src/test/java/com/matrix/JyyTests.java | 54 - zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 1 zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java | 1 zq-erp/src/main/resources/config/mdPrd/system.properties | 104 +++ zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html | 75 + zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html | 81 +- zq-erp/src/main/java/com/matrix/system/hive/service/imp/QuestionServiceImpl.java | 4 zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java | 3 zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-form.html | 17 59 files changed, 971 insertions(+), 643 deletions(-) diff --git a/zq-erp/pom.xml b/zq-erp/pom.xml index ed1dc1f..8f383be 100644 --- a/zq-erp/pom.xml +++ b/zq-erp/pom.xml @@ -401,11 +401,11 @@ <exclude>config/xcx/*</exclude> <exclude>config/xcshop/*</exclude> - <!----> + <!-- <exclude>config/config.json</exclude> <exclude>config/application.properties</exclude> <exclude>config/system.properties</exclude> - +--> <exclude>**/*.woff</exclude> diff --git a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java index 03cb319..54801c7 100644 --- a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java +++ b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java @@ -66,16 +66,10 @@ .excludePathPatterns("/webjars/**"); // 用户认证拦截 -// registry.addInterceptor(userLoginInterceptor) -// .addPathPatterns("/**") -// .excludePathPatterns("/common/**") -// .excludePathPatterns("/resource/**") -// .excludePathPatterns("/swagger**/**") -// .excludePathPatterns("/webjars/**") -// .excludePathPatterns("/api/**"); + registry.addInterceptor(userLoginInterceptor) + .addPathPatterns("/admin/**"); - // url权限拦截 - registry.addInterceptor(suAuthorityInterceptor).addPathPatterns("/**/su/**"); + //小程序公司与域名对应关系拦截 registry.addInterceptor(hostInterceptor).addPathPatterns("/**/wxapi/**") .excludePathPatterns("/wxCommon/wxapi/wxpayCallback") diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java index d2730e9..6090035 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java @@ -219,7 +219,6 @@ } - @ApiOperation(value = "获取api接口地址", notes = "获取api接口地址") @GetMapping(value = "/findApiUrl") public AjaxResult findApiUrl() { @@ -233,9 +232,16 @@ urlDto.setUrl("http://test.hive.jyymatrix.cc"); urlDto.setName("测试环境"); data.add(urlDto); + + urlDto = new UrlDto(); + urlDto.setUrl("http://hive.mydoline.com"); + urlDto.setName("美度专线"); + data.add(urlDto); + return AjaxResult.buildSuccessInstance(data); } + } diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java index 00c4211..73fe8c5 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java @@ -116,7 +116,6 @@ } } else { queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX); - queryUse.setIsOver(Dictionary.FLAG_NO_N); } queryUse.setQueryKey(serviceVipProjDto.getQueryKey()); diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java index bac7d9e..d9987fd 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java @@ -191,7 +191,8 @@ @GetMapping(value = "/findVipQuestions/{vipId}") public AjaxResult findVipQuestions(@PathVariable("vipId") Long vipId) { // 获取会员所有的答案,分类型 - List<Question> questions = questionSerivce.findByVipId(vipId); + SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + List<Question> questions = questionSerivce.findByVipId(vipId,user.getCompanyId()); AjaxResult result = AjaxResult.buildSuccessInstance("获取成功"); List<QuestionVo> list = QuestionMapper.INSTANCE.entitiesToVos(questions); result.putInMap("questions", list); diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java index 5ef3256..567c6b9 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java +++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java @@ -3,6 +3,7 @@ import com.matrix.system.hive.bean.ShoppingGoodsCategory; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import java.math.BigDecimal; import java.util.List; @@ -11,6 +12,7 @@ * @author wzy * @date 2020-12-24 **/ +@Data @ApiModel(value = "ShoppingGoodsDetailVo", description = "商品详情返回参数类") public class ShoppingGoodsDetailVo { @@ -45,7 +47,7 @@ private Integer maxSaleCnt; @ApiModelProperty(value = "每人限购次数") - private String limitBuyCnt; + private Integer limitBuyCnt; @ApiModelProperty(value = "充值卡使用范围 是-所有产品 否-部分产品") private String carIsAll; @@ -71,155 +73,5 @@ @ApiModelProperty(value = "卡项产品可消费类型") List<ShoppingGoodsCategory> cardCategory; - public BigDecimal getGiftPrice() { - return giftPrice; - } - public void setGiftPrice(BigDecimal giftPrice) { - this.giftPrice = giftPrice; - } - - public String getCarIsAll() { - return carIsAll; - } - - public void setCarIsAll(String carIsAll) { - this.carIsAll = carIsAll; - } - - public String getGoodsNo() { - return goodsNo; - } - - public void setGoodsNo(String goodsNo) { - this.goodsNo = goodsNo; - } - - public String getGoodsName() { - return goodsName; - } - - public void setGoodsName(String goodsName) { - this.goodsName = goodsName; - } - - public BigDecimal getSalePrice() { - return salePrice; - } - - public void setSalePrice(BigDecimal salePrice) { - this.salePrice = salePrice; - } - - public Integer getSaleCnt() { - return saleCnt; - } - - public void setSaleCnt(Integer saleCnt) { - this.saleCnt = saleCnt; - } - - public String getImg() { - return img; - } - - public void setImg(String img) { - this.img = img; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public String getGoodsType() { - return goodsType; - } - - public void setGoodsType(String goodsType) { - this.goodsType = goodsType; - } - - public Integer getVolume() { - return volume; - } - - public void setVolume(Integer volume) { - this.volume = volume; - } - - public String getMeasure() { - return measure; - } - - public void setMeasure(String measure) { - this.measure = measure; - } - - public Integer getMaxSaleCnt() { - return maxSaleCnt; - } - - public void setMaxSaleCnt(Integer maxSaleCnt) { - this.maxSaleCnt = maxSaleCnt; - } - - public String getLimitBuyCnt() { - return limitBuyCnt; - } - - public void setLimitBuyCnt(String limitBuyCnt) { - this.limitBuyCnt = limitBuyCnt; - } - - public List<ShoppingGoodsDetailVo> getAssembleProj() { - return assembleProj; - } - - public void setAssembleProj(List<ShoppingGoodsDetailVo> assembleProj) { - this.assembleProj = assembleProj; - } - - public List<ShoppingGoodsDetailVo> getAssembleTaocanProj() { - return assembleTaocanProj; - } - - public void setAssembleTaocanProj(List<ShoppingGoodsDetailVo> assembleTaocanProj) { - this.assembleTaocanProj = assembleTaocanProj; - } - - public List<ShoppingGoodsDetailVo> getAssembleTaocanProduct() { - return assembleTaocanProduct; - } - - public void setAssembleTaocanProduct(List<ShoppingGoodsDetailVo> assembleTaocanProduct) { - this.assembleTaocanProduct = assembleTaocanProduct; - } - - public List<ShoppingGoodsCategory> getCardCategory() { - return cardCategory; - } - - public void setCardCategory(List<ShoppingGoodsCategory> cardCategory) { - this.cardCategory = cardCategory; - } - - public String getIsCourse() { - return isCourse; - } - - public void setIsCourse(String isCourse) { - this.isCourse = isCourse; - } - - public Integer getMaxUseCnt() { - return maxUseCnt; - } - - public void setMaxUseCnt(Integer maxUseCnt) { - this.maxUseCnt = maxUseCnt; - } } diff --git a/zq-erp/src/main/java/com/matrix/system/common/actions/AdminAction.java b/zq-erp/src/main/java/com/matrix/system/common/actions/AdminAction.java index 70b7250..4cdafd3 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/actions/AdminAction.java +++ b/zq-erp/src/main/java/com/matrix/system/common/actions/AdminAction.java @@ -450,6 +450,7 @@ AjaxResult all() { SysUsers sysUsers = new SysUsers(); QueryUtil.setQueryLimit(sysUsers); + sysUsers.setSuValid(AppConstance.RECORD_VALID); return new AjaxResult(AjaxResult.STATUS_SUCCESS, sysUsersService.findInPage(sysUsers, null)); } @@ -499,6 +500,7 @@ orderSheet.setHeaders(header); SysUsers loginUser = getSessionUser(); shopStaffInfo.setShopId(loginUser.getShopId()); + shopStaffInfo.setSuValid(AppConstance.RECORD_VALID); List<SysUsers> dataList = sysUsersService.findInPage(shopStaffInfo, null); List<List<Object>> list = new ArrayList<>(); if (dataList.size() > 0) { diff --git a/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java b/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java index 4329524..db8c386 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java +++ b/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java @@ -79,24 +79,33 @@ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); Map<String, SysFunction> userFunction = WebUtil.getSessionAttribute(USERFUNCTION); + + // 企业管理员不校验按钮权限 if (AppConstance.USER_TYPE_DEVELOPER.equals(user.getSuUserType()) || AppConstance.USER_TYPE_SUPER.equals(user.getSuUserType()) || AppConstance.USER_TYPE_ADMIN.equals(user.getSuUserType())) { return true; } - String[] strs = matchStr.split("-"); - if (strs.length != DEFAULT_2) { - throw new IllegalArgumentException("权限matchStr格式错误,需要fnCode:btnValue"); - } - SysFunction fn = userFunction.get(strs[0].trim()); - // 功能是否存在 - if (fn == null) { + if (userFunction == null) { return false; } else { - return StringUtils.isContentSet(strs[1].trim(), fn.getRpfBns()); + + String[] strs = matchStr.split("-"); + if (strs.length != DEFAULT_2) { + throw new IllegalArgumentException("权限matchStr格式错误,需要fnCode:btnValue"); + } + + SysFunction fn = userFunction.get(strs[0].trim()); + // 功能是否存在 + if (fn == null) { + return false; + } else { + return StringUtils.isContentSet(strs[1].trim(), fn.getRpfBns()); + } } + } /** @@ -113,8 +122,13 @@ return true; } Map<String, SysFunction> userFunction = WebUtil.getSessionAttribute(USERFUNCTION); - SysFunction fn = userFunction.get(fnCode); - return fn == null ? false : true; + if (userFunction == null) { + return false; + } else { + SysFunction fn = userFunction.get(fnCode); + return fn == null ? false : true; + } + } /** @@ -141,7 +155,7 @@ SysUsers sysUser = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - String redisKey = USER_POWER_REDISKEY_PC + SecureUtil.md5(sysUser.getSuId()+""); + String redisKey = USER_POWER_REDISKEY_PC + SecureUtil.md5(sysUser.getSuId() + ""); String cachedValue = redisClient.getCachedValue(redisKey); if (StringUtils.isNotBlank(cachedValue)) { //从缓存中获取用户权限 @@ -169,11 +183,11 @@ // 组装菜单 assembleMenu(menuFunction, menuFunctionMap); - Map<String ,Object> powerMap=new HashMap<>(); + Map<String, Object> powerMap = new HashMap<>(); powerMap.put(USERFUNCTION, userFunction); powerMap.put(MENUSFUNCTION, menuFunction); powerMap.put(USER_URL_MAPPING, userUrlMapping); - redisClient.saveValue(redisKey,JSONUtil.parseObj(powerMap,true)); + redisClient.saveValue(redisKey, JSONUtil.parseObj(powerMap, true)); } diff --git a/zq-erp/src/main/java/com/matrix/system/common/interceptor/UserLoginInterceptor.java b/zq-erp/src/main/java/com/matrix/system/common/interceptor/UserLoginInterceptor.java index e1e5bb3..9603548 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/interceptor/UserLoginInterceptor.java +++ b/zq-erp/src/main/java/com/matrix/system/common/interceptor/UserLoginInterceptor.java @@ -33,10 +33,11 @@ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception { - String requestUrl = request.getRequestURI(); + String requestUrl = request.getRequestURI(); // 如果访问特殊的路径需要验证管理员的登录权限 if (requestUrl.indexOf(ADMIN) != -1 || requestUrl.indexOf(SUPER) != -1 || requestUrl.indexOf(DEVELOPER) != -1 || requestUrl.indexOf(CUSTOMER) != -1) { + if (WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY) == null) { // 判断是否为异步请求 String requestType = request.getHeader(X_REQUESTED_WITH); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java index b92149f..54729d2 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java @@ -33,7 +33,7 @@ @RequestMapping(value = "/showList") public @ResponseBody AjaxResult showList(SysVipLevel vipLevel,PaginationVO pageVo) { SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - vipLevel.setShopId(users.getShopId()); + vipLevel.setCompanyId(users.getCompanyId()); return showList(cardLevelService,vipLevel,pageVo); } /** diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/CustomerController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/CustomerController.java index 1b8c0b4..80835bf 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/CustomerController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/CustomerController.java @@ -153,7 +153,8 @@ @RequestMapping(value = "/findVipQuestionVipId") public String findVipQuestionVipId(Long id) { //获取会员所有的答案,分类型 - List<Question> questions=questionSerivce.findByVipId(id); + SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + List<Question> questions=questionSerivce.findByVipId(id,user.getCompanyId()); WebUtil.getRequest().setAttribute("questions", questions); return "admin/hive/mobile/CRM-account-detail"; diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java index acb73b6..c19da86 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java @@ -9,11 +9,9 @@ import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.constance.Dictionary; -import com.matrix.system.constance.SystemConstance; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.MoneyCardUseDao; import com.matrix.system.hive.dao.MoneyCardUseFlowDao; -import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.pojo.CzXkVo; import com.matrix.system.hive.service.*; import com.matrix.system.shopXcx.mqTask.MQTaskRouting; @@ -27,7 +25,6 @@ import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -282,9 +279,9 @@ @RequestMapping(value = "/active") public @ResponseBody AjaxResult active(MoneyCardUse moneyCardUse) { - MoneyCardUse proj = moneyCardUseDao.selectById(moneyCardUse.getId()); - String status = proj.getStatus(); - Date failTime = proj.getFailTime(); + MoneyCardUse cardUse = moneyCardUseDao.selectById(moneyCardUse.getId()); + String status = cardUse.getStatus(); + Date failTime = cardUse.getFailTime(); Date today = new Date(); Date newDate = null; newDate = moneyCardUse.getFailTime(); @@ -303,14 +300,27 @@ //如果是冻结状态则要算出冻结的天数,延长有效期 case Dictionary.TAOCAN_STATUS_DJ: MoneyCardUseFreeze freeze = new MoneyCardUseFreeze(); - freeze = moneyCardUseFreezeService.findByMoneyCardUseId(proj.getId()); - proj.setFailTime(DateUtil.nextNDate(failTime, freeze.getGapDays())); + freeze = moneyCardUseFreezeService.findByMoneyCardUseId(cardUse.getId()); + cardUse.setFailTime(DateUtil.nextNDate(failTime, freeze.getGapDays())); break; default: return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择无效或者冻结的充值卡"); } - proj.setFailTime(moneyCardUse.getFailTime()); - cardUseService.active(proj); + cardUse.setFailTime(moneyCardUse.getFailTime()); + cardUseService.active(cardUse); + + + MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + moneyCardUseFlow.setCarUseId(cardUse.getId()); + moneyCardUseFlow.setVipId(cardUse.getVipId()); + moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY); + moneyCardUseFlow.setCreateTime(new Date()); + moneyCardUseFlow.setOperationId(user.getSuId()); + moneyCardUseFlow.setContent("设置为有效"); + moneyCardUseFlowDao.insert(moneyCardUseFlow); + + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已设置为有效"); } @@ -323,9 +333,9 @@ @RequestMapping(value = "/invalid") public @ResponseBody AjaxResult invalidTc(MoneyCardUse moneyCardUse) { - MoneyCardUse proj = cardUseService.findById(moneyCardUse.getId()); + MoneyCardUse cardUse = cardUseService.findById(moneyCardUse.getId()); //以及转让或者退款的不能在设置为无效 - String status = proj.getStatus(); + String status = cardUse.getStatus(); switch (status) { case Dictionary.TAOCAN_STATUS_TK: return new AjaxResult(AjaxResult.STATUS_FAIL, "充值卡已退款"); @@ -334,7 +344,16 @@ case Dictionary.TAOCAN_STATUS_DJ: return new AjaxResult(AjaxResult.STATUS_FAIL, "充值卡已冻结"); } - cardUseService.invalid(proj); + cardUseService.invalid(cardUse); + MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + moneyCardUseFlow.setCarUseId(cardUse.getId()); + moneyCardUseFlow.setVipId(cardUse.getVipId()); + moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY); + moneyCardUseFlow.setCreateTime(new Date()); + moneyCardUseFlow.setOperationId(user.getSuId()); + moneyCardUseFlow.setContent("设置为无效"); + moneyCardUseFlowDao.insert(moneyCardUseFlow); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已设置为无效"); } @@ -365,6 +384,18 @@ public @ResponseBody AjaxResult freeze(MoneyCardUse moneyCardUse) { int i = cardUseService.freeze(moneyCardUse); + cardUseService.invalid(moneyCardUse); + + MoneyCardUse cardUse = cardUseService.findById(moneyCardUse.getId()); + MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + moneyCardUseFlow.setCarUseId(cardUse.getId()); + moneyCardUseFlow.setVipId(cardUse.getVipId()); + moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY); + moneyCardUseFlow.setCreateTime(new Date()); + moneyCardUseFlow.setOperationId(user.getSuId()); + moneyCardUseFlow.setContent("冻结会员卡"); + moneyCardUseFlowDao.insert(moneyCardUseFlow); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "冻结成功"); } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java index faed6f0..77dc742 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java @@ -191,7 +191,6 @@ queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM); queryUse.setTaocanId(-1L); queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX); - queryUse.setIsOver(Dictionary.FLAG_NO_N); List<SysProjUse> projList = projUseService.findInPage(queryUse, null); //切换到套餐查询条件 queryUse.setTaocanId(null); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java index aa8f6b4..a1c45d6 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java @@ -5,7 +5,10 @@ import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; -import com.matrix.core.tools.*; +import com.matrix.core.tools.DateUtil; +import com.matrix.core.tools.LogUtil; +import com.matrix.core.tools.PropertiesUtil; +import com.matrix.core.tools.WebUtil; import com.matrix.core.tools.excl.ExcelSheetPO; import com.matrix.core.tools.excl.ExcelUtil; import com.matrix.core.tools.excl.ExcelVersion; @@ -18,11 +21,9 @@ import com.matrix.system.common.tools.ResponseHeadUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.action.util.QueryUtil; -import com.matrix.system.hive.bean.Question; -import com.matrix.system.hive.bean.SysVipInfo; -import com.matrix.system.hive.bean.SysVipLevel; -import com.matrix.system.hive.bean.VipAnswer; +import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.MoneyCardUseDao; +import com.matrix.system.hive.dao.ShoppingGoodsDao; import com.matrix.system.hive.dao.SysVipLabelDao; import com.matrix.system.hive.dao.VipAnswerDao; import com.matrix.system.hive.pojo.RegisterInfo; @@ -31,10 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -43,10 +41,8 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; -import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; -import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; @@ -90,9 +86,140 @@ private CustomerDataDictionaryDao customerDataDictionaryDao; @Resource private SysOrderService sysOrderService; - + @Autowired + ShoppingGoodsDao shoppingGoodsDao; @Autowired private ScoreVipDetailDao scoreVipDetailDao; + @Resource + private SysProjUseService projUseService; + @Resource + HttpServletResponse response; + + @RequestMapping(value = "/exportExcel/{vipId}") + public void getVipAllProjInfo(@PathVariable Long vipId) throws IOException { + + List<ExcelSheetPO> res = new ArrayList<>(); + ExcelSheetPO orderSheet = new ExcelSheetPO(); + + SysVipInfo vipInfo = vipInfoService.findById(vipId); + + String title = vipInfo.getVipName()+"("+vipInfo.getVipNo()+")会员资料"; + orderSheet.setSheetName(title); + orderSheet.setTitle(title); + String[] header = {"产品类型", "产品名称","来源", "状态", "余额", "余次", "到期时间", "本金", "赠金"}; + orderSheet.setHeaders(header); + + + SysProjUse queryUse = new SysProjUse(); + queryUse.setVipId(vipId); + queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM); + queryUse.setTaocanId(-1L); + queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX); + List<SysProjUse> projList = projUseService.findInPage(queryUse, null); + + List<List<Object>> list = new ArrayList<>(); + if (projList.size() > 0) { + for (SysProjUse item : projList) { + List<Object> temp = new ArrayList<>(); + temp.add("项目"); + temp.add(item.getProjName()); + temp.add(item.getSource()); + temp.add("有效"); + temp.add(item.getBalance()); + temp.add(item.getSurplusCount()); + temp.add(DateUtil.dateToString(item.getFailTimeStr(),DateUtil.DATE_FORMAT_DD)); + temp.add(""); + temp.add(""); + list.add(temp); + } + } + //套餐 + //切换到套餐查询条件 + SysProjUse queryTaocan = new SysProjUse(); + queryTaocan.setType(Dictionary.SHOPPING_GOODS_TYPE_TC); + queryTaocan.setStatus(Dictionary.TAOCAN_STATUS_YX); + queryTaocan.setVipId(vipId); + List<SysProjUse> taoCanList = projUseService.findInPage(queryTaocan, null); + taoCanList.forEach(item->{ + item.setTaocanProjUse(projUseService.selectTaocanProjUse(item.getId(), queryUse.getStatus())); + item.setProjInfo(shoppingGoodsDao.selectById(item.getProjId())); + }); + if (taoCanList.size() > 0) { + for (SysProjUse item : taoCanList) { + List<Object> temp = new ArrayList<>(); + + if(Dictionary.FLAG_YES_Y.equals(item.getIsCourse())){ + temp.add("任选套餐"); + }else{ + temp.add("固定套餐"); + } + temp.add(item.getProjName()); + temp.add(item.getSource()); + temp.add("有效"); + temp.add(item.getBalance()); + temp.add(item.getSurplusCount()); + temp.add(DateUtil.dateToString(item.getFailTimeStr(),DateUtil.DATE_FORMAT_DD)); + temp.add(""); + temp.add(""); + list.add(temp); + + //套餐下项目 + List<SysProjUse> taocanProjUse = item.getTaocanProjUse(); + if (taocanProjUse.size() > 0) { + for (SysProjUse proj_item : taocanProjUse) { + List<Object> temp2 = new ArrayList<>(); + temp2.add(" |————"); + temp2.add(proj_item.getProjName()); + temp2.add(proj_item.getSource()); + temp2.add("有效"); + temp2.add(proj_item.getBalance()); + temp2.add(proj_item.getSurplusCount()); + temp2.add(DateUtil.dateToString(proj_item.getFailTimeStr(),DateUtil.DATE_FORMAT_DD)); + temp2.add(""); + temp2.add(""); + list.add(temp2); + } + } + + + } + } + + + //储值卡 + MoneyCardUse moneyCardUse = new MoneyCardUse(); + moneyCardUse.setVipId(vipId); + moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX); + List<MoneyCardUse> cards = cardUseService.findByModel(moneyCardUse); + + if (cards.size() > 0) { + for (MoneyCardUse item : cards) { + List<Object> temp = new ArrayList<>(); + temp.add("储值卡"); + temp.add(item.getCardName()); + temp.add(item.getSource()); + temp.add("有效"); + temp.add(""); + temp.add(item.getLastCount()); + temp.add(DateUtil.dateToString(item.getFailTime(),DateUtil.DATE_FORMAT_DD)); + temp.add(item.getRealMoney()); + temp.add(item.getGiftMoney()); + list.add(temp); + } + } + + + + + orderSheet.setDataList(list); + res.add(orderSheet); + response = ResponseHeadUtil.setExcelHead(response); + response.setHeader("Content-Disposition", + "attachment;filename=" + URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8")); + OutputStream os = response.getOutputStream(); + ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true); + } + @RequestMapping(value = "/showVipLevel") @@ -135,9 +262,9 @@ vips.get(0).setLabels(sysVipLabelDao.selectByVipId(vips.get(0).getId())); vips.get(0).setAge(DateUtil.getAgeForBirthDay(vips.get(0).getBirthday1())); vips.get(0).setBalance(moneyCardUseDao.selectVipCardTotalMoney(vips.get(0).getId())); - AjaxResult result= new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0); + AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0); return result; - }else{ + } else { return AjaxResult.buildFailInstance("未查到询客户信息"); } @@ -162,25 +289,9 @@ public @ResponseBody AjaxResult addOrModify(SysVipInfo vipInfo) { if (vipInfo.getId() != null) { - - try { - if (vipInfo.getPassWord() != null) { - vipInfo.setPassWord(EncrypUtil.getMD5(vipInfo.getPassWord())); - } - } catch (UnsupportedEncodingException | NoSuchAlgorithmException e) { - e.printStackTrace(); - } return modify(vipInfoService, vipInfo, "会员信息"); } else { - - try { - if (StringUtils.isNotBlank(vipInfo.getPassWord())) { - vipInfo.setPassWord(EncrypUtil.getMD5(vipInfo.getPassWord())); - } - vipInfo.setVipState(Dictionary.VIP_STATE_HY); - } catch (UnsupportedEncodingException | NoSuchAlgorithmException e) { - e.printStackTrace(); - } + vipInfo.setVipState(Dictionary.VIP_STATE_HY); SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); vipInfo.setShopId(users.getShopId()); return add(vipInfoService, vipInfo, "会员信息"); @@ -253,7 +364,8 @@ public @ResponseBody AjaxResult getVipQuestions(Long id, HttpServletRequest request) { // 获取会员所有的答案,分类型 - List<Question> questions = questionSerivce.findByVipId(id); + SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + List<Question> questions = questionSerivce.findByVipId(id, user.getCompanyId()); request.setAttribute("questions", questions); AjaxResult result = new AjaxResult(); result.putInMap("questions", questions); @@ -317,7 +429,7 @@ SystemDictionary dataDictionary = new SystemDictionary(); // 获取到店途径 dataDictionary.setType("到店途径"); - WebUtil.getRequest().setAttribute("ddtj", customerDataDictionaryDao.selectByParentCode("DDTJ",getMe().getCompanyId())); + WebUtil.getRequest().setAttribute("ddtj", customerDataDictionaryDao.selectByParentCode("DDTJ", getMe().getCompanyId())); // 获取生肖 dataDictionary.setType("生肖"); WebUtil.getRequest().setAttribute("sx", dataDictionaryService.findByModel(dataDictionary)); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java index ff883d8..8f498a0 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java @@ -192,6 +192,8 @@ private String vipQueryKey; + private Long achieveRuleId; + /** * 订单编号 @@ -541,6 +543,13 @@ this.day = day; } + public Long getAchieveRuleId() { + return achieveRuleId; + } + + public void setAchieveRuleId(Long achieveRuleId) { + this.achieveRuleId = achieveRuleId; + } public String getOrderNo() { return orderNo; diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java index 9824694..789b879 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java @@ -210,7 +210,7 @@ /** * 单会员是否只买一次 */ - private String isOnce; + private Integer isOnce; /** * 销售平台 @@ -1002,11 +1002,12 @@ this.saleOffTime = saleOffTime; } - public String getIsOnce() { + + public Integer getIsOnce() { return isOnce; } - public void setIsOnce(String isOnce) { + public void setIsOnce(Integer isOnce) { this.isOnce = isOnce; } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java index 932fffb..5c23ed7 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java @@ -4,19 +4,18 @@ import com.matrix.core.anotations.Extend; import com.matrix.core.pojo.EntityDTO; import com.matrix.core.tools.DateUtil; -import com.matrix.system.common.bean.EntityDTOExt; -import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; -import javax.validation.constraints.NotBlank; -import java.io.Serializable; import java.util.Date; -import java.util.List; /**项目余次操作记录 * @date 2016-07-03 20:53 */ +@Data public class SysProjUseFlow extends EntityDTO { private static final long serialVersionUID = 1L; @@ -94,107 +93,4 @@ @Extend private String endTime; - public String getBeginTime() { - return beginTime; - } - - public void setBeginTime(String beginTime) { - this.beginTime = beginTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getProjUseId() { - return projUseId; - } - - public void setProjUseId(Long projUseId) { - this.projUseId = projUseId; - } - - public Integer getSurplusCount() { - return surplusCount; - } - - public void setSurplusCount(Integer surplusCount) { - this.surplusCount = surplusCount; - } - - public String getIsOver() { - return isOver; - } - - public void setIsOver(String isOver) { - this.isOver = isOver; - } - - public Date getFailTime() { - return failTime; - } - - public void setFailTime(Date failTime) { - this.failTime = failTime; - } - - public Double getPrice() { - return price; - } - - public void setPrice(Double price) { - this.price = price; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Double getBalance() { - return balance; - } - - public void setBalance(Double balance) { - this.balance = balance; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - public String getProjName() { - return projName; - } - - public void setProjName(String projName) { - this.projName = projName; - } - - public String getOptionType() { - return optionType; - } - - public void setOptionType(String optionType) { - this.optionType = optionType; - } } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java index d0d0ad3..4f422ae 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java @@ -1,5 +1,6 @@ package com.matrix.system.hive.dao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.matrix.core.pojo.PaginationVO; import com.matrix.system.hive.bean.MoneyCardUse; import org.apache.ibatis.annotations.Param; @@ -15,7 +16,7 @@ */ -public interface MoneyCardUseDao{ +public interface MoneyCardUseDao extends BaseMapper<MoneyCardUse> { public int insert(MoneyCardUse moneyCardUse); @@ -84,6 +85,7 @@ public Double selectVipCardTotalMoney(@Param("vipId") Long vipId); - List<MoneyCardUse> selectHasValidMoneyCardUse(); - + int updateInvalidMoneyCardUse(); + + void updateId(@Param("id")Long id, @Param("newId")Long i); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/QuestionDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/QuestionDao.java index 19a388a..b102348 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/QuestionDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/QuestionDao.java @@ -47,6 +47,6 @@ * @param type 问卷分类 * @return */ - public List<Question> selectVipAnswerAllByModel(@Param("id") Long id, @Param("type") String type); + public List<Question> selectVipAnswerAllByModel(@Param("id") Long id,@Param("companyId") Long companyId, @Param("type") String type); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java index c846f0d..cc06823 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java @@ -91,4 +91,6 @@ int selectShopppingGoodsAipTotal(@Param("record") ShoppingGoodsListDto shoppingGoodsListDto); public List<ShoppingGoods> selectByIds(@Param("ids")List<Integer> ids); + + int updateInvalidProduct(); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java index 1abccec..b8793dc 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java @@ -46,7 +46,7 @@ */ public List<SysOrderItem> selectByOrderId(@Param("orderId") Long orderId); - public Integer selectByGoodsId(@Param("goodsId") Long goodsId); + public Integer selectByGoodsId(@Param("goodsId") Long goodsId,@Param("vipId") Long vipId); public List<SysOrderItem> selectItemByTime(@Param("shopId")Long shopId, @Param("time")Date time); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java index cd06925..6eac36c 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java @@ -127,7 +127,7 @@ public int updateTcStatus(@Param("id") Long id, @Param("status") String status); - List<SysProjUse> selectHasValidProjUse(); + int updateInvalidProjUse(); List<SysProjUseFlow> selectProjUseFlow(@Param("record") SysProjUseFlow projUseFlow, @Param("pageVo")PaginationVO pageVo); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/QuestionSerivce.java b/zq-erp/src/main/java/com/matrix/system/hive/service/QuestionSerivce.java index 44b94b7..c986c81 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/QuestionSerivce.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/QuestionSerivce.java @@ -77,7 +77,7 @@ * luokai * @return */ - public List<Question> findByVipId(Long id); + public List<Question> findByVipId(Long id,Long companyId); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java index 414e544..5eb09f1 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java @@ -1,21 +1,20 @@ package com.matrix.system.hive.service.imp; -import com.matrix.core.constance.MatrixConstance; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; -import com.matrix.core.tools.WebUtil; -import com.matrix.system.common.bean.SysUsers; -import com.matrix.system.constance.Dictionary; -import com.matrix.system.hive.bean.*; -import com.matrix.system.hive.dao.*; import com.matrix.core.tools.DateUtil; -import com.matrix.system.hive.plugin.util.MoneyUtil; +import com.matrix.system.constance.Dictionary; +import com.matrix.system.hive.bean.MoneyCardUse; +import com.matrix.system.hive.bean.MoneyCardUseFreeze; +import com.matrix.system.hive.bean.SysOrderItem; +import com.matrix.system.hive.bean.SysVipInfo; +import com.matrix.system.hive.dao.*; import com.matrix.system.hive.service.MoneyCardUseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.text.DecimalFormat; import java.util.Date; import java.util.List; @@ -24,7 +23,7 @@ * @date 2016-09-17 10:17 */ @Service("moneyCardUseService") -public class MoneyCardUseServiceImpl implements MoneyCardUseService { +public class MoneyCardUseServiceImpl extends ServiceImpl<MoneyCardUseDao,MoneyCardUse> implements MoneyCardUseService { @Autowired @@ -231,8 +230,7 @@ } } moneyCardUseDao.update(proj); - StringBuilder content = new StringBuilder(); - content.append(proj.getCardName() + "设置有效"); + } //设置为失效 diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/QuestionServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/QuestionServiceImpl.java index b37bbfd..5cb357a 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/QuestionServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/QuestionServiceImpl.java @@ -175,12 +175,12 @@ * @return */ @Override - public List<Question> findByVipId(Long id) { + public List<Question> findByVipId(Long id,Long companyId) { - List<Question> vipAnswerList=quesionDao.selectVipAnswerAllByModel(id,Question.TYPE_ZXDAGL); + List<Question> vipAnswerList=quesionDao.selectVipAnswerAllByModel(id,companyId,Question.TYPE_ZXDAGL); return vipAnswerList; diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java index 299361c..09acbd5 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java @@ -14,12 +14,14 @@ import com.matrix.system.common.tools.ServiceUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.constance.TableMapping; -import com.matrix.system.hive.bean.*; +import com.matrix.system.hive.bean.ShoppingGoods; +import com.matrix.system.hive.bean.ShoppingGoodsAssemble; +import com.matrix.system.hive.bean.ShoppingGoodsCategory; +import com.matrix.system.hive.bean.SysShopInfo; import com.matrix.system.hive.dao.MoneyCardAssembleDao; import com.matrix.system.hive.dao.ShoppingGoodsAssembleDao; import com.matrix.system.hive.dao.ShoppingGoodsDao; import com.matrix.system.hive.dao.SysShopInfoDao; -import com.matrix.system.hive.plugin.message.StringUtil; import com.matrix.system.hive.service.ShoppingGoodsService; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -27,9 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.validation.constraints.NotNull; -import java.awt.event.WindowStateListener; import java.math.BigDecimal; -import java.time.LocalDate; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -526,7 +526,7 @@ goodsDetailVo.setGoodsType(shoppingGoods.getGoodType()); goodsDetailVo.setDesc(shoppingGoods.getDescription()); goodsDetailVo.setMaxSaleCnt(shoppingGoods.getCarMaxSaleCount()); - goodsDetailVo.setLimitBuyCnt("否".equals(shoppingGoods.getIsOnce()) ? null : shoppingGoods.getIsOnce()); + goodsDetailVo.setLimitBuyCnt(shoppingGoods.getIsOnce()); goodsDetailVo.setMaxUseCnt(shoppingGoods.getCarUseCount()); goodsDetailVo.setMeasure(shoppingGoods.getMeasure()); goodsDetailVo.setVolume(shoppingGoods.getVolume()); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java index 1e80f7f..e3e1fa1 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java @@ -498,8 +498,10 @@ throw new GlobleException("该订单已经收过款,请刷新页面再试!"); } - //交易业绩设置是否合理 + //检查交易限制调整 + checkSealLimit(pageOrder); + //交易业绩设置是否合理 checkAchieveIsOk(pageOrder); @@ -535,6 +537,41 @@ //设置会员积分 addVipScore(pageOrder); + + } + + /** + * 检查产品销售次数 + */ + private void checkSealLimit(SysOrder pageOrder) { + pageOrder.getItems().forEach(item->{ + ShoppingGoods shopGoods = shoppingGoodsDao.selectById(item.getGoodsId()); + + //最大销售次数检测 + Integer maxNum = shopGoods.getCarMaxSaleCount(); + if (maxNum != null && maxNum != 0) { + Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId(),null); + if ((buyNum + item.getCount()) > maxNum) { + throw new GlobleException(shopGoods.getName() + "已超过最大销售数量"); + } + if ((buyNum + item.getCount()) == maxNum) { + if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) { + shopGoods.setStaus(Dictionary.BUSINESS_STATE_DOWN); + shoppingGoodsDao.update(shopGoods); + } + } + } + //每人限购次数检测 + Integer onceCount = shopGoods.getIsOnce(); + if(onceCount!=null && onceCount!=0){ + Integer buyOnceCount = orderItemDao.selectByGoodsId(shopGoods.getId(),pageOrder.getVipId()); + + if ((buyOnceCount + item.getCount()) > onceCount) { + throw new GlobleException(shopGoods.getName() + "每人限购"+onceCount+"次"); + } + } + + }); } @@ -780,7 +817,7 @@ // 最大发卡数量为0代表不做限制 if (maxNum != null && maxNum != 0) { // 查询该商品已经被购买的次数 - Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId()); + Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId(),null); buyNum = (buyNum == null ? 0 : buyNum); if ((buyNum + carItem.getCount()) > maxNum) { throw new GlobleException(shopGoods.getName() + "已超过最大销售数量"); @@ -944,7 +981,6 @@ moneyCardUse.setGiftMoney(moneyCar.getReferencePice()); moneyCardUse.setRealMoney(moneyCar.getSealPice()); moneyCardUse.setGoodsId(moneyCar.getId()); - moneyCardUse.setIsOver(Dictionary.FLAG_NO_N); moneyCardUse.setOrderItemId(sysOrderItem.getId()); moneyCardUse.setSource(Dictionary.TAOCAN_SOURCE_GM); moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX); @@ -1702,7 +1738,6 @@ if (Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(item.getType())) { MoneyCardUse queryCardUse = new MoneyCardUse(); - queryCardUse.setIsOver(Dictionary.FLAG_NO_N); queryCardUse.setStatus(Dictionary.TAOCAN_STATUS_YX); queryCardUse.setOrderItemId(item.getOldItemId()); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java index d113cc4..9e78b10 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java @@ -10,7 +10,6 @@ import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; -import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hive.plugin.util.MoneyUtil; import com.matrix.system.hive.service.SysProjUseService; import org.springframework.beans.factory.annotation.Autowired; @@ -230,6 +229,19 @@ } taocan.setStatus(Dictionary.TAOCAN_STATUS_YX); sysProjUseDao.updateProjStatus(taocan); + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(taocan.getProjName()); + useFlow.setProjUseId(taocan.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setRemark("设置为有效状态"); + useFlow.setFailTime(taocan.getFailTime()); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_YX); + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); + + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功"); } @@ -257,6 +269,19 @@ } else { i = sysProjuseFreezeDao.insert(freeze); } + + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(taocan.getProjName()); + useFlow.setProjUseId(taocan.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_DJ); + useFlow.setRemark("冻结项目"); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); + return i; } else { throw new GlobleException("未找到套餐"); @@ -302,73 +327,6 @@ return money; } - public double getTotalMoney(SysProjUse sysProjUse, MoneyCardUse cardUse, Long moneyCardUseId) { - List<SysProjUse> list = sysProjUseDao.selectByModel(sysProjUse); - double money = 0; - if (CollectionUtils.isEmpty(list)) { - throw new GlobleException("该套餐没有可退款的项目!"); - } - //判断套餐是否存在欠款 - SysProjUse projuse = list.get(0); - checkOrderStatu(projuse); - if (!(projuse.getStatus().equals(Dictionary.TAOCAN_STATUS_YX))) { - throw new GlobleException("不是有效套餐"); - } - if (projuse.getSource().contains(Dictionary.TAOCAN_SOURCE_ZR)) { - throw new GlobleException("转让的套餐不能退款"); - } - if (projuse.getSource().contains(Dictionary.TAOCAN_SOURCE_ZS)) { - throw new GlobleException("赠送的套餐不能退款"); - } - //获取会员卡 - cardUse = moneyCardUseDao.selectVipCard(projuse.getVipId()); - String content; - //如果是套餐卡 - ShoppingGoodsAssemble shoppingGoodsAssemble = shoppingGoodsAssembleDao.selectById(sysProjUse.getAssembleId()); - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(shoppingGoodsAssemble.getShoppingGoodsId()); - if (Dictionary.SHOPPING_GOODS_TYPE_TCK.equals(projuse.getType())) { - money = projuse.getBalance(); - //余次使用流水操作 - - content = shoppingGoods.getName() + "退款¥" + projuse.getBalance(); - } else { - for (SysProjUse itemUser : list) { - Double emoney = MoneyUtil.mul(Double.parseDouble(itemUser.getSurplusCount() + ""), itemUser.getPrice()); - money = MoneyUtil.add(emoney, money); - } - //余次使用流水操作 - content = shoppingGoods.getName() + "退款¥" + money; - } - - - SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); - // 1、金额退到该用户的有效会籍卡中 - System.out.println("==========" + cardUse); - if (moneyCardUseId != null) { - if (cardUse == null) { - content += "到现金。"; - } else { - //SysOrderItem orderItem = orderItemDao.selectById(cardUse.getOrderItemId()); - - StringBuilder contentBuild = new StringBuilder(); - contentBuild.append("到" + cardUse.getCardName()) - .append(",余次:" + cardUse.getLastCountName()) - .append(",本金余额:" + MoneyUtil.add(cardUse.getRealMoney(), money)) - .append(",赠送余额:" + cardUse.getGiftMoney()) - .append(",有效期:" + DateUtil.dateToString(cardUse.getFailTime(), DateUtil.DATE_FORMAT_MM)) - .append(",是否赠送:" + cardUse.getSourceName()); - content += contentBuild.toString(); - - cardUse.setRealMoney(cardUse.getRealMoney() + money); - ; - moneyCardUseDao.update(cardUse); - - } - } else { - content += "到现金。"; - } - return money; - } /** * 检测是否存在欠款 @@ -400,7 +358,22 @@ throw new GlobleException("套餐已冻结"); } taocan.setStatus(Dictionary.TAOCAN_STATUS_WX); + int i = sysProjUseDao.updateTcStatus(sysProjUse.getId(), "无效"); + + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(taocan.getProjName()); + useFlow.setProjUseId(taocan.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_WX); + useFlow.setRemark("设置为无效状态"); + useFlow.setFailTime(taocan.getFailTime()); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); + return i; } @@ -502,6 +475,17 @@ } else { i = sysProjuseFreezeDao.insert(freeze); } + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(sysProjUse.getProjName()); + useFlow.setProjUseId(sysProjUse.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_DJ); + useFlow.setRemark("冻结项目"); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); return i; } @@ -527,9 +511,19 @@ throw new GlobleException("套餐已冻结"); } sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_WX); - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(sysProjUse.getProjId()); - String content = shoppingGoods.getName() + "设置为" + sysProjUse.getStatus(); + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(sysProjUse.getProjName()); + useFlow.setProjUseId(sysProjUse.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_WX); + useFlow.setRemark("设置为无效状态"); + useFlow.setFailTime(sysProjUse.getFailTime()); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); return sysProjUseDao.update(sysProjUse); } @@ -576,11 +570,19 @@ } proj.setStatus(Dictionary.TAOCAN_STATUS_YX); sysProjUseDao.update(proj); - StringBuilder content = new StringBuilder(); - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(proj.getProjId()); - content.append(shoppingGoods.getName() + "设置为有效") - .append(",有效期:" + DateUtil.dateToString(proj.getFailTime(), DateUtil.DATE_FORMAT_MM)); + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(proj.getProjName()); + useFlow.setProjUseId(proj.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_YX); + useFlow.setRemark("设置为有效状态"); + useFlow.setFailTime(proj.getFailTime()); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功"); } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysWorktimeServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysWorktimeServiceImpl.java index 77ccadb..793ae96 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysWorktimeServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysWorktimeServiceImpl.java @@ -99,16 +99,21 @@ public boolean isInWorkTime(Long shopId, Date beginTime, Date endTime) { if(beginTime!=null){ Date minTime = findMinTime(shopId); - Date maxTime = findMaxTime(shopId); - minTime.setYear(beginTime.getYear()); - minTime.setMonth(beginTime.getMonth()); - minTime.setDate(beginTime.getDate()); - maxTime.setYear(beginTime.getYear()); - maxTime.setMonth(beginTime.getMonth()); - maxTime.setDate(beginTime.getDate()); - return ( - (DateUtil.isDuringDate(minTime, maxTime, beginTime) || minTime.getTime()==beginTime.getTime() ) - && DateUtil.isDuringDate(minTime, maxTime, endTime) || maxTime.getTime()==endTime.getTime() ); + if(minTime!=null){ + Date maxTime = findMaxTime(shopId); + minTime.setYear(beginTime.getYear()); + minTime.setMonth(beginTime.getMonth()); + minTime.setDate(beginTime.getDate()); + maxTime.setYear(beginTime.getYear()); + maxTime.setMonth(beginTime.getMonth()); + maxTime.setDate(beginTime.getDate()); + return ( + (DateUtil.isDuringDate(minTime, maxTime, beginTime) || minTime.getTime()==beginTime.getTime() ) + && DateUtil.isDuringDate(minTime, maxTime, endTime) || maxTime.getTime()==endTime.getTime() ); + }else { + return false; + } + }else{ return false; } diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpOrderController.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpOrderController.java index ed53c67..49064d1 100644 --- a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpOrderController.java +++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpOrderController.java @@ -18,7 +18,6 @@ import com.matrix.system.hive.bean.SysOrderItem; import com.matrix.system.hive.dao.SysOrderDao; import com.matrix.system.hive.dao.SysOrderItemDao; -import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.service.AchieveNewService; import com.matrix.system.hive.service.MoneyCardUseService; import com.matrix.system.hive.service.SysOrderItemService; @@ -85,37 +84,27 @@ //=======================================页面转发================================== + /** * 跳转 消费流水详情页面 * * @author jyy */ @RequestMapping(value = "/orderItem") - public String orderItem(Long id, HttpServletRequest request) { - // 根据id查到对应的订单信息 - SysOrder order = orderService.findById(id); - List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(id); - order.setItems(sysOrderItems); + public String orderItem(SysOrder orderVo) { - WebUtil.getRequest().setAttribute("order", order); - // 根据会员Id查到会员有效的会员卡 - // 根据订单号查找订单条目 - SysOrderItem orderItem = new SysOrderItem(); - orderItem.setOrderId(id); - List<SysOrderItem> orderItems = orderItemService.findByModel(orderItem); - WebUtil.getRequest().setAttribute("orderItems", orderItems); - - MoneyCardUse moneyCardUse = new MoneyCardUse(); - moneyCardUse.setVipId(order.getVipId()); - List<MoneyCardUse> cards = cardUseService.findByModel(moneyCardUse); - - WebUtil.getRequest().setAttribute("orderParam", id); - - WebUtil.getRequest().setAttribute("cards", cards); + if(orderVo.getId()!=null){ + WebUtil.getRequest().setAttribute("orderParam", orderVo.getId()); + WebUtil.getRequest().setAttribute("orderId", orderVo.getId()); + }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){ + WebUtil.getRequest().setAttribute("orderParam", orderVo.getOrderNo()); + WebUtil.getRequest().setAttribute("orderNo", orderVo.getOrderNo()); + } return "admin/hive-erp/order/orderXq-form"; } + /** * 取消订单 */ diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java index a412f07..bc1e2a2 100644 --- a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java +++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java @@ -2,6 +2,7 @@ import com.matrix.core.anotations.RemoveRequestToken; import com.matrix.core.anotations.SaveRequestToken; +import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.DateUtil; @@ -223,7 +224,8 @@ public @ResponseBody AjaxResult getVipQuestions(Long id, HttpServletRequest request) { // 获取会员所有的答案,分类型 - List<Question> questions = questionSerivce.findByVipId(id); + SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + List<Question> questions=questionSerivce.findByVipId(id,user.getCompanyId()); request.setAttribute("questions", questions); AjaxResult result = new AjaxResult(); result.putInMap("questions", questions); diff --git a/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java b/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java index ae6680e..9a71f5b 100644 --- a/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java +++ b/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java @@ -1,17 +1,12 @@ package com.matrix.system.job; import com.matrix.core.tools.LogUtil; -import com.matrix.system.constance.Dictionary; -import com.matrix.system.hive.bean.MoneyCardUse; -import com.matrix.system.hive.bean.SysProjUse; import com.matrix.system.hive.dao.MoneyCardUseDao; +import com.matrix.system.hive.dao.ShoppingGoodsDao; import com.matrix.system.hive.dao.SysProjUseDao; -import com.matrix.system.hive.plugin.util.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; - -import java.util.List; /** * @author wzy19 @@ -25,26 +20,22 @@ @Autowired private MoneyCardUseDao moneyCardUseDao; + @Autowired + private ShoppingGoodsDao shoppingGoodsDao; @Scheduled(cron = "0 0 0 * * ?") public void setProjUseToInvalid() { LogUtil.info("#项目,套餐失效任务处理#"); - List<SysProjUse> sysProjUses = sysProjUseDao.selectHasValidProjUse(); - - List<MoneyCardUse> moneyCardUses = moneyCardUseDao.selectHasValidMoneyCardUse(); - - if (CollectionUtils.isNotEmpty(sysProjUses)) { - sysProjUses.forEach(item -> { - item.setStatus(Dictionary.MONEYCARD_STATUS_WX); - sysProjUseDao.update(item); - }); - } - - if (CollectionUtils.isNotEmpty(moneyCardUses)) { - moneyCardUses.forEach(item -> { - item.setStatus(Dictionary.MONEYCARD_STATUS_WX); - moneyCardUseDao.update(item); - }); - } + sysProjUseDao.updateInvalidProjUse(); + moneyCardUseDao.updateInvalidMoneyCardUse(); } + + + @Scheduled(cron = "0 0 0 * * ?") + public void setProductAutoSoldOut() { + LogUtil.info("#商品自动下架任务处理#"); + shoppingGoodsDao.updateInvalidProduct(); + } + + } diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java index 41df41b..dbc9272 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java @@ -237,7 +237,6 @@ queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM); queryUse.setTaocanId(-1L); queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX); - queryUse.setIsOver(Dictionary.FLAG_NO_N); List<SysProjUse> projList = projUseService.findInPage(queryUse, null); List<ServiceProjVo> serviceProjVos = SysProjUseMapper.INSTANCE.entityListToProjVoList(projList); diff --git a/zq-erp/src/main/java/findC.java b/zq-erp/src/main/java/findC.java new file mode 100644 index 0000000..4fccf6e --- /dev/null +++ b/zq-erp/src/main/java/findC.java @@ -0,0 +1,50 @@ +import java.io.File; +import java.io.IOException; + +/** + * 文件对比复制 + * @author JIANGYOUYAO + * @date 2021/6/7 0007 + */ +public class findC { + + + static String targetFilePath="C:/"; + static Long _1mb=1024L*1024L; + + public static void main(String[] args) throws IOException { + + + File sourceFile=new File(targetFilePath); + traverseFolder(sourceFile); + + + } + + + public static void traverseFolder(File file) throws IOException { + + if (file.exists()) { + File[] files = file.listFiles(); + if (null == files || files.length == 0) { + return; + } else { + for (File file2 : files) { + if (file2.isDirectory()) { + + traverseFolder(file2); + } else { + if(file2.length()>_1mb*100){ + System.out.println( file2.length()/_1mb+"MB"+"\t"+file2.getAbsolutePath()); + } + } + } + } + } else { + System.out.println("文件不存在!"); + } + } + + + +} diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties index 5e7f6d5..66e9789 100644 --- a/zq-erp/src/main/resources/config/application.properties +++ b/zq-erp/src/main/resources/config/application.properties @@ -3,18 +3,19 @@ #线上测试环境 -#spring.datasource.username=ct_test -#spring.datasource.password=123456 -#spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test?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?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!@# #spring.datasource.url=jdbc:mysql://124.70.222.34/xc_shop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 -spring.datasource.username=hive -spring.datasource.password=hive123!@# -spring.datasource.url=jdbc:mysql://124.70.222.34:3306/hive_prd?useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 +#spring.datasource.username=hive +#spring.datasource.password=hive123!@# +#spring.datasource.url=jdbc:mysql://124.70.222.34/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource @@ -72,5 +73,6 @@ default.vip.photo.woman=https://filehive2.jyymatrix.cc/uploadeFile/20210125/db53552e688040afb286686f081e1e68f3fe946f75624598828f01898635152e.png default.vip.photo.man=https://filehive2.jyymatrix.cc/uploadeFile/20210125/3642f1d827c44c76832fea106c85e0f89e089c16cbcc4dd0a82bb52b9ac700f4.png +mybatis-plus.global-config.db-config.id-type=auto mybatis-plus.config-location=classpath:mybatis/mybatis-config.xml mybatis-plus.mapper-locations=classpath*:mybatis/mapper/**/*.xml diff --git a/zq-erp/src/main/resources/config/mdPrd/application.properties b/zq-erp/src/main/resources/config/mdPrd/application.properties new file mode 100644 index 0000000..a5eb132 --- /dev/null +++ b/zq-erp/src/main/resources/config/mdPrd/application.properties @@ -0,0 +1,70 @@ +evn=prd +server.port=8080 + + + +spring.datasource.username=meidu_data +spring.datasource.password=meidu_4321#&@ +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.type=com.alibaba.druid.pool.DruidDataSource +spring.datasource.initialSize=3 +spring.datasource.minIdle=3 +spring.datasource.maxActive=20 +spring.datasource.maxWait=60000 +spring.datasource.timeBetweenEvictionRunsMillis=60000 +spring.datasource.minEvictableIdleTimeMillis=300000 +spring.datasource.validationQuery=SELECT 1 FROM DUAL +spring.datasource.testWhileIdle=true +spring.datasource.testOnBorrow=true +spring.datasource.testOnReturn=true +spring.datasource.filters=stat,wall,log4j +spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 +spring.thymeleaf.prefix: classpath:/templates/views/ +spring.thymeleaf.cache=false +mybatis.config-location=classpath:mybatis/mybatis-config.xml +mybatis.mapper-locations=classpath*:mybatis/mapper/*/*.xml +#设置全局时间返回格式 第三行设置为true表示返回时间戳 +#spring.jackson.date-format=yyyy-MM-dd +#spring.jackson.time-zone=GMT+8 +#spring.jackson.serialization.write-dates-as-timestamps=true +#文件上传时的大小限制 单位M +spring.servlet.multipart.max-file-size=300MB +spring.servlet.multipart.max-request-size=300MB +#-------------------------------------- + + + +#rabbitMQ配置 +rabbitmq.host=47.111.134.136 +rabbitmq.port=5672 +rabbitmq.username=hivequeue +rabbitmq.password=hivequeueadmin +useRabbit=true + +#指定消费者确认方式 当为manual时手动确认 不配置表示自动确认 +#spring.rabbitmq.listener.simple.acknowledge-mode=manual +server.session.timeout=120 + +ali.sms.accessKeyId=LTAI4FrjY9R9iDfC6YQTHfne +ali.sms.accessKeySecret=eSvQslpHpDSGlI9Hxm4y5MynNgLbCp +ali.sms.regionId=cn-hangzhou +ali.sms.signName=\u80bd\u598d + + +#hour +activities.groupBuy.limit=24 +#minute +groupBuy.pay.timeLimit=30 + +#定时任务 +scheduling.enabled=true +swagger.enable=false + +#默认头像 +default.vip.photo.woman=https://filehive2.jyymatrix.cc/uploadeFile/20210125/db53552e688040afb286686f081e1e68f3fe946f75624598828f01898635152e.png +default.vip.photo.man=https://filehive2.jyymatrix.cc/uploadeFile/20210125/3642f1d827c44c76832fea106c85e0f89e089c16cbcc4dd0a82bb52b9ac700f4.png diff --git a/zq-erp/src/main/resources/config/mdPrd/config.json b/zq-erp/src/main/resources/config/mdPrd/config.json new file mode 100644 index 0000000..1b5f059 --- /dev/null +++ b/zq-erp/src/main/resources/config/mdPrd/config.json @@ -0,0 +1,94 @@ +/* 前后端通信相关的配置,注释只允许使用多行方式 */ +{ + /* 上传图片配置项 */ + "imageActionName": "uploadimage", /* 执行上传图片的action名称 */ + "imageFieldName": "upfile", /* 提交的图片表单名称 */ + "imageMaxSize": 2048000, /* 上传大小限制,单位B */ + "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ + "imageCompressEnable": true, /* 是否压缩图片,默认是true */ + "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ + "imageInsertAlign": "none", /* 插入的图片浮动方式 */ + "imageUrlPrefix": "http://resource.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ + "imagePathFormat": "/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ + /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ + /* {time} 会替换成时间戳 */ + /* {yyyy} 会替换成四位年份 */ + /* {yy} 会替换成两位年份 */ + /* {mm} 会替换成两位月份 */ + /* {dd} 会替换成两位日期 */ + /* {hh} 会替换成两位小时 */ + /* {ii} 会替换成两位分钟 */ + /* {ss} 会替换成两位秒 */ + /* 非法字符 \ : * ? " < > | */ + /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */ + + /* 涂鸦图片上传配置项 */ + "scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */ + "scrawlFieldName": "upfile", /* 提交的图片表单名称 */ + "scrawlPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "scrawlMaxSize": 2048000, /* 上传大小限制,单位B */ + "scrawlUrlPrefix": "http://resource.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ + "scrawlInsertAlign": "none", + + /* 截图工具上传 */ + "snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */ + "snapscreenPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "snapscreenUrlPrefix": "http://resource.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ + "snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */ + + /* 抓取远程图片配置 */ + "catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"], + "catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */ + "catcherFieldName": "source", /* 提交的图片列表表单名称 */ + "catcherPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "catcherUrlPrefix": "http://resource.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ + "catcherMaxSize": 2048000, /* 上传大小限制,单位B */ + "catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */ + + /* 上传视频配置 */ + "videoActionName": "uploadvideo", /* 执行上传视频的action名称 */ + "videoFieldName": "upfile", /* 提交的视频表单名称 */ + "videoPathFormat": "/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "videoUrlPrefix": "http://127.0.0.1:1088/uploadeFile/", /* 视频访问路径前缀 */ + "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */ + "videoAllowFiles": [ + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */ + + /* 上传文件配置 */ + "fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */ + "fileFieldName": "upfile", /* 提交的文件表单名称 */ + "filePathFormat": "/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "fileUrlPrefix": "http://127.0.0.1:1088/uploadeFile/", /* 文件访问路径前缀 */ + "fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */ + "fileAllowFiles": [ + ".png", ".jpg", ".jpeg", ".gif", ".bmp", + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", + ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", + ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" + ], /* 上传文件格式显示 */ + + /* 列出指定目录下的图片 */ + "imageManagerActionName": "listimage", /* 执行图片管理的action名称 */ + "imageManagerListPath": "http://127.0.0.1:1088/uploadeFile/", /* 指定要列出图片的目录 */ + "imageManagerListSize": 20, /* 每次列出文件数量 */ + "imageManagerUrlPrefix": "", /* 图片访问路径前缀 */ + "imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */ + "imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */ + + /* 列出指定目录下的文件 */ + "fileManagerActionName": "listfile", /* 执行文件管理的action名称 */ + "fileManagerListPath": "http://127.0.0.1:1088/uploadeFile/", /* 指定要列出文件的目录 */ + "fileManagerUrlPrefix": "", /* 文件访问路径前缀 */ + "fileManagerListSize": 20, /* 每次列出文件数量 */ + "fileManagerAllowFiles": [ + ".png", ".jpg", ".jpeg", ".gif", ".bmp", + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", + ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", + ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" + ] /* 列出的文件类型 */ + +} \ No newline at end of file diff --git a/zq-erp/src/main/resources/config/mdPrd/system.properties b/zq-erp/src/main/resources/config/mdPrd/system.properties new file mode 100644 index 0000000..4ac1ef2 --- /dev/null +++ b/zq-erp/src/main/resources/config/mdPrd/system.properties @@ -0,0 +1,104 @@ +#是否启用debug模式 +debug=false +# 日志文件保存地址 +log_path=/mnt/md-hive/log + +# 系统语言环境 zh中文,us英文 +system_language=zh + +# 错误密码允许输入的次数,大于五次后账号锁定,0表示不锁账号 +error_password_times=5 +# 默认密码 +default_password=123 + +#nginx静态资源访问地址 +static_resource_url=https://filehive2.jyymatrix.cc/uploadeFile/md/ +#文件保存地址 +file_storage_path=/mnt/hive/static/uploadeFile/md/ +#文件上传大小字节为单位 10MB +maxUploadSize=10485760 + +#Matser\u7684ip\u5730\u5740 +redis.hostname=120.27.238.55 +#\u7AEF\u53E3\u53F7 +redis.port=6379 +#\u5982\u679C\u6709\u5BC6\u7801 +redis.password=xcong123 +#\u5BA2\u6237\u7AEF\u8D85\u65F6\u65F6\u95F4\u5355\u4F4D\u662F\u6BEB\u79D2 \u9ED8\u8BA4\u662F2000 +redis.timeout=10000 +redis.database=1 +redis_time_out=1800000 + + +cookie_time_out=36000 + +#APP登录公钥 +login_public_key=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCWvK6UWCtSp/8qnTqyUfO0wbg4CuxOe7IeiDSAmATfHnWqBPnbZ73qQ4A90vGowB7mp5XnmBvgTwfXtDh08yd4btlHwSD3ShbRyGfGfV8lc47ZTLiJH0xuuN2iHfnfj8zQ5kcqijeotggo2rF8Uu7KSR3HxVyN9mO22C6p1r5wVQIDAQAB +#APP登录秘钥 +login_private_key=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJa8rpRYK1Kn/yqdOrJR87TBuDgK7E57sh6INICYBN8edaoE+dtnvepDgD3S8ajAHuanleeYG+BPB9e0OHTzJ3hu2UfBIPdKFtHIZ8Z9XyVzjtlMuIkfTG643aId+d+PzNDmRyqKN6i2CCjasXxS7spJHcfFXI32Y7bYLqnWvnBVAgMBAAECgYBNzQFGq+NgfDllo1WCaG4jI8GTm3+wWoPq4l5G6S/KgYw1vu+/YOJTIZf1UQVOFitc3a6vpIDu25uup+Rj6IS8B4V8NDfc8P+iMNwdIKqqBj8wHu0/SaxYdW1uqlU5+XkJMxsNMgNRRGPSIQhla5OPHtBzIa7t4lmypETMZtXEmQJBAMsa1OIQzAKU05GweCnNNSoqo/nAQLqp8zfbJypxRx24uaCyS7C+KxN+O4FyaYmM9n0X+cgkr+RYHAIa7mg3gccCQQC9/nJvRBum8+4TINnz6QrvTmTlhi8QKW/CiRYpGgmo5PtQYw4BkRQbYO8ktFDM2yeO75XBv09qnGQaivDCeL0DAkEAisFg8LSy+4x7YcvivAQirxUEg2qRjjTvIZjKEBflkuuRfbRxO2Uf/qg9tPjaGwu/lcScc9yEggaj09hcSbyqHwJAN8QLiqUPCL3oTy0BTBpG316/Nq9f+Ppwl0TtgDroQu6S5VFttwACStb02m0imj5pKgcgibHBeaVVrITDjhEqSQJAaCHD/ytTzgtgLoVVyZZxOB272W7PI3mnzL8qQSldx1/QOBs1NmmEZuo7ELFMrfTmlxa1qR4gsq/ImfIdUdXewQ== + +#是否启用异常上报 +is_open_exception_report=true +showExcptionUrl=http://erp.hive.jyymatrix.cc/showException + +#异常上报地址 +exception_center_url =http://geek.xc.jyymatrix.cc/addException +#项目编号 +projNo=78 +#项目负责人 +owner=姜友瑶 + +#日志文件清理阈值 单位:MB +log_max=20 +#日志清理天数 +log_clear_day=5 + + + + +wechar_login_url =https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code +xcx_appid =wx3836ab3c1490ff29 +xcx_secret =39a3687ec5b2666ed68e7c8b83b26b47 + +#微信支付调试开关 +wx_pay_debug_onoff = false + +#快递鸟用户id +logistics.eBusinessID=1530881 +#快递鸟密钥 +logistics.appKey=f1cf9777-26fb-4e3f-a14d-896075e6384e +#快递鸟接口地址 +logistics.url=http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx +#快递鸟接口指令 +logistics.requestType=1002 + +#丰桥顾客编码 +sf.logistics.clientCode=XCZHYF +#丰桥校验码 +sf.logistics.checkword=zqcjA2A5m6MIGa6mImMcnpKQ9ipYlbUW +#丰桥接口地址 +sf.logistics.url=https://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService + +#发送短信配置 +crm.request_url = http://192.168.1.248 +sms.request_url = http://smssh1.253.com +sms.login_account = M7315130 +sms.login_password = J7FAoehPkv63e3 +sms.login_accountNe = N4617160 +sms.login_passwordNe = rb1cxLitRB83e0 + +#接入统一登录平台配置 +platform_app_code = wx_shop +platform_secret_key = b21e309f07964e4fae5b156d74b5d66z +#platform_verity_url = http://localhost:8080/platform/getUserInfo +platform_verity_url = http://stg1-xcerp-ca.xc.jyymatrix.cc/platform/getUserInfo + +#微信支付回调地址 +pay_notify_url = https://xcxhive2.jyymatrix.cc/wxCommon/wxpayCallback + + +qrcodeBackgroundImgPath=/mnt/xcshop/webresource/static/xcxresource/bj1.png +qrcodeFrontImgPath=/mnt/xcshop/webresource/static/xcxresource/qj2.png + +#hive仓库地址 +hive.service=http://erp.hive.jyymatrix.cc/meidu-crm/ diff --git a/zq-erp/src/main/resources/config/system.properties b/zq-erp/src/main/resources/config/system.properties index 36cb7f1..42c4024 100644 --- a/zq-erp/src/main/resources/config/system.properties +++ b/zq-erp/src/main/resources/config/system.properties @@ -103,6 +103,5 @@ showExcptionUrl=http://test.hive.jyymatrix.cc/showException -#异常信息查询接口 -showExcptionUrl=http://test.hive.jyymatrix.cc/showException + diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml index 8d89990..2721f19 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml @@ -104,6 +104,9 @@ test="(record.shopId!=null and record.shopId!='') or (record.shopId!='' and record.shopId==0) "> and a.shop_id = #{record.shopId} </if> + <if test="record.achieveRuleId != null "> + and e.achieve_rule_id = #{record.achieveRuleId} + </if> <if test="record.year != null and record.year !='' "> and YEAR (a.datatime) = #{record.year} </if> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml index 493f7d5..0d608c5 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml @@ -141,6 +141,9 @@ </set> WHERE id=#{id} </update> + <update id="updateId"> + update money_card_use set id=#{newId} where id=#{id} + </update> <!-- 批量删除 --> @@ -623,8 +626,8 @@ </select> - <select id="selectHasValidMoneyCardUse" resultMap="MoneyCardUseSimpleMap"> - select * from money_card_use + <update id="updateInvalidMoneyCardUse"> + update money_card_use set STATUS='无效' where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效' - </select> + </update> </mapper> \ No newline at end of file diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/QuestionDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/QuestionDao.xml index 9d9e344..ea70d23 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/QuestionDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/QuestionDao.xml @@ -50,7 +50,10 @@ FROM question a LEFT JOIN vip_answer b ON a.id = b.quesion_id and b.vip_id=#{id} - WHERE category=#{type} + WHERE + a.company_id=#{companyId} + and category=#{type} + ORDER BY order_field DESC </select> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml index d0ff42f..1277ab1 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml @@ -1255,6 +1255,10 @@ </foreach> </update> + <update id="updateInvalidProduct"> + update shopping_goods set staus = '下架' + where date_format(now(), '%Y-%m-%d') > date_format(sale_off_time, '%Y-%m-%d') and staus='上架' + </update> <!-- 根据code查询 --> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml index 6c658ad..a3b0cd3 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml @@ -275,10 +275,13 @@ </select> <!-- 根据商品id查询改商品下单次数总和--> <select id="selectByGoodsId" resultType="java.lang.Integer"> - select sum(COUNT) from sys_order_item a + select IFNULL(sum(COUNT),0) AS total from sys_order_item a left join sys_order b on b.ID=a.ORDER_ID - where a.GOODS_ID = #{goodsId} - and b.STATU !='已取消' + where a.GOODS_ID = #{goodsId} + <if test="vipId != null"> + and b.vip_id=#{vipId} + </if> + and b.STATU ='已付款' </select> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml index d49243d..8e39c76 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml @@ -854,10 +854,14 @@ group by b.id) t </select> - <select id="selectHasValidProjUse" resultMap="SysProjUseMap"> - select * from sys_proj_use - where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效' - </select> + <update id="updateInvalidProjUse" > + update sys_proj_use set STATUS='无效' + where + ( date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') + or SURPLUS_COUNT=0 + or balance =0 ) + and STATUS='有效' + </update> <resultMap type="SysProjUse" id="TaoCanWithProjMap"> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html index f066a6d..185869e 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html @@ -625,7 +625,7 @@ //获取用户列表 AjaxProxy.requst({ app: _this, - url: basePath + '/admin/shopAll', + url: basePath + '/admin/all', callback: function (data) { _this.userList = data.rows; } diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html index 5cd963f..01cda5f 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html @@ -2,22 +2,22 @@ <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> <head> -<meta charset="utf-8"> -<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> -<meta name="renderer" content="webkit|ie-comp|ie-stand"> -<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> -<meta name="viewport" - content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> -<meta http-equiv="Cache-Control" content="no-siteapp" /> -<LINK rel="Bookmark" href="../images/favicon.ico"> -<!-- 本框架基本脚本和样式 --> -<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script> -<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> -<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script> -<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> -<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}"> -<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> -<script type="text/javascript" th:src="@{/js/function/public.js}"></script> + <meta charset="utf-8"> + <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> + <meta name="renderer" content="webkit|ie-comp|ie-stand"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" + content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> + <meta http-equiv="Cache-Control" content="no-siteapp" /> + <LINK rel="Bookmark" href="../images/favicon.ico"> + <!-- 本框架基本脚本和样式 --> + <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script> + <script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> + <script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script> + <script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> + <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}"> + <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> + <script type="text/javascript" th:src="@{/js/function/public.js}"></script> </head> <style> .table-style { @@ -38,7 +38,7 @@ <el-row class="search-form"> <el-form ref="form" :model="form" inline> <el-form-item label="选择年月"> - <el-select v-model="form.year" style="width:120px;" placeholder="请选择"> + <el-select v-model="form.year" style="width:120px;" placeholder="请选择年份"> <el-option v-for="item in years" :key="item" :label="item" @@ -46,7 +46,7 @@ </el-select> </el-form-item> <el-form-item> - <el-select v-model="form.month" style="width:120px;" placeholder="请选择"> + <el-select v-model="form.month" style="width:120px;" placeholder="请选择月份"> <el-option v-for="item in months" :key="item" :label="item" @@ -54,7 +54,7 @@ </el-select> </el-form-item> <el-form-item> - <el-select v-model="form.day" style="width:120px;" placeholder="请选择"> + <el-select v-model="form.day" style="width:120px;" placeholder="请选择日"> <el-option v-for="item in days" :key="item" :label="item" @@ -69,7 +69,16 @@ end-placeholder="结束日期"> </el-date-picker> </el-form-item> - + <el-form-item label="业绩规则" prop="achieveRuleId"> + <el-select v-model="form.achieveRuleId" filterable placeholder="请选择业绩规则"> + <el-option + v-for="item in achieveRulsList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> <el-form-item label="会员"> <el-input v-model="form.vipQueryKey"></el-input> </el-form-item> @@ -86,9 +95,9 @@ <el-form-item label="门店"> <el-select v-model="form.shopId" placeholder="请选择所属门店"> <el-option v-for="item in shopList" - :key="item.id" - :label="item.shopName" - :value="item.id"> + :key="item.id" + :label="item.shopName" + :value="item.id"> </el-option> </el-select> </el-form-item> @@ -116,7 +125,7 @@ <el-table-column prop="zkTotal" label="订单金额"></el-table-column> <el-table-column prop="goodsCash" label="现金"></el-table-column> <el-table-column prop="cardCash" label="划扣"></el-table-column> -<!-- <el-table-column prop="goodsCash" label="订单业绩"></el-table-column>--> + <!-- <el-table-column prop="goodsCash" label="订单业绩"></el-table-column>--> <el-table-column prop="meiliao" label="员工"></el-table-column> <el-table-column v-for="(item, index) in customColumns" width="120" :key="index" :label="item.value"> <template slot-scope="scope"> @@ -156,6 +165,7 @@ data : { tableData : [], customColumns : [], + achieveRulsList : [], shopList : [], achieveUsers : [], years : [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021], @@ -168,6 +178,7 @@ timeRange : '', vipQueryKey : '', beaultId : '', + achieveRuleId : '', shopId : '' }, page : { @@ -181,6 +192,7 @@ this.queryCustomColumns(); this.queryShops(); this.queryAchieveUsers(); + this.getAchieveRule(); }, methods : { queryTableData () { @@ -190,6 +202,7 @@ let page = _this.page; let params = {}; params.year=form.year; + params.achieveRuleId=form.achieveRuleId; params.month=form.month; params.year=form.year; params.day=form.day; @@ -225,6 +238,20 @@ } }); }, + /** + * 获取规则 + */ + getAchieveRule(){ + let _this = this; + AjaxProxy.requst({ + app: _this, + data: {pageNum:1,pageSize:1000}, + url: basePath + "/admin/achieveRule/selectList", + callback: function (data) { + _this.achieveRulsList=data.rows; + } + }); + }, queryShops() { let _this = this; AjaxProxy.requst({ diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-order.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-order.html index c902c92..c5284e5 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-order.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-order.html @@ -130,7 +130,7 @@ <div style="text-align: center;"> <img style="width: 100%;" :src="shopInfo.qrcode" /><br> - 更多精彩请访问肽妍小程序<br> + 更多精彩请访问小程序<br> </div> <br> <br> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-service.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-service.html index d40c8cf..d549df3 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-service.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-service.html @@ -112,7 +112,7 @@ <div style="text-align: center;"> <img style="width: 100%;" :src="shopInfo.qrcode" /><br> - 更多精彩请访问肽妍小程序<br> + 更多精彩请访问小程序<br> </div> <br> <br> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html index cd511b3..7aa8771 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html @@ -127,6 +127,7 @@ <el-button type="primary" plain @click="recharge">充值</el-button> <el-button type="warning" plain @click="addOrder">开单</el-button> <el-button type="success" plain @click="addServiceOrder">开服务单</el-button> + <el-button type="info" plain @click="exportExcel">导出项目</el-button> </el-col> </el-header> <el-container> @@ -195,7 +196,7 @@ </el-col> <el-col :span="10"> <p>会员卡类型 : {{vipInfo.vipType}}</p> - <p>会员等级 : {{vipInfo.levelName}}</p> + <p>会员等级 : {{vipInfo.vipLevel == null ? "" : vipInfo.vipLevel.levelName}}</p> <p>生肖/星座 : {{vipInfo.constell}}</p> <p>地址 : {{vipInfo.addr}}</p> <p>健康顾问 : {{vipInfo.staffName}}</p> @@ -1542,6 +1543,14 @@ vipId = this.vipInfo.id; openAddService(vipId); }, + exportExcel(){ + if (!this.vipInfo.id) { + this.$message.error('请选择用户'); + return; + } + vipId = this.vipInfo.id; + window.location.href=basePath+"/admin/vipInfo/exportExcel/"+vipId; + }, // 开订单 addOrder() { if (!this.vipInfo.id) { diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html index c549076..93b3a8e 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html @@ -115,7 +115,6 @@ <th width="100px">服务时长(分钟)</th> <th>服务时间</th> <th width="300px">美疗师</th> - <th style="width: 100px;">提成</th> <th>操作</th> </tr> @@ -156,9 +155,6 @@ :value="item.suId"> </el-option> </el-select> - </td> - <td> - <el-input v-model="item.extract"></el-input> </td> <td> <el-button size="mini" type="danger" diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html index 066b4cb..01cda5f 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html @@ -2,22 +2,22 @@ <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> <head> -<meta charset="utf-8"> -<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> -<meta name="renderer" content="webkit|ie-comp|ie-stand"> -<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> -<meta name="viewport" - content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> -<meta http-equiv="Cache-Control" content="no-siteapp" /> -<LINK rel="Bookmark" href="../images/favicon.ico"> -<!-- 本框架基本脚本和样式 --> -<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script> -<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> -<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script> -<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> -<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}"> -<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> -<script type="text/javascript" th:src="@{/js/function/public.js}"></script> + <meta charset="utf-8"> + <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> + <meta name="renderer" content="webkit|ie-comp|ie-stand"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" + content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> + <meta http-equiv="Cache-Control" content="no-siteapp" /> + <LINK rel="Bookmark" href="../images/favicon.ico"> + <!-- 本框架基本脚本和样式 --> + <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script> + <script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> + <script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script> + <script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> + <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}"> + <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> + <script type="text/javascript" th:src="@{/js/function/public.js}"></script> </head> <style> .table-style { @@ -38,7 +38,7 @@ <el-row class="search-form"> <el-form ref="form" :model="form" inline> <el-form-item label="选择年月"> - <el-select v-model="form.year" style="width:120px;" placeholder="请选择"> + <el-select v-model="form.year" style="width:120px;" placeholder="请选择年份"> <el-option v-for="item in years" :key="item" :label="item" @@ -46,7 +46,7 @@ </el-select> </el-form-item> <el-form-item> - <el-select v-model="form.month" style="width:120px;" placeholder="请选择"> + <el-select v-model="form.month" style="width:120px;" placeholder="请选择月份"> <el-option v-for="item in months" :key="item" :label="item" @@ -54,7 +54,7 @@ </el-select> </el-form-item> <el-form-item> - <el-select v-model="form.day" style="width:120px;" placeholder="请选择"> + <el-select v-model="form.day" style="width:120px;" placeholder="请选择日"> <el-option v-for="item in days" :key="item" :label="item" @@ -69,7 +69,16 @@ end-placeholder="结束日期"> </el-date-picker> </el-form-item> - + <el-form-item label="业绩规则" prop="achieveRuleId"> + <el-select v-model="form.achieveRuleId" filterable placeholder="请选择业绩规则"> + <el-option + v-for="item in achieveRulsList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> <el-form-item label="会员"> <el-input v-model="form.vipQueryKey"></el-input> </el-form-item> @@ -86,9 +95,9 @@ <el-form-item label="门店"> <el-select v-model="form.shopId" placeholder="请选择所属门店"> <el-option v-for="item in shopList" - :key="item.id" - :label="item.shopName" - :value="item.id"> + :key="item.id" + :label="item.shopName" + :value="item.id"> </el-option> </el-select> </el-form-item> @@ -100,9 +109,7 @@ </el-row> <el-row class="table-style"> - <el-table :data="tableData" - :height="height" - style="width: 100%"> + <el-table :data="tableData" style="width: 100%"> <el-table-column type="index" width="30"></el-table-column> <el-table-column prop="datatime" width="150" label="时间"></el-table-column> <el-table-column prop="orderNo" width="180" label="订单编号"> @@ -118,7 +125,7 @@ <el-table-column prop="zkTotal" label="订单金额"></el-table-column> <el-table-column prop="goodsCash" label="现金"></el-table-column> <el-table-column prop="cardCash" label="划扣"></el-table-column> -<!-- <el-table-column prop="goodsCash" label="订单业绩"></el-table-column>--> + <!-- <el-table-column prop="goodsCash" label="订单业绩"></el-table-column>--> <el-table-column prop="meiliao" label="员工"></el-table-column> <el-table-column v-for="(item, index) in customColumns" width="120" :key="index" :label="item.value"> <template slot-scope="scope"> @@ -158,9 +165,9 @@ data : { tableData : [], customColumns : [], + achieveRulsList : [], shopList : [], achieveUsers : [], - height:'calc(100vh - 240px)', years : [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021], months : ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], days : [], @@ -171,6 +178,7 @@ timeRange : '', vipQueryKey : '', beaultId : '', + achieveRuleId : '', shopId : '' }, page : { @@ -184,6 +192,7 @@ this.queryCustomColumns(); this.queryShops(); this.queryAchieveUsers(); + this.getAchieveRule(); }, methods : { queryTableData () { @@ -193,6 +202,7 @@ let page = _this.page; let params = {}; params.year=form.year; + params.achieveRuleId=form.achieveRuleId; params.month=form.month; params.year=form.year; params.day=form.day; @@ -206,6 +216,7 @@ params.beginTime = form.timeRange?moment(form.timeRange[0]).format("YYYY-MM-DD HH:mm"):''; params.endTime = form.timeRange?moment(form.timeRange[1]).format("YYYY-MM-DD HH:mm"):''; } + AjaxProxy.requst({ app: _this, data: params, @@ -227,6 +238,20 @@ } }); }, + /** + * 获取规则 + */ + getAchieveRule(){ + let _this = this; + AjaxProxy.requst({ + app: _this, + data: {pageNum:1,pageSize:1000}, + url: basePath + "/admin/achieveRule/selectList", + callback: function (data) { + _this.achieveRulsList=data.rows; + } + }); + }, queryShops() { let _this = this; AjaxProxy.requst({ diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-form.html index acad6d3..d556c5f 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-form.html @@ -41,7 +41,7 @@ th:data-url="@{/admin/dataDictionary/showDataDictionary}" data-filed="name" data-value="name" - data-param="{type:'字段类型'}" + data-param="{type:'问卷类型'}" th:data-def="${obj?.type }" > <option value="">--请选择字段类型--</option> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-list.html index 0ee705e..d57d3a0 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-list.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/question-list.html @@ -45,7 +45,7 @@ th:data-url="@{/admin/dataDictionary/showDataDictionary}" data-filed="name" data-value="name" - data-param="{type:'字段类型'}" + data-param="{type:'问卷类型'}" > <option value="">请选择字段类型</option> </select> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-form.html index 2d7895b..c6e1c38 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-form.html @@ -175,9 +175,9 @@ </div> <div class="form-group"> - <label class="col-sm-2 control-label">美疗师<span class="text-danger">*</span></label> + <label class="col-sm-2 control-label">美疗师</label> <div class="col-sm-4"> - <select class="form-control autoFull select2" dataType="*" nullmsg="请选择美疗师" + <select class="form-control autoFull select2" dataType="*" nullmsg="请选择美疗师" ignore="ignore" th:data-url="@{/admin/getShopStaffByRoleName?roleName=美疗师}" data-value="suId" data-filed="suName" th:data-def="${obj?.beatuyId}" name="beatuyId" @@ -217,6 +217,19 @@ <div class="Validform_checktip"></div> </div> </div> + + <div class="form-group"> + + <label class="col-sm-2 control-label">资金密码</label> + <div class="col-sm-4"> + <input autocomplete="off" type="input" class="form-control" name="passWord" + th:value="${obj?.passWord}" datatype="*0-500" ignore="ignore"> + <div class="Validform_checktip"></div> + </div> + + </div> + + </div> </div> </div> diff --git a/zq-erp/src/main/resources/templates/views/admin/index.html b/zq-erp/src/main/resources/templates/views/admin/index.html index f3bb64a..219d21a 100644 --- a/zq-erp/src/main/resources/templates/views/admin/index.html +++ b/zq-erp/src/main/resources/templates/views/admin/index.html @@ -85,11 +85,13 @@ </div> <div class=" hidden-xs"> <div style="text-align:right;font-size: 14px; " > - <span style="line-height: 35px; display: inline-block; " th:utext="${session.userInfo.shopName}+' | '"></span> <i class="fa fa-user" ></i> - <span style="line-height: 35px; color: #333; " th:utext="${session.userInfo.suName}"> + <span style="line-height: 35px; color: #333; " th:utext="${session.userInfo.suName}+' | '"> </span> + <a style="line-height: 35px; color: #333; " target="_blank" href="https://www.yuque.com/books/share/70c39d28-6aac-4763-ae92-899ea5822a0d" > + <i class="fa fa-book" aria-hidden="true"></i> + 帮助手册</a> </div> </div> diff --git "a/zq-erp/src/main/resources/\346\235\203\351\231\220" "b/zq-erp/src/main/resources/\346\235\203\351\231\220" index 2ae0118..2b38d8a 100644 --- "a/zq-erp/src/main/resources/\346\235\203\351\231\220" +++ "b/zq-erp/src/main/resources/\346\235\203\351\231\220" @@ -1,22 +1,2 @@ -<button matrix:btn="orderClub-exportExcel" onclick="exportExcel()" type="button" class="btn btn-info btn-sm"><i class="fa fa-download" ></i> 导出</button> -<button matrix:btn="orderClub-del" class="btn btn-danger btn-sm mr-5" onClick="cancelOrder()" ><i class="fa fa-trash-o fa-fw"></i> 取消</button> - -<script matrix:btn="orderClub-look" > - btns[0]='<li> <button class="btn btn-default btn-sm mr-5" onClick="openLook(\'VALUE\')" title="查看详情"><i class="fa fa-eye fa-trash-o">查看</i></buttoun></li>' -</script> -<script matrix:btn="orderClub-payment" > - btns[1]='<li> <button class="btn btn-default btn-sm mr-5" onclick="openBj(\'VALUE\')" title=补交"><i class="fa fa-sign-in">补交</i></button></li>' -</script> -<script matrix:btn="orderClub-gathering" > - btns[2]='<li> <button class="btn btn-default btn-sm mr-5" onclick="openEdit(\'VALUE\')" title="收款"><i class="fa fa-edit">收款</i></button></li>' -</script> -<script matrix:btn="orderClub-edit" > - btns[3]='<li> <button class="btn btn-default btn-sm mr-5" onclick="updateTime(\'VALUE\')" title="修改时间"><i class="fa fa-edit">修改时间</i></button></li>' -</script> - - - var btns=[]; - btns[0]="",btns[1]="",btns[2]="",btns[3]="",btns[4]=""; - - - btns[0].replace('VALUE',value); \ No newline at end of file +select ID, NAME, TYPE, code from sys_data_dictionary where 1=1 and TYPE like CONCAT('%',?,'%') + 2021-06-26 16:36:49.487-[ TR = rGpKxAflK1Qt5O66 ] [ DEBUG ]-[ http-nio-8080-exec-3 ] ==> Parameters: 字段类型(String) \ No newline at end of file diff --git a/zq-erp/src/test/java/com/matrix/JyyTests.java b/zq-erp/src/test/java/com/matrix/JyyTests.java index b955d11..741ebdc 100644 --- a/zq-erp/src/test/java/com/matrix/JyyTests.java +++ b/zq-erp/src/test/java/com/matrix/JyyTests.java @@ -1,53 +1,30 @@ package com.matrix; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.matrix.component.redis.RedisClient; -import com.matrix.core.constance.MatrixConstance; -import com.matrix.core.tools.LogUtil; -import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.bean.SysFunction; -import com.matrix.system.common.dao.BusParameterSettingsDao; -import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant; -import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao; -import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao; -import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; -import com.matrix.system.fenxiao.entity.ShopSalesmanOrder; -import com.matrix.system.hive.bean.SysVipInfo; -import com.matrix.system.hive.dao.SysOrderDao; -import com.matrix.system.hive.dao.SysOrderItemDao; -import com.matrix.system.hive.dao.SysVipInfoDao; -import com.matrix.system.hive.service.CodeService; -import com.matrix.system.hive.service.ShoppingGoodsService; -import com.matrix.system.hive.service.SysOrderService; -import com.matrix.system.hive.service.SysVipInfoService; +import com.matrix.system.hive.bean.MoneyCardUse; +import com.matrix.system.hive.dao.MoneyCardUseDao; import com.matrix.system.hive.service.imp.SysVipInfoServiceImpl; import com.matrix.system.score.dao.ScoreVipDetailDao; import com.matrix.system.score.service.ScoreVipDetailService; -import com.matrix.system.shopXcx.bean.ShopOrder; -import com.matrix.system.shopXcx.bean.ShopOrderDetails; -import com.matrix.system.shopXcx.bean.ShopProduct; -import com.matrix.system.shopXcx.dao.ShopOrderDao; -import com.matrix.system.shopXcx.dao.ShopOrderDetailsDao; import com.matrix.system.shopXcx.dao.ShopOrderV2Dao; -import com.matrix.system.shopXcx.dao.ShopSkuDao; import com.matrix.system.shopXcx.mqTask.OrderDingDingNoticeTask; -import com.rabbitmq.client.Delivery; import org.junit.Test; import org.junit.runner.RunWith; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.transaction.annotation.Transactional; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 测试类示例 @@ -81,6 +58,23 @@ @Autowired OrderDingDingNoticeTask orderDingDingNoticeTask; + @Autowired + MoneyCardUseDao moneyCardUseDao; + + + @Test + public void finxMoneyCardUserId() throws IOException { + long id=2531; + final List<MoneyCardUse> moneyCardUses = moneyCardUseDao.selectList(new LambdaQueryWrapper<MoneyCardUse>().gt(MoneyCardUse::getId, 2531)); + + for (MoneyCardUse moneyCardUs : moneyCardUses) { + moneyCardUseDao.updateId(moneyCardUs.getId(),++id); + } + + System.out.println(moneyCardUses.size()); + } + + @Test @Rollback public void testNoticeTask() throws IOException { diff --git a/zq-erp/src/test/java/com/matrix/TcProjTest.java b/zq-erp/src/test/java/com/matrix/TcProjTest.java index a6c485c..4b5e0ba 100644 --- a/zq-erp/src/test/java/com/matrix/TcProjTest.java +++ b/zq-erp/src/test/java/com/matrix/TcProjTest.java @@ -1,15 +1,12 @@ package com.matrix; -import cn.hutool.core.collection.CollUtil; -import com.matrix.system.hive.bean.SysProjUse; +import com.matrix.system.hive.dao.AchieveNewDao; import com.matrix.system.hive.dao.SysProjUseDao; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; - -import java.util.List; /** * @author wzy @@ -23,11 +20,14 @@ @Autowired private SysProjUseDao sysProjUseDao; + @Autowired + AchieveNewDao achieveNewDao; + @Test public void tcProjTest() { -// List<SysProjUse> projUses = sysProjUseDao.selectTaoCanListWithProj(); -// if (CollUtil.isNotEmpty(projUses)) { -// -// } + //achieveNewDao + + + } } -- Gitblit v1.9.1