Merge branch 'score_shop' into api_score_meger
# Conflicts:
# zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
# zq-erp/src/main/resources/config/application.properties
4 files added
55 files modified
| | |
| | | <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> |
| | |
| | | .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") |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | @ApiOperation(value = "获取api接口地址", notes = "获取api接口地址") |
| | | @GetMapping(value = "/findApiUrl") |
| | | public AjaxResult findApiUrl() { |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | } |
| | | } else { |
| | | queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX); |
| | | queryUse.setIsOver(Dictionary.FLAG_NO_N); |
| | | } |
| | | |
| | | queryUse.setQueryKey(serviceVipProjDto.getQueryKey()); |
| | |
| | | @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); |
| | |
| | | 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; |
| | |
| | | * @author wzy |
| | | * @date 2020-12-24 |
| | | **/ |
| | | @Data |
| | | @ApiModel(value = "ShoppingGoodsDetailVo", description = "商品详情返回参数类") |
| | | public class ShoppingGoodsDetailVo { |
| | | |
| | |
| | | private Integer maxSaleCnt; |
| | | |
| | | @ApiModelProperty(value = "每人限购次数") |
| | | private String limitBuyCnt; |
| | | private Integer limitBuyCnt; |
| | | |
| | | @ApiModelProperty(value = "充值卡使用范围 是-所有产品 否-部分产品") |
| | | private String carIsAll; |
| | |
| | | @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; |
| | | } |
| | | } |
| | |
| | | AjaxResult all() { |
| | | SysUsers sysUsers = new SysUsers(); |
| | | QueryUtil.setQueryLimit(sysUsers); |
| | | sysUsers.setSuValid(AppConstance.RECORD_VALID); |
| | | return new AjaxResult(AjaxResult.STATUS_SUCCESS, sysUsersService.findInPage(sysUsers, null)); |
| | | } |
| | | |
| | |
| | | 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) { |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | 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)) { |
| | | //从缓存中获取用户权限 |
| | |
| | | // 组装菜单 |
| | | 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)); |
| | | } |
| | | |
| | | |
| | |
| | | @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); |
| | |
| | | @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); |
| | | } |
| | | /** |
| | |
| | | @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"; |
| | | |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | @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(); |
| | |
| | | //如果是冻结状态则要算出冻结的天数,延长有效期 |
| | | 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, "已设置为有效"); |
| | | } |
| | | |
| | |
| | | @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, "充值卡已退款"); |
| | |
| | | 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, "已设置为无效"); |
| | | } |
| | | |
| | |
| | | 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, "冻结成功"); |
| | | } |
| | |
| | | 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); |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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") |
| | |
| | | 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("未查到询客户信息"); |
| | | } |
| | | |
| | |
| | | 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, "会员信息"); |
| | |
| | | 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); |
| | |
| | | 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)); |
| | |
| | | |
| | | private String vipQueryKey; |
| | | |
| | | private Long achieveRuleId; |
| | | |
| | | |
| | | /** |
| | | * 订单编号 |
| | |
| | | this.day = day; |
| | | } |
| | | |
| | | public Long getAchieveRuleId() { |
| | | return achieveRuleId; |
| | | } |
| | | |
| | | public void setAchieveRuleId(Long achieveRuleId) { |
| | | this.achieveRuleId = achieveRuleId; |
| | | } |
| | | |
| | | public String getOrderNo() { |
| | | return orderNo; |
| | |
| | | /** |
| | | * 单会员是否只买一次 |
| | | */ |
| | | private String isOnce; |
| | | private Integer isOnce; |
| | | |
| | | /** |
| | | * 销售平台 |
| | |
| | | this.saleOffTime = saleOffTime; |
| | | } |
| | | |
| | | public String getIsOnce() { |
| | | |
| | | public Integer getIsOnce() { |
| | | return isOnce; |
| | | } |
| | | |
| | | public void setIsOnce(String isOnce) { |
| | | public void setIsOnce(Integer isOnce) { |
| | | this.isOnce = isOnce; |
| | | } |
| | | |
| | |
| | | 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; |
| | |
| | | @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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | */ |
| | | |
| | | |
| | | public interface MoneyCardUseDao{ |
| | | public interface MoneyCardUseDao extends BaseMapper<MoneyCardUse> { |
| | | |
| | | public int insert(MoneyCardUse moneyCardUse); |
| | | |
| | |
| | | public Double selectVipCardTotalMoney(@Param("vipId") Long vipId); |
| | | |
| | | |
| | | List<MoneyCardUse> selectHasValidMoneyCardUse(); |
| | | |
| | | int updateInvalidMoneyCardUse(); |
| | | |
| | | void updateId(@Param("id")Long id, @Param("newId")Long i); |
| | | } |
| | |
| | | * @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); |
| | | |
| | | } |
| | |
| | | int selectShopppingGoodsAipTotal(@Param("record") ShoppingGoodsListDto shoppingGoodsListDto); |
| | | |
| | | public List<ShoppingGoods> selectByIds(@Param("ids")List<Integer> ids); |
| | | |
| | | int updateInvalidProduct(); |
| | | } |
| | |
| | | */ |
| | | 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); |
| | | |
| | |
| | | |
| | | 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); |
| | | |
| | |
| | | * luokai |
| | | * @return |
| | | */ |
| | | public List<Question> findByVipId(Long id); |
| | | public List<Question> findByVipId(Long id,Long companyId); |
| | | |
| | | |
| | | |
| | |
| | | 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; |
| | | |
| | |
| | | * @date 2016-09-17 10:17 |
| | | */ |
| | | @Service("moneyCardUseService") |
| | | public class MoneyCardUseServiceImpl implements MoneyCardUseService { |
| | | public class MoneyCardUseServiceImpl extends ServiceImpl<MoneyCardUseDao,MoneyCardUse> implements MoneyCardUseService { |
| | | |
| | | |
| | | @Autowired |
| | |
| | | } |
| | | } |
| | | moneyCardUseDao.update(proj); |
| | | StringBuilder content = new StringBuilder(); |
| | | content.append(proj.getCardName() + "设置有效"); |
| | | |
| | | } |
| | | |
| | | //设置为失效 |
| | |
| | | * @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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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()); |
| | |
| | | throw new GlobleException("该订单已经收过款,请刷新页面再试!"); |
| | | } |
| | | |
| | | //交易业绩设置是否合理 |
| | | //检查交易限制调整 |
| | | checkSealLimit(pageOrder); |
| | | |
| | | //交易业绩设置是否合理 |
| | | checkAchieveIsOk(pageOrder); |
| | | |
| | | |
| | |
| | | |
| | | //设置会员积分 |
| | | 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+"次"); |
| | | } |
| | | } |
| | | |
| | | }); |
| | | |
| | | } |
| | | |
| | |
| | | // 最大发卡数量为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() + "已超过最大销售数量"); |
| | |
| | | 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); |
| | |
| | | |
| | | 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()); |
| | | |
| | |
| | | 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; |
| | |
| | | } |
| | | 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, "操作成功"); |
| | | |
| | | } |
| | |
| | | } 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("未找到套餐"); |
| | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 检测是否存在欠款 |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | } 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; |
| | | |
| | | } |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | } |
| | | 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, "操作成功"); |
| | | } |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | |
| | | //=======================================页面转发================================== |
| | | |
| | | |
| | | |
| | | /** |
| | | * 跳转 消费流水详情页面 |
| | | * |
| | | * @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"; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 取消订单 |
| | | */ |
| | |
| | | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | 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 |
| | |
| | | @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(); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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); |
| | | |
New file |
| | |
| | | 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("文件不存在!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | #线上测试环境 |
| | | #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 |
| | |
| | | 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 |
New file |
| | |
| | | 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 |
New file |
| | |
| | | /* 前后端通信相关的配置,注释只允许使用多行方式 */ |
| | | { |
| | | /* 上传图片配置项 */ |
| | | "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" |
| | | ] /* 列出的文件类型 */ |
| | | |
| | | } |
New file |
| | |
| | | #是否启用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/ |
| | |
| | | showExcptionUrl=http://test.hive.jyymatrix.cc/showException |
| | | |
| | | |
| | | #异常信息查询接口 |
| | | showExcptionUrl=http://test.hive.jyymatrix.cc/showException |
| | | |
| | | |
| | |
| | | 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> |
| | |
| | | </set> |
| | | WHERE id=#{id} |
| | | </update> |
| | | <update id="updateId"> |
| | | update money_card_use set id=#{newId} where id=#{id} |
| | | </update> |
| | | |
| | | |
| | | <!-- 批量删除 --> |
| | |
| | | </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> |
| | |
| | | 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> |
| | | |
| | |
| | | </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查询 --> |
| | |
| | | </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> |
| | | |
| | | |
| | |
| | | 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"> |
| | | |
| | |
| | | //获取用户列表 |
| | | AjaxProxy.requst({ |
| | | app: _this, |
| | | url: basePath + '/admin/shopAll', |
| | | url: basePath + '/admin/all', |
| | | callback: function (data) { |
| | | _this.userList = data.rows; |
| | | } |
| | |
| | | <!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 { |
| | |
| | | <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" |
| | |
| | | </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" |
| | |
| | | </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" |
| | |
| | | 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> |
| | |
| | | <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> |
| | |
| | | <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"> |
| | |
| | | data : { |
| | | tableData : [], |
| | | customColumns : [], |
| | | achieveRulsList : [], |
| | | shopList : [], |
| | | achieveUsers : [], |
| | | years : [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021], |
| | |
| | | timeRange : '', |
| | | vipQueryKey : '', |
| | | beaultId : '', |
| | | achieveRuleId : '', |
| | | shopId : '' |
| | | }, |
| | | page : { |
| | |
| | | this.queryCustomColumns(); |
| | | this.queryShops(); |
| | | this.queryAchieveUsers(); |
| | | this.getAchieveRule(); |
| | | }, |
| | | methods : { |
| | | queryTableData () { |
| | |
| | | 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; |
| | |
| | | } |
| | | }); |
| | | }, |
| | | /** |
| | | * 获取规则 |
| | | */ |
| | | 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({ |
| | |
| | | <div style="text-align: center;"> |
| | | |
| | | <img style="width: 100%;" :src="shopInfo.qrcode" /><br> |
| | | 更多精彩请访问肽妍小程序<br> |
| | | 更多精彩请访问小程序<br> |
| | | </div> |
| | | <br> |
| | | <br> |
| | |
| | | <div style="text-align: center;"> |
| | | |
| | | <img style="width: 100%;" :src="shopInfo.qrcode" /><br> |
| | | 更多精彩请访问肽妍小程序<br> |
| | | 更多精彩请访问小程序<br> |
| | | </div> |
| | | <br> |
| | | <br> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | 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) { |
| | |
| | | <th width="100px">服务时长(分钟)</th> |
| | | <th>服务时间</th> |
| | | <th width="300px">美疗师</th> |
| | | <th style="width: 100px;">提成</th> |
| | | <th>操作</th> |
| | | </tr> |
| | | |
| | |
| | | :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" |
| | |
| | | <!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 { |
| | |
| | | <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" |
| | |
| | | </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" |
| | |
| | | </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" |
| | |
| | | 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> |
| | |
| | | <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> |
| | |
| | | |
| | | </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="订单编号"> |
| | |
| | | <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"> |
| | |
| | | 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 : [], |
| | |
| | | timeRange : '', |
| | | vipQueryKey : '', |
| | | beaultId : '', |
| | | achieveRuleId : '', |
| | | shopId : '' |
| | | }, |
| | | page : { |
| | |
| | | this.queryCustomColumns(); |
| | | this.queryShops(); |
| | | this.queryAchieveUsers(); |
| | | this.getAchieveRule(); |
| | | }, |
| | | methods : { |
| | | queryTableData () { |
| | |
| | | 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; |
| | |
| | | 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, |
| | |
| | | } |
| | | }); |
| | | }, |
| | | /** |
| | | * 获取规则 |
| | | */ |
| | | 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({ |
| | |
| | | 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> |
| | |
| | | th:data-url="@{/admin/dataDictionary/showDataDictionary}" |
| | | data-filed="name" |
| | | data-value="name" |
| | | data-param="{type:'字段类型'}" |
| | | data-param="{type:'问卷类型'}" |
| | | > |
| | | <option value="">请选择字段类型</option> |
| | | </select> |
| | |
| | | </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" |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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); |
| | | 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) |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 测试类示例 |
| | |
| | | @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 { |
| | |
| | | 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 |
| | |
| | | @Autowired |
| | | private SysProjUseDao sysProjUseDao; |
| | | |
| | | @Autowired |
| | | AchieveNewDao achieveNewDao; |
| | | |
| | | @Test |
| | | public void tcProjTest() { |
| | | // List<SysProjUse> projUses = sysProjUseDao.selectTaoCanListWithProj(); |
| | | // if (CollUtil.isNotEmpty(projUses)) { |
| | | // |
| | | // } |
| | | //achieveNewDao |
| | | |
| | | |
| | | |
| | | } |
| | | } |