| | |
| | | <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> |
| | | <exclude>**/*.woff2</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") |
| | |
| | | @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); |
| | |
| | | @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 = "/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"; |
| | | |
| | |
| | | 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)); |
| | |
| | | * @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); |
| | | |
| | | } |
| | |
| | | * luokai |
| | | * @return |
| | | */ |
| | | public List<Question> findByVipId(Long id); |
| | | public List<Question> findByVipId(Long id,Long companyId); |
| | | |
| | | |
| | | |
| | |
| | | * @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; |
| | |
| | | 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.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); |
| | |
| | | # |
| | | 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.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 |
| | | |
| | | #spring.datasource.username=xc_shop |
| | | #spring.datasource.password=xc_shop123!@# |
| | |
| | | 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> |
| | | |
| | |
| | | <th width="100px">服务时长(分钟)</th> |
| | | <th>服务时间</th> |
| | | <th width="300px">美疗师</th> |
| | | <th style="width: 100px;">提成</th> |
| | | </tr> |
| | | |
| | | <tr v-for="(item,index) in projService.serviceItems"> |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | <td> |
| | | <el-input v-model="item.extract"></el-input> |
| | | </td> |
| | | |
| | | |
| | | </tr> |
| | | |
| | |
| | | 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) |