From 6e783f279e7b1dd1f0fc243d7d8504ede0b25870 Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Sun, 27 Jun 2021 15:47:57 +0800 Subject: [PATCH] 修复业绩bug1 --- zq-erp/src/main/resources/config/system.properties | 3 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/hive/bean/ShoppingGoods.java | 7 zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java | 20 zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 3 zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java | 40 + zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java | 2 zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java | 37 - zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml | 6 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/bean/AchieveNew.java | 9 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 41 ++ zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml | 9 zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java | 2 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/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/SysProjUseServiceImpl.java | 150 +++++---- zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java | 10 zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 4 zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml | 9 24 files changed, 394 insertions(+), 501 deletions(-) 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/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/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/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/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/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/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..0e85cd7 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() + "已超过最大销售数量"); 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/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/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/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..f1e1cbb 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,10 @@ group by b.id) t </select> - <select id="selectHasValidProjUse" resultMap="SysProjUseMap"> - select * from sys_proj_use + <update id="updateInvalidProjUse" > + update sys_proj_use set STATUS='无效' where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效' - </select> + </update> <resultMap type="SysProjUse" id="TaoCanWithProjMap"> 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/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/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 { -- Gitblit v1.9.1