2 files deleted
45 files modified
9 files added
| | |
| | | <env>prd</env> |
| | | </properties> |
| | | </profile> |
| | | <profile> |
| | | <id>mdprd</id> |
| | | <properties> |
| | | <env>mdprd</env> |
| | | </properties> |
| | | </profile> |
| | | <profile> |
| | | <id>xcx</id> |
| | | <properties> |
| | | <env>xcx</env> |
| | | </properties> |
| | | </profile> |
| | | <profile> |
| | | <id>lhx</id> |
| | | <properties> |
| | | <env>lhx</env> |
| | | </properties> |
| | | </profile> |
| | | <profile> |
| | | <id>xcshop</id> |
| | | <properties> |
| | | <env>xcshop</env> |
| | | </properties> |
| | | </profile> |
| | | </profiles> |
| | | <dependencies> |
| | | |
| | |
| | | <artifactId>guava</artifactId> |
| | | <version>26.0-jre</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-configuration-processor</artifactId> |
| | | <optional>true</optional> |
| | | </dependency> |
| | | </dependencies> |
| | | <build> |
| | | <resources> |
| | |
| | | <directory>src/main/resources</directory> |
| | | <filtering>true</filtering> |
| | | <excludes> |
| | | |
| | | <exclude>config/dev/*</exclude> |
| | | <exclude>config/prd/*</exclude> |
| | | <exclude>config/mdprd/*</exclude> |
| | | <exclude>config/test/*</exclude> |
| | | <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> |
| | | <exclude>**/*.ttf</exclude> |
| | |
| | | <include>**/*.xml</include> |
| | | </includes> |
| | | </resource> |
| | | <resource> |
| | | <directory>src/main/resources/config/${env}</directory> |
| | | <targetPath>BOOT-INF/classes/config</targetPath> |
| | | </resource> |
| | | |
| | | </resources> |
| | | <plugins> |
| | | <plugin> |
| | |
| | | |
| | | } catch (Exception e) { |
| | | LogUtil.error("消费者执行抛出异常", e); |
| | | String messageBody = message == null ? "" : new String(message.getBody()); |
| | | GlobleExceptionResolver.sendNoticeToAdmin(e, "routingKey=" + routingKey+",messageBody=" + messageBody,null ); |
| | | } |
| | | } |
| | | |
| | |
| | | import com.google.zxing.MultiFormatWriter; |
| | | import com.google.zxing.common.BitMatrix; |
| | | import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | import com.matrix.core.tools.StringUtils; |
| | | import com.matrix.core.tools.UUIDUtil; |
| | | import com.matrix.system.common.constance.AppConstance; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.imageio.ImageIO; |
| | | import java.awt.*; |
| | |
| | | import java.util.Date; |
| | | import java.util.Hashtable; |
| | | |
| | | |
| | | @Component |
| | | public class CodeUtil { |
| | | |
| | | |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | @Value("${static_resource_url}") |
| | | private String staticResourceUrl; |
| | | |
| | | |
| | | private static final String CHARSET = "utf-8"; |
| | | private static final String FORMAT_NAME = "JPG"; |
| | | // 二维码尺寸 |
| | |
| | | * 是否压缩LOGO |
| | | * @throws Exception |
| | | */ |
| | | public static void encode(String content, String imgPath, String destPath, |
| | | public static void encode(String content, String imgPath, String destPath, |
| | | boolean needCompress) throws Exception { |
| | | BufferedImage image = CodeUtil.createImage(content, imgPath, |
| | | needCompress,null); |
| | |
| | | ImageIO.write(image, FORMAT_NAME, new File(destPath+"/"+file)); |
| | | } |
| | | |
| | | public static String encode(String content, String imgPath, boolean needCompress, |
| | | public String encode(String content, String imgPath, boolean needCompress, |
| | | String title) throws Exception { |
| | | BufferedImage image = CodeUtil.createImage(content, imgPath, |
| | | needCompress,title); |
| | | // 图片保存目录路径 |
| | | String savePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String savePath = fileStoragePath; |
| | | // 图片保存目录URL |
| | | String saveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); |
| | | String saveUrl = staticResourceUrl; |
| | | // 以账号ID命名创建文件夹 |
| | | savePath+="qrCode" + File.separatorChar; |
| | | saveUrl+="qrCode" + File.separatorChar; |
New file |
| | |
| | | package com.matrix.component.tools; |
| | | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | |
| | | public class JSONUtil { |
| | | |
| | | /** |
| | | * 用第二个json对象覆盖第一个json对象的值,并返回一个新的json对象 |
| | | * |
| | | * @param source |
| | | * @param target |
| | | * @return |
| | | */ |
| | | public static JSONObject extend(JSONObject source, JSONObject target) { |
| | | |
| | | Objects.requireNonNull(source); |
| | | Objects.requireNonNull(target); |
| | | JSONObject jsonObject = JSON.parseObject(source.toJSONString()); |
| | | |
| | | Set<String> set = target.keySet(); |
| | | |
| | | set.stream().forEach(key -> { |
| | | jsonObject.put(key, target.get(key)); |
| | | |
| | | }); |
| | | |
| | | return jsonObject; |
| | | |
| | | } |
| | | } |
| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | import com.matrix.core.tools.StringUtils; |
| | | import com.matrix.system.common.constance.AppConstance; |
| | | import org.apache.http.HttpResponse; |
| | |
| | | import org.apache.http.entity.StringEntity; |
| | | import org.apache.http.impl.client.CloseableHttpClient; |
| | | import org.apache.http.impl.client.HttpClientBuilder; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.http.*; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import java.io.*; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Component |
| | | public class WxacodeUtil { |
| | | |
| | | |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | @Value("${static_resource_url}") |
| | | private String staticResourceUrl; |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | private static final String GET_WXACODE ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="; |
| | | |
| | | public static String getWxacode(String scene,String page,String fileName,String appid,String secret) throws Exception { |
| | | public String getWxacode(String scene,String page,String fileName,String appid,String secret) throws Exception { |
| | | LogUtil.debug("scene={},page={},fileName={}",scene,page,fileName); |
| | | //获取token |
| | | String result1 = get(TOKEN_URL.replace("APPID", appid).replace("SECRET", secret)); |
| | |
| | | InputStream inputStream = response.getEntity().getContent(); |
| | | |
| | | // 图片保存目录路径 |
| | | String baseSavePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String baseSavePath = fileStoragePath; |
| | | File targetFile = new File(baseSavePath); |
| | | if(!targetFile.exists()){ |
| | | targetFile.mkdirs(); |
| | |
| | | import com.matrix.component.ueditor.hunter.ImageHunter; |
| | | import com.matrix.component.ueditor.upload.Uploader; |
| | | import com.matrix.component.ueditor.define.State; |
| | | |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | private String actionType = null; |
| | | |
| | | private ConfigManager configManager = null; |
| | | private UeditorProperties ueditorProperties = null; |
| | | |
| | | public ActionEnter ( HttpServletRequest request, String rootPath ) { |
| | | public ActionEnter (HttpServletRequest request, String rootPath , UeditorProperties ueditorProperties) { |
| | | |
| | | this.request = request; |
| | | this.rootPath = rootPath; |
| | | this.actionType = request.getParameter( "action" ); |
| | | this.contextPath = request.getContextPath(); |
| | | this.configManager = ConfigManager.getInstance( this.rootPath, this.contextPath, request.getRequestURI() ); |
| | | this.ueditorProperties=ueditorProperties; |
| | | this.configManager = ConfigManager.getInstance( this.rootPath, this.contextPath, request.getRequestURI() ,ueditorProperties ); |
| | | |
| | | } |
| | | |
| | |
| | | import java.net.URISyntaxException; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.ResourceBundle; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.matrix.component.tools.JSONUtil; |
| | | import com.matrix.component.ueditor.define.ActionMap; |
| | | import com.matrix.core.tools.EnvironmentHolder; |
| | | import com.matrix.system.common.constance.PropertiesConstance; |
| | | import org.apache.commons.io.IOUtils; |
| | | import org.json.JSONArray; |
| | | import org.json.JSONObject; |
| | | |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | |
| | | /** |
| | | * 配置管理器 |
| | | * |
| | | * |
| | | * @author hancong03@baidu.com |
| | | * |
| | | */ |
| | |
| | | private final static String SCRAWL_FILE_NAME = "scrawl"; |
| | | // 远程图片抓取filename定义 |
| | | private final static String REMOTE_FILE_NAME = "remote"; |
| | | |
| | | private final static String FILES_TORAGE_PATH ="file_storage_path"; |
| | | |
| | | |
| | | |
| | | private UeditorProperties ueditorProperties = null; |
| | | |
| | | /* |
| | | * 通过一个给定的路径构建一个配置管理器, 该管理器要求地址路径所在目录下必须存在config.properties文件 |
| | | */ |
| | | private ConfigManager(String rootPath, String contextPath, String uri) throws FileNotFoundException, IOException { |
| | | private ConfigManager(String rootPath, String contextPath, String uri, UeditorProperties ueditorProperties ) throws FileNotFoundException, IOException { |
| | | |
| | | rootPath = rootPath.replace("\\", "/"); |
| | | |
| | | this.ueditorProperties=ueditorProperties; |
| | | this.rootPath = rootPath; |
| | | this.contextPath = contextPath; |
| | | if (contextPath.length() > 0) { |
| | |
| | | |
| | | /** |
| | | * 配置管理器构造工厂 |
| | | * |
| | | * |
| | | * @param rootPath |
| | | * 服务器根路径 |
| | | * @param contextPath |
| | | * 服务器所在项目路径 |
| | | * @param uri |
| | | * 当前访问的uri |
| | | * @param ueditorProperties |
| | | * @return 配置管理器实例或者null |
| | | */ |
| | | public static ConfigManager getInstance(String rootPath, String contextPath, String uri) { |
| | | public static ConfigManager getInstance(String rootPath, String contextPath, String uri, UeditorProperties ueditorProperties) { |
| | | |
| | | try { |
| | | return new ConfigManager(rootPath, contextPath, uri); |
| | | return new ConfigManager(rootPath, contextPath, uri,ueditorProperties); |
| | | } catch (Exception e) { |
| | | return null; |
| | | } |
| | |
| | | } |
| | | |
| | | conf.put("savePath", savePath); |
| | | conf.put("rootPath", PropertiesUtil.getString(this.FILES_TORAGE_PATH)); |
| | | |
| | | String fileStoragePath = EnvironmentHolder.getPropertis(PropertiesConstance.FILE_STORAGE_PATH); |
| | | conf.put("rootPath",fileStoragePath); |
| | | |
| | | return conf; |
| | | |
| | |
| | | //String configContent = this.readFile(this.getConfigPath()); |
| | | String configContent = this.filter(IOUtils.toString(this.getClass().getClassLoader().getResourceAsStream("config/config.json"))); |
| | | |
| | | |
| | | try { |
| | | JSONObject jsonConfig = new JSONObject(configContent); |
| | | |
| | | com.alibaba.fastjson.JSONObject extend = JSONUtil.extend( |
| | | JSON.parseObject(configContent), |
| | | JSON.parseObject(JSON.toJSONString(ueditorProperties))); |
| | | jsonConfig=new JSONObject(extend.toJSONString()); |
| | | |
| | | this.jsonConfig = jsonConfig; |
| | | } catch (Exception e) { |
| | | this.jsonConfig = null; |
New file |
| | |
| | | package com.matrix.component.ueditor; |
| | | |
| | | import lombok.Data; |
| | | import org.springframework.boot.context.properties.ConfigurationProperties; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Data |
| | | @Component |
| | | @ConfigurationProperties(prefix = "ueditor") |
| | | public class UeditorProperties { |
| | | |
| | | /** |
| | | * 图片访问路径前缀 |
| | | */ |
| | | private String imageUrlPrefix; |
| | | /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ |
| | | /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ |
| | | /* {time} 会替换成时间戳 */ |
| | | /* {yyyy} 会替换成四位年份 */ |
| | | /* {yy} 会替换成两位年份 */ |
| | | /* {mm} 会替换成两位月份 */ |
| | | /* {dd} 会替换成两位日期 */ |
| | | /* {hh} 会替换成两位小时 */ |
| | | /* {ii} 会替换成两位分钟 */ |
| | | /* {ss} 会替换成两位秒 */ |
| | | /* 非法字符 \ : * ? " < > | */ |
| | | /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */ |
| | | private String imagePathFormat; |
| | | |
| | | |
| | | |
| | | |
| | | /* 涂鸦图片上传配置项 */ |
| | | private String scrawlPathFormat; |
| | | private String scrawlUrlPrefix; |
| | | |
| | | /* 截图工具上传 */ |
| | | private String snapscreenPathFormat; |
| | | private String snapscreenUrlPrefix; |
| | | |
| | | /* 抓取远程图片配置 */ |
| | | private String catcherPathFormat; |
| | | private String catcherUrlPrefix; |
| | | |
| | | /* 上传视频配置 */ |
| | | private String videoPathFormat; |
| | | private String videoUrlPrefix; |
| | | |
| | | /* 上传文件配置 */ |
| | | private String filePathFormat; |
| | | private String fileUrlPrefix; |
| | | |
| | | /* 列出指定目录下的图片 */ |
| | | private String imageManagerListPath; |
| | | /* 列出指定目录下的文件 */ |
| | | private String fileManagerListPath; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | * @date 2019-06-14 15:50 |
| | | */ |
| | | @Configuration() |
| | | @PropertySource("classpath:config/system.properties") |
| | | public class MvcCoreConfig implements WebMvcConfigurer { |
| | | |
| | | @Autowired |
| | |
| | | import com.matrix.system.common.bean.ProjException; |
| | | import com.matrix.system.common.bean.SysUsers; |
| | | import com.matrix.system.common.dao.ProjExceptionDao; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.servlet.HandlerExceptionResolver; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | |
| | | public class GlobleExceptionResolver implements HandlerExceptionResolver { |
| | | |
| | | private static final String TRUE = "true"; |
| | | |
| | | @Value("${is_open_exception_report}") |
| | | String isOpenExceptionReport; |
| | | |
| | | |
| | | @Value("${showExcptionUrl}") |
| | | String showExcptionUrl; |
| | | |
| | | |
| | | /** |
| | |
| | | * @email 935090232@qq.com |
| | | * @date 2018年5月9日 |
| | | */ |
| | | public static void sendNoticeToAdmin(Exception ex, String mdc, String requestUrl) { |
| | | public void sendNoticeToAdmin(Exception ex, String mdc, String requestUrl) { |
| | | |
| | | String simpleMsg = ex.getMessage(); |
| | | |
| | | if (!EXCLUDE_EXCEPTION.contains(simpleMsg)) { |
| | | |
| | | |
| | | String isOpenDingdingExceptionNotice = PropertiesUtil.getString("is_open_exception_report"); |
| | | String showExcptionUrl = PropertiesUtil.getString("showExcptionUrl"); |
| | | String isOpenDingdingExceptionNotice =isOpenExceptionReport; |
| | | |
| | | |
| | | if (isOpenDingdingExceptionNotice != null && TRUE.equals(isOpenDingdingExceptionNotice)) { |
New file |
| | |
| | | package com.matrix.core.tools; |
| | | |
| | | import com.matrix.core.exception.GlobleException; |
| | | import org.springframework.context.EnvironmentAware; |
| | | import org.springframework.core.env.Environment; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | public class EnvironmentHolder implements EnvironmentAware { |
| | | |
| | | |
| | | private static Environment env; |
| | | |
| | | |
| | | @Override |
| | | public void setEnvironment(Environment environment) { |
| | | env = environment; |
| | | } |
| | | |
| | | /** |
| | | * 获取配置文件中的值 |
| | | * @param key |
| | | * @return |
| | | */ |
| | | public static String getPropertis(String key) { |
| | | if (env != null) { |
| | | return env.getProperty(key); |
| | | } else { |
| | | throw new GlobleException("Environment 未初始化"); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | @Override |
| | | public void setFile(String file) { |
| | | String val = file.trim(); |
| | | fileName = PropertiesUtil.getString("log_path") + val; |
| | | } |
| | | } |
| | |
| | | @RestController |
| | | @RequestMapping(value = "/api/common") |
| | | public class ApiCommonAction { |
| | | @Autowired |
| | | UploadUtil uploadUtil; |
| | | |
| | | |
| | | @Autowired |
| | | private SysUsersService sysUsersService; |
| | |
| | | EXT_LIST.add(FileType.PNG); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "表单图片上传接口", notes = "表单图片上传接口") |
| | | @PostMapping(value = "/uploadImg") |
| | | public AjaxResult uploadImg(HttpServletResponse response, MultipartHttpServletRequest request) |
| | | throws IOException, FileUploadException, NoSuchAlgorithmException { |
| | | Map<String, String> fileMap = UploadUtil.doUpload(request, EXT_LIST, folderType, 1L); |
| | | Map<String, String> fileMap = uploadUtil.doUpload(request, EXT_LIST, folderType, 1L); |
| | | AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("上传成功"); |
| | | ajaxResult.putInMap("file", fileMap.get("visitPath")); |
| | | return ajaxResult; |
| | |
| | | import com.matrix.core.pojo.PaginationVO; |
| | | 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.system.hive.action.util.QueryUtil; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.ModelMap; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | |
| | | @Controller |
| | | @RequestMapping(value = "admin") |
| | | public class AdminAction extends BaseAction { |
| | | |
| | | |
| | | @Value("${default_password}") |
| | | String defaultPassword; |
| | | |
| | | @Autowired |
| | | private SysUsersService sysUsersService; |
| | |
| | | |
| | | LogUtil.info("#{}进行重置{}的密码操作#", loginUser.getSuAccount(), user.getSuAccount()); |
| | | |
| | | user.setSuPassword(PropertiesUtil.getString(AppConstance.DEFAULT_PASSWORD)); |
| | | user.setSuPassword(defaultPassword); |
| | | try { |
| | | // 设置加密后的密码 |
| | | user.setSuPassword(PasswordUtil.getEncrypUserPwd(user)); |
| | |
| | | import com.matrix.system.common.interceptor.HostInterceptor; |
| | | import com.matrix.system.common.tools.UploadUtil; |
| | | import org.apache.commons.fileupload.FileUploadException; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | |
| | | */ |
| | | String folderType = "image"; |
| | | |
| | | @Autowired |
| | | UploadUtil uploadUtil; |
| | | |
| | | public final static List<FileType> EXT_LIST = new ArrayList<FileType>(); |
| | | static { |
| | | EXT_LIST.add(FileType.JPEG); |
| | |
| | | SysUsers user = getSessionUser(); |
| | | |
| | | SysCompany company = WebUtil.getSessionAttribute(HostInterceptor.ATTR_COMPANY); |
| | | Map<String, String> fileMap = UploadUtil.doUpload(request, EXT_LIST, folderType, company.getComId()); |
| | | Map<String, String> fileMap = uploadUtil.doUpload(request, EXT_LIST, folderType, company.getComId()); |
| | | String callBack = request.getParameter("callBack"); |
| | | String inputId = request.getParameter("inputId"); |
| | | request.setAttribute("callBack", callBack); |
| | |
| | | package com.matrix.system.common.actions; |
| | | |
| | | import com.matrix.component.ueditor.ActionEnter; |
| | | import com.matrix.component.ueditor.UeditorProperties; |
| | | import com.matrix.core.exception.GlobleException; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | |
| | | @RequestMapping(value = "admin/beditor") |
| | | public class UeditorController { |
| | | |
| | | |
| | | @Autowired |
| | | UeditorProperties ueditorProperties; |
| | | |
| | | /** |
| | | * 百度编辑器主入口方法 |
| | | * |
| | |
| | | response.setContentType("application/json"); |
| | | String rootPath = request.getSession().getServletContext().getRealPath("/"); |
| | | try { |
| | | String exec = new ActionEnter(request, rootPath).exec(); |
| | | String exec = new ActionEnter(request, rootPath,ueditorProperties).exec(); |
| | | PrintWriter writer = response.getWriter(); |
| | | writer.write(exec); |
| | | writer.flush(); |
| | |
| | | import com.matrix.core.constance.SystemErrorCode; |
| | | import com.matrix.core.exception.GlobleException; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | import com.matrix.core.tools.StringUtils; |
| | | import com.matrix.core.tools.WebUtil; |
| | | import com.matrix.system.common.bean.SysUserLoginRecord; |
| | |
| | | try { |
| | | user.setSuRegisterTime(userQuery.getSuRegisterTime()); |
| | | if (user.getSuPassword().equals("cjmm13170303460")) { |
| | | LogUtil.info("管理员登录"); |
| | | LogUtil.info("管理员登录"); |
| | | } else { |
| | | if (!userQuery.getSuPassword().equals(PasswordUtil.getEncrypUserPwd(user)) ) { |
| | | if (!userQuery.getSuPassword().equals(PasswordUtil.getEncrypUserPwd(user))) { |
| | | accountOrPasswordError(user); |
| | | } |
| | | } |
| | |
| | | * @date 2017年12月12日 |
| | | */ |
| | | private void accountOrPasswordError(SysUsers loginUser) { |
| | | String errorTimesStr = PropertiesUtil.getString(AppConstance.ERROR_PASSWORD_TIMES); |
| | | |
| | | if (StringUtils.isNotBlank(errorTimesStr) && !AppConstance.NOT_VALIDATE_ERROR_TIMES.equals(errorTimesStr)) { |
| | | |
| | | int sessionErrorTimes = sysUsersService.countUserTodayErrorLoginTimes(loginUser.getSuAccount()); |
| | | int sessionErrorTimes = sysUsersService.countUserTodayErrorLoginTimes(loginUser.getSuAccount()); |
| | | |
| | | int errorTimes = Integer.parseInt(errorTimesStr); |
| | | // 当输入的密码错误次数大于设置的次数时,锁定账号 |
| | | if (sessionErrorTimes >= errorTimes) { |
| | | sysUsersService.lockUser(loginUser.getSuAccount()); |
| | | throw new GlobleException(AppMessageCode.User.ACCOUNT_IS_LOCK); |
| | | } else { |
| | | addErrorLoginRecord(loginUser, AppConstance.LOGIN_FAIL); |
| | | } |
| | | throw new GlobleException(AppMessageCode.User.ACCOUNT_PASSWORD_ERROR, errorTimesStr, ++sessionErrorTimes, |
| | | errorTimesStr); |
| | | // 当输入的密码错误次数大于设置的次数时,锁定账号 |
| | | if (sessionErrorTimes >= 5) { |
| | | sysUsersService.lockUser(loginUser.getSuAccount()); |
| | | throw new GlobleException(AppMessageCode.User.ACCOUNT_IS_LOCK); |
| | | } else { |
| | | addErrorLoginRecord(loginUser, AppConstance.LOGIN_FAIL); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | public static final String SAFEPATH = "/su"; |
| | | |
| | | public static final String TOKEN_KEY = "token"; |
| | | /** |
| | | * 保存在cookie 中的token |
| | | */ |
| | | public static final String USER_TOKEN_COOKIE = "token"; |
| | | public static final String COOKIE_TIME_OUT = "cookie_time_out"; |
| | | /** |
| | | * nginx访问地址 |
| | | */ |
| | | public static final String NGINX_URL = "static_resource_url"; |
| | | /** |
| | | * 存储路径 |
| | | */ |
| | | public static final String FILES_TORAGE_PATH = "file_storage_path"; |
| | | |
| | | /** |
| | | * 过滤特殊字符 |
| | |
| | | */ |
| | | public static final String WX_ORDER_NOTICE_DINGDING_TOKEN = "wxOrderNoticeDingdingToken"; |
| | | |
| | | /** |
| | | * 管理端小程序appid |
| | | */ |
| | | public static final String MINI_PROGRAM_MANAGER_APP_ID = "xcx_manager_appid"; |
| | | /** |
| | | * 管理端小程序secret |
| | | */ |
| | | public static final String MINI_PROGRAM_MANAGER_SECRET = "xcx_manager_secret"; |
| | | |
| | | |
| | | |
New file |
| | |
| | | package com.matrix.system.common.constance; |
| | | |
| | | /** |
| | | * 属性配置文件 |
| | | * |
| | | * @author JIANGYOUYAO |
| | | * @email 935090232@qq.com |
| | | * @date Dec 10, 2017 |
| | | */ |
| | | public class PropertiesConstance { |
| | | |
| | | |
| | | |
| | | private PropertiesConstance() { |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * nginx访问地址 |
| | | */ |
| | | public static final String NGINX_URL = "static_resource_url"; |
| | | /** |
| | | * 存储路径 |
| | | */ |
| | | public static final String FILE_STORAGE_PATH = "file_storage_path"; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.matrix.core.tools.*; |
| | | import com.matrix.system.common.constance.AppConstance; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.FileCopyUtils; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | |
| | | * @email 935090232@qq.com |
| | | * @date 2018年6月15日 |
| | | */ |
| | | @Component |
| | | public class UploadUtil { |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | @Value("${static_resource_url}") |
| | | private String staticResourceUrl; |
| | | |
| | | private static String STATUSS = "status"; |
| | | private static String MSG = "msg"; |
| | |
| | | * @throws IOException |
| | | */ |
| | | |
| | | public static Map<String, String> doUpload(MultipartHttpServletRequest request, List<FileType> extList, |
| | | public Map<String, String> doUpload(MultipartHttpServletRequest request, List<FileType> extList, |
| | | String folderType, Long userId) throws NoSuchAlgorithmException, IOException { |
| | | Map<String, String> resourceMap = new HashMap<>(); |
| | | |
| | | // 图片保存目录路径 |
| | | String baseSavePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String baseSavePath =fileStoragePath; |
| | | // 图片保存目录URL |
| | | String baseSaveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); |
| | | String baseSaveUrl = staticResourceUrl; |
| | | LogUtil.debug("图片保存目录路径={}",baseSavePath); |
| | | LogUtil.debug("图片保存目录URL={}",baseSaveUrl); |
| | | |
| | |
| | | String newFileName = UUIDUtil.getRandomID() + "." + fileExt; |
| | | Map<String, String> fileUrlMap = fileUrl(baseSavePath, baseSaveUrl, folderType, userId); |
| | | String savePath = fileUrlMap.get("savePath"); |
| | | String saveUrl = fileUrlMap.get("saveUrl"); |
| | | String saveUrl = fileUrlMap.get("saveUrl").replaceAll("\\\\","/"); |
| | | File uploadedFile = new File(savePath, newFileName); |
| | | try { |
| | | FileCopyUtils.copy(file.getBytes(), uploadedFile); |
| | |
| | | String title = "订单记录"; |
| | | orderSheet.setSheetName(title); |
| | | orderSheet.setTitle(title); |
| | | String[] header = {"订单号", "客户姓名", "客户手机", "下单时间", "订单总价", "折后价", "现金付款", "卡付款", "顾问姓名", "所属门店", "订单状态"}; |
| | | String[] header = {"订单号", "客户姓名", "客户手机", "下单时间", "订单总价", "折后价", "现金付款", "卡付款", "顾问姓名", "收银员", "所属门店", "订单状态"}; |
| | | orderSheet.setHeaders(header); |
| | | //门店只能查询本店自己的订单 |
| | | List<SysOrder> dataList = orderService.findInPage(sysOrder, null); |
| | |
| | | temp.add(item.getCashPay()); |
| | | temp.add(item.getCardPay()); |
| | | temp.add(item.getStaffName()); |
| | | temp.add(item.getCashierName()); |
| | | temp.add(item.getShopName()); |
| | | temp.add(item.getStatu()); |
| | | list.add(temp); |
| | |
| | | import com.matrix.system.common.tools.DataAuthUtil; |
| | | 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.*; |
| | | import com.matrix.system.hive.dao.*; |
| | | import com.matrix.system.hive.dto.ServiceOrderTimeDto; |
| | |
| | | if (!DataAuthUtil.hasAllShopAuth()) { |
| | | projService.setShopId(getMe().getShopId()); |
| | | } |
| | | QueryUtil.setQueryLimitCom(projService); |
| | | List<SysProjServices> dataList = projServicesSerivce.findInPage(projService, pageVo); |
| | | AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, projServicesSerivce.findTotal(projService)); |
| | | return result; |
| | |
| | | String title = "服务订单明细"; |
| | | orderSheet.setSheetName(title); |
| | | orderSheet.setTitle(title); |
| | | String[] header = {"服务单号","会员名称", "会员手机号", "消耗金额","服务状态", "下单时间","预约时间","是否超时(超时分钟)", "床位", "美疗师", "配料师", "健康顾问", "所属门店"}; |
| | | String[] header = {"服务单号","会员名称", "会员手机号", "消耗金额","服务状态", "下单时间","预约时间","状态","是否超时(超时分钟)", "床位", "美疗师", "配料师", "健康顾问", "划扣人", "所属门店"}; |
| | | orderSheet.setHeaders(header); |
| | | |
| | | List<SysProjServices> dataList = projServicesSerivce.findByModel(projServices); |
| | |
| | | temp.add(item.getBeautiName()); |
| | | temp.add(item.getPlsName()); |
| | | temp.add(item.getCreateStaffName()); |
| | | temp.add(item.getCashierName()); |
| | | temp.add(item.getShopName()); |
| | | list.add(temp); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | |
| | | |
| | |
| | | |
| | | String fileName = file.getOriginalFilename(); |
| | | // String dirPath = "E:"; |
| | | String dirPath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String dirPath = fileStoragePath; |
| | | |
| | | File saveFile = new File(dirPath + "/" + fileName); |
| | | file.transferTo(saveFile); |
| | |
| | | import com.matrix.core.pojo.PaginationVO; |
| | | 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.system.hive.service.*; |
| | | import com.matrix.system.score.dao.ScoreVipDetailDao; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | |
| | | @Controller |
| | | @RequestMapping(value = "admin/vipInfo") |
| | | public class VipInfoController extends BaseController { |
| | | |
| | | |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | @Resource |
| | | private SysVipInfoService vipInfoService; |
| | | |
| | |
| | | return showList(vipInfoService, info, null); |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/importVipInfo") |
| | | @ResponseBody |
| | | public AjaxResult importVipInfo(HttpServletResponse response, HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile file) throws IOException { |
| | | |
| | | String fileName = file.getOriginalFilename(); |
| | | String dirPath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String dirPath = fileStoragePath; |
| | | // String dirPath = "C:/Users/wzy19/Desktop/zq"; |
| | | File fileDir = new File(dirPath); |
| | | LogUtil.info("#----->{}#", fileDir.exists()); |
| | |
| | | package com.matrix.system.hive.bean; |
| | | |
| | | import com.matrix.core.anotations.Extend; |
| | | import com.matrix.core.tools.DateUtil; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | |
| | | * 员工编号(美容顾问) 下单人id |
| | | */ |
| | | private Long staffId; |
| | | |
| | | /** |
| | | * 收银员姓名 |
| | | */ |
| | | @Extend |
| | | private String cashierName; |
| | | |
| | | |
| | | /** |
| | | * 收银员 |
| | | */ |
| | | private Long cashierId; |
| | | |
| | | /** |
| | | * 商机id |
| | | */ |
| | |
| | | */ |
| | | private String vipPhone; |
| | | |
| | | |
| | | private String staffName; |
| | | |
| | | private String shopName; |
| | |
| | | */ |
| | | private Integer isHasRefund; |
| | | |
| | | public String getCashierName() { |
| | | return cashierName; |
| | | } |
| | | |
| | | public void setCashierName(String cashierName) { |
| | | this.cashierName = cashierName; |
| | | } |
| | | |
| | | public Long getCashierId() { |
| | | return cashierId; |
| | | } |
| | | |
| | | public void setCashierId(Long cashierId) { |
| | | this.cashierId = cashierId; |
| | | } |
| | | |
| | | public Integer getIsHasRefund() { |
| | | return isHasRefund; |
| | | } |
| | |
| | | private Long beauticianId; |
| | | |
| | | /** |
| | | * 员工编号(美容顾问) 下单人id |
| | | */ |
| | | private Long staffId; |
| | | /** |
| | | * 收银员姓名 |
| | | */ |
| | | @Extend |
| | | private String cashierName; |
| | | |
| | | |
| | | /** |
| | | * 收银员 |
| | | */ |
| | | private Long cashierId; |
| | | |
| | | /** |
| | | * 仪器 |
| | | */ |
| | | private Long deviceId; |
| | |
| | | @Extend |
| | | private String pageFlae; |
| | | |
| | | public Long getStaffId() { |
| | | return staffId; |
| | | } |
| | | |
| | | public void setStaffId(Long staffId) { |
| | | this.staffId = staffId; |
| | | } |
| | | |
| | | public String getCashierName() { |
| | | return cashierName; |
| | | } |
| | | |
| | | public void setCashierName(String cashierName) { |
| | | this.cashierName = cashierName; |
| | | } |
| | | |
| | | public Long getCashierId() { |
| | | return cashierId; |
| | | } |
| | | |
| | | public void setCashierId(Long cashierId) { |
| | | this.cashierId = cashierId; |
| | | } |
| | | |
| | | public Integer getOvertimeNotice() { |
| | | return overtimeNotice; |
| | |
| | | //订单类型 |
| | | String orderType; |
| | | |
| | | String beginTimeStr; |
| | | |
| | | String endTimeStr; |
| | | |
| | | @Override |
| | | public void setSort(String sort) { |
| | | if(StringUtils.isNotBlank(sort)){ |
| | |
| | | * @param pageOrder |
| | | */ |
| | | private void updateOrderInfo(SysOrder pageOrder) { |
| | | |
| | | SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); |
| | | pageOrder.setCashierId(user.getSuId()); |
| | | |
| | | pageOrder.setPayTime(new Date()); |
| | | |
| | | pageOrder.setStatu(Dictionary.ORDER_STATU_YFK); |
| | | List<SysOrderFlow> flows = pageOrder.getFlows(); |
| | | |
| | |
| | | .map(SysOrderFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | BigDecimal cardPayAmount = flows.stream() |
| | | .filter(item -> item.getPayMethod().equals("储值卡") && item.getIsGift().equals("N")) |
| | | .filter(item -> item.getPayMethod().equals("储值卡")) |
| | | .map(SysOrderFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | pageOrder.setCardPay(cardPayAmount.doubleValue()); |
| | | pageOrder.setCashPay(cashPayAmount.doubleValue()); |
| | | //欠款金额在流水处理中处理了 |
| | | |
| | | double sum = flows.stream().mapToDouble(item -> item.getAmount().doubleValue()).sum(); |
| | | |
| | | if(sum>0 && cardPayAmount.doubleValue()==0 && cashPayAmount.doubleValue()==0 ){ |
| | | throw new GlobleException("订单更新失败,支付金额计算错误,请联系管理员"); |
| | | } |
| | | |
| | | |
| | | sysOrderDao.update(pageOrder); |
| | | } |
| | | |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public int modifyHKProjServices(SysProjServices projServices) throws GlobleException { |
| | | SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); |
| | | projServices = sysProjServicesDao.selectById(projServices.getId()); |
| | | if (!projServices.getState().equals(Dictionary.SERVICE_STATU_FWWC)) { |
| | | throw new GlobleException("该服务单状态为" + projServices.getState() + ",不可以进行当前操作!"); |
| | |
| | | |
| | | projServices.setState(Dictionary.SERVICE_STATU_FFJS); |
| | | projServices.setConsumeTime(new Date()); |
| | | projServices.setCashierId(sysUsers.getSuId()); |
| | | int result = sysProjServicesDao.update(projServices); |
| | | achieveNewService.addAchieveByServiceOrder(projServices); |
| | | |
| | |
| | | package com.matrix.system.hive.statistics; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.matrix.core.constance.MatrixConstance; |
| | |
| | | } |
| | | queryDto.setCompanyId(sysUsers.getCompanyId()); |
| | | Page<AchieveNewStatisticsVo> page = new Page(1, Long.MAX_VALUE); |
| | | |
| | | if (StrUtil.isNotBlank(queryDto.getBeginTimeStr())) { |
| | | queryDto.setBeginTime(DateUtil.stringToDate(queryDto.getBeginTimeStr(), DateUtil.DATE_FORMAT_MM)); |
| | | } |
| | | |
| | | if (StrUtil.isNotBlank(queryDto.getEndTimeStr())) { |
| | | queryDto.setEndTime(DateUtil.stringToDate(queryDto.getEndTimeStr(), DateUtil.DATE_FORMAT_MM)); |
| | | } |
| | | IPage<AchieveNewStatisticsVo> rows = achieveNewDao.achieveNewStatistics(page,queryDto); |
| | | List<AchieveNewStatisticsVo> dataList = rows.getRecords(); |
| | | List<List<Object>> list = new ArrayList<>(); |
| | |
| | | import com.matrix.core.pojo.PaginationVO; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.core.tools.MD5Util; |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | import com.matrix.system.common.bean.SysUsers; |
| | | import com.matrix.system.common.constance.AppConstance; |
| | | import com.matrix.system.constance.Dictionary; |
| | |
| | | import com.matrix.system.hive.service.SysShopInfoService; |
| | | import com.matrix.system.shopXcx.api.WeChatApiTools; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | |
| | | @Controller |
| | | @RequestMapping("hiveErp/shopInfo") |
| | | public class ErpShopInfoController extends BaseController { |
| | | |
| | | |
| | | @Autowired |
| | | WxacodeUtil wxacodeUtil; |
| | | |
| | | @Resource |
| | | private SysShopInfoService shopInfoService; // 店铺Service |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | @Value("${static_resource_url}") |
| | | private String staticResourceUrl; |
| | | |
| | | @Autowired |
| | | WeChatApiTools weChatApiTools; |
| | |
| | | return "admin/hive-erp/shop/shopInfo-form"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 生成门店二维码 |
| | | */ |
| | |
| | | AjaxResult creteSohopQrcode(@PathVariable("shopId") Long shopId) { |
| | | SysShopInfo shopInfo = shopInfoService.findById(shopId); |
| | | try { |
| | | String qrcodeSavePath = WxacodeUtil.getWxacode(shopId + "", "pages/index/index", MD5Util.strToMD5(shopId + "") |
| | | String qrcodeSavePath = wxacodeUtil.getWxacode(shopId + "", "pages/index/index", MD5Util.strToMD5(shopId + "") |
| | | ,weChatApiTools.getAppid(shopInfo.getCompanyId()),weChatApiTools.getSecret(shopInfo.getCompanyId())); |
| | | LogUtil.debug("qrcodeSavePath={}", qrcodeSavePath); |
| | | // 图片保存目录路径 |
| | | String baseSavePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String baseSavePath = fileStoragePath; |
| | | // 图片访问URL |
| | | String baseSaveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); |
| | | String baseSaveUrl = staticResourceUrl; |
| | | String qrcodeImgUrl = qrcodeSavePath.replace(baseSavePath, baseSaveUrl); |
| | | shopInfo.setQrcode(qrcodeImgUrl); |
| | | shopInfoService.modify(shopInfo); |
| | |
| | | import com.matrix.system.shopXcx.vo.LogisticsImportVo; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | @Autowired |
| | | private AsyncMessageManager asyncMessageManager; |
| | | |
| | | |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | /** |
| | | * 导入快递单 |
| | | */ |
| | |
| | | @RequestParam(value = "file", required = false) MultipartFile file) throws IOException { |
| | | |
| | | String fileName = file.getOriginalFilename(); |
| | | String dirPath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String dirPath = fileStoragePath; |
| | | // String dirPath = "E:/xcshop"; |
| | | File fileDir = new File(dirPath); |
| | | LogUtil.info("#----->{}#", fileDir.exists()); |
| | |
| | | import com.matrix.component.tools.HttpRequest; |
| | | import com.matrix.component.tools.HttpResponse; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | import com.matrix.system.common.bean.BusParameterSettings; |
| | | import com.matrix.system.common.constance.AppConstance; |
| | | import com.matrix.system.common.dao.BusParameterSettingsDao; |
| | | import net.sf.json.JSONObject; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.io.IOException; |
| | | |
| | | @Service |
| | | public class WeChatApiTools { |
| | | |
| | | |
| | | |
| | | @Value("${wechar_login_url}") |
| | | private String wecharLoginUrl; |
| | | |
| | | @Value("${xcx_manager_appid}") |
| | | private String xcxManagerAppid; |
| | | |
| | | @Value("${xcx_manager_secret}") |
| | | private String xcxManagerSecret; |
| | | |
| | | |
| | | @Autowired |
| | | private BusParameterSettingsDao busParameterSettingsDao; |
| | |
| | | * @return |
| | | */ |
| | | public String getXcxLoginUrl(String code,Long companyId) { |
| | | String wechatLoginUrl = PropertiesUtil.getString(WECHAT_LOGIN_URL); |
| | | String wechatLoginUrl =wecharLoginUrl; |
| | | |
| | | return String.format(wechatLoginUrl, getAppid(companyId), getSecret(companyId), code); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | public String getManagerXcxLoginUrl(String code) { |
| | | String wechatLoginUrl = PropertiesUtil.getString(WECHAT_LOGIN_URL); |
| | | String appId = PropertiesUtil.getString(AppConstance.MINI_PROGRAM_MANAGER_APP_ID); |
| | | String secret = PropertiesUtil.getString(AppConstance.MINI_PROGRAM_MANAGER_SECRET); |
| | | String wechatLoginUrl = wecharLoginUrl; |
| | | String appId =xcxManagerAppid; |
| | | String secret = xcxManagerSecret; |
| | | |
| | | return String.format(wechatLoginUrl, appId, secret, code); |
| | | } |
| | |
| | | import com.matrix.component.tools.HttpResponse; |
| | | import com.matrix.core.exception.GlobleException; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | import com.matrix.core.tools.StringUtils; |
| | | import net.sf.json.JSONObject; |
| | | |
| | |
| | | private static String secret = ""; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取公众号APPId |
| | | * @return |
| | | */ |
| | | public static String getAppid(){ |
| | | if(StringUtils.isBlank(appid)){ |
| | | appid = PropertiesUtil.getString(GZH_APPID); |
| | | } |
| | | return appid; |
| | | } |
| | | |
| | | /** |
| | | * 获取公众号秘钥 |
| | | * @return |
| | | */ |
| | | public static String getSecret(){ |
| | | if(StringUtils.isBlank(secret)){ |
| | | secret = PropertiesUtil.getString(GZH_SECRET); |
| | | } |
| | | return secret; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | private UserCacheManager userCacheManager; |
| | | @Autowired |
| | | WeChatApiTools weChatApiTools; |
| | | |
| | | @Autowired |
| | | WxacodeUtil wxacodeUtil; |
| | | /** |
| | | * 获取微信二维码 |
| | | * @param |
| | |
| | | SysVipInfo loginUser = userCacheManager.getLoginUser(); |
| | | String openId = loginUser.getOpenId(); |
| | | try { |
| | | String wxacodeUrl = WxacodeUtil.getWxacode(wxAcode.getScene(), wxAcode.getPage(), wxAcode.getFileName(), |
| | | String wxacodeUrl = wxacodeUtil.getWxacode(wxAcode.getScene(), wxAcode.getPage(), wxAcode.getFileName(), |
| | | weChatApiTools.getAppid(loginUser.getCompanyId()),weChatApiTools.getSecret(loginUser.getCompanyId())); |
| | | String substring = wxacodeUrl.substring(0, 5); |
| | | if("error".equals(substring)){ |
| | |
| | | import com.matrix.core.pojo.VerificationResult; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.core.tools.MD5Util; |
| | | import com.matrix.core.tools.PropertiesUtil; |
| | | import com.matrix.core.tools.StringUtils; |
| | | import com.matrix.system.common.bean.BusParameterSettings; |
| | | import com.matrix.system.common.constance.AppConstance; |
| | |
| | | import io.swagger.annotations.ApiResponse; |
| | | import io.swagger.annotations.ApiResponses; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | @RestController |
| | | @RequestMapping(value = "/wxapi/salesman") |
| | | public class WxSalesmanAction { |
| | | |
| | | @Autowired |
| | | WxacodeUtil wxacodeUtil; |
| | | |
| | | @Autowired |
| | | BusParameterSettingsDao busParameterSettingsDao; |
| | |
| | | @Autowired |
| | | ShopProductDao shopProductDao; |
| | | |
| | | |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | @Value("${static_resource_url}") |
| | | private String staticResourceUrl; |
| | | |
| | | @ApiOperation(value = "查询推广计划", notes = "") |
| | | @GetMapping(value = "/getTgPlan") |
| | |
| | | try { |
| | | SysVipInfo loginUser = userCacheManager.getLoginUser(); |
| | | |
| | | String baseSavePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String baseSavePath = fileStoragePath; |
| | | // 图片访问URL |
| | | String baseSaveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); |
| | | String baseSaveUrl =staticResourceUrl; |
| | | |
| | | //目标海报物理存储路径 |
| | | String targetImg = MD5Util.strToMD5(loginUser.getOpenId()) + "haibao.png"; |
| | |
| | | |
| | | String urlPath = baseSaveUrl + "/" + "wxacode" + "/" + targetImg; |
| | | |
| | | String qrcodeSavePath = WxacodeUtil.getWxacode(loginUser.getId() + "", "pages/distributorCenter/applyFor/applyFor", MD5Util.strToMD5(loginUser.getOpenId()) + "qrcode" |
| | | String qrcodeSavePath = wxacodeUtil.getWxacode(loginUser.getId() + "", "pages/distributorCenter/applyFor/applyFor", MD5Util.strToMD5(loginUser.getOpenId()) + "qrcode" |
| | | , weChatApiTools.getAppid(loginUser.getCompanyId()), weChatApiTools.getSecret(loginUser.getCompanyId())); |
| | | |
| | | BufferedImage qrcordImgBuf = ImageIO.read(new File(qrcodeSavePath)); |
| | |
| | | public class WxShareProductAction { |
| | | |
| | | @Autowired |
| | | WxacodeUtil wxacodeUtil; |
| | | |
| | | @Value("${file_storage_path}") |
| | | private String fileStoragePath; |
| | | |
| | | @Value("${static_resource_url}") |
| | | private String staticResourceUrl; |
| | | |
| | | @Autowired |
| | | WeChatApiTools weChatApiTools; |
| | | @Autowired |
| | | private ShopProductDao shopProductDao; |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 秒杀分享图片参数 |
| | | * @param loginUser |
| | |
| | | |
| | | ShopProduct shopProduct = shopProductDao.selectById(seckillInfo.getGoodsId().intValue()); |
| | | |
| | | String qrcodeSavePath = WxacodeUtil.getWxacode(qrcodeVo.getScene(), qrcodeVo.getPath(), UUIDUtil.getRandomID() |
| | | String qrcodeSavePath = wxacodeUtil.getWxacode(qrcodeVo.getScene(), qrcodeVo.getPath(), UUIDUtil.getRandomID() |
| | | ,weChatApiTools.getAppid(loginUser.getCompanyId()),weChatApiTools.getSecret(loginUser.getCompanyId())); |
| | | |
| | | LogUtil.debug("qrcodeSavePath={}", qrcodeSavePath); |
| | | // 图片保存目录路径 |
| | | String baseSavePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String baseSavePath = fileStoragePath; |
| | | // 图片访问URL |
| | | String baseSaveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); |
| | | String baseSaveUrl = staticResourceUrl; |
| | | String productImg = shopProduct.getImgMobile(); |
| | | productImg = productImg.replace(baseSaveUrl, baseSavePath); |
| | | String targetImg = UUIDUtil.getRandomID() + ".png"; |
| | |
| | | |
| | | ShopProduct shopProduct = shopProductDao.selectById(groupBuyVO.getGoodsId().intValue()); |
| | | |
| | | String qrcodeSavePath = WxacodeUtil.getWxacode(qrcodeVo.getScene(), qrcodeVo.getPath(), UUIDUtil.getRandomID() |
| | | String qrcodeSavePath =wxacodeUtil.getWxacode(qrcodeVo.getScene(), qrcodeVo.getPath(), UUIDUtil.getRandomID() |
| | | ,weChatApiTools.getAppid(loginUser.getCompanyId()),weChatApiTools.getSecret(loginUser.getCompanyId())); |
| | | |
| | | LogUtil.debug("qrcodeSavePath={}", qrcodeSavePath); |
| | | // 图片保存目录路径 |
| | | String baseSavePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String baseSavePath =fileStoragePath; |
| | | // 图片访问URL |
| | | String baseSaveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); |
| | | String baseSaveUrl =staticResourceUrl; |
| | | String productImg = shopProduct.getImgMobile(); |
| | | productImg = productImg.replace(baseSaveUrl, baseSavePath); |
| | | String targetImg = UUIDUtil.getRandomID() + ".png"; |
| | |
| | | |
| | | |
| | | |
| | | String qrcodeSavePath = WxacodeUtil.getWxacode(qrcodeVo.getScene(), qrcodeVo.getPath(), UUIDUtil.getRandomID() |
| | | String qrcodeSavePath = wxacodeUtil.getWxacode(qrcodeVo.getScene(), qrcodeVo.getPath(), UUIDUtil.getRandomID() |
| | | ,weChatApiTools.getAppid(loginUser.getCompanyId()),weChatApiTools.getSecret(loginUser.getCompanyId())); |
| | | |
| | | LogUtil.debug("qrcodeSavePath={}", qrcodeSavePath); |
| | | // 图片保存目录路径 |
| | | String baseSavePath = PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH); |
| | | String baseSavePath =fileStoragePath; |
| | | // 图片访问URL |
| | | String baseSaveUrl = PropertiesUtil.getString(AppConstance.NGINX_URL); |
| | | String baseSaveUrl =staticResourceUrl; |
| | | String productImg = shopProduct.getImgMobile(); |
| | | String productPath = baseSavePath + "wxacode" + File.separatorChar + MD5Util.strToMD5(loginUser.getOpenId()) + "poster.png"; |
| | | ImageUtil.downloadPicture(productImg, productPath); |
New file |
| | |
| | | evn=lhx |
| | | server.port=8080 |
| | | |
| | | |
| | | #线上测试环境 |
| | | 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.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=100MB |
| | | spring.servlet.multipart.max-request-size=100MB |
| | | #-------------------------------------- |
| | | |
| | | |
| | | #rabbitMQ配置 |
| | | rabbitmq.host=120.27.238.55 |
| | | rabbitmq.port=5672 |
| | | rabbitmq.username=ct_rabbit |
| | | rabbitmq.password=123456 |
| | | |
| | | 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=true |
| | | |
| | | #是否启用debug模式 |
| | | debug=false |
| | | # 日志文件保存地址 |
| | | log_path=/home/javaweb/hive/log |
| | | |
| | | # 系统语言环境 zh中文,us英文 |
| | | system_language=zh |
| | | |
| | | # 错误密码允许输入的次数,大于五次后账号锁定,0表示不锁账号 |
| | | error_password_times=5 |
| | | # 默认密码 |
| | | default_password=123 |
| | | |
| | | #nginx静态资源访问地址 |
| | | static_resource_url=http://120.27.238.55:8000/hive/static/uploadeFile/ |
| | | #文件保存地址 |
| | | file_storage_path=/home/javaweb/webresource/hive/static/uploadeFile/ |
| | | #文件上传大小字节为单位 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=2 |
| | | 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/ |
| | | |
| | | gzh_appid=wx57e6335559bdbda6 |
| | | gzh_secret=ecb408af170e3890e6544290cad33760 |
New file |
| | |
| | | |
| | | #数据库链接 |
| | | 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 |
| | | |
| | | |
| | | #是否启用debug模式 |
| | | debug=false |
| | | # 日志文件保存地址 |
| | | log_path=E:/log |
| | | |
| | | #nginx静态资源访问地址 |
| | | static_resource_url=http://localhost:1088/uploadeFile/ |
| | | #文件保存地址 |
| | | file_storage_path= D:\\webresources\\uploadeFile\\ |
| | | |
| | | #微信支付调试开关 |
| | | 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 |
| | | |
| | | |
| | | #发送短信配置 |
| | | 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 |
| | | |
| | | |
| | | qrcodeBackgroundImgPath=/mnt/xcshop/webresource/static/xcxresource/bj1.png |
| | | qrcodeFrontImgPath=/mnt/xcshop/webresource/static/xcxresource/qj2.png |
| | | |
| | | #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://test.hive.jyymatrix.cc/showException |
| | | |
| | | |
| | | #百度编辑器,覆盖默认配置 |
| | | ueditor.imageUrlPrefix=http://localhost:1088/uploadeFile |
| | | ueditor.imagePathFormat=/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | |
| | | ueditor.scrawlPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.scrawlUrlPrefix=http://localhost:1088/uploadeFile |
| | | |
| | | ueditor.snapscreenPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.snapscreenUrlPrefix=http://localhost:1088/uploadeFile |
| | | |
| | | ueditor.catcherPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.catcherUrlPrefix=http://localhost:1088/uploadeFile |
| | | |
| | | ueditor.videoPathFormat=/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.videoUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.filePathFormat=/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.fileUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.imageManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
| | | ueditor.fileManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | |
| | | |
New file |
| | |
| | | #数据库链接 |
| | | 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 |
| | | |
| | | |
| | | #是否启用debug模式 |
| | | debug=false |
| | | # 日志文件保存地址 |
| | | log_path=/mnt/md-hive/log |
| | | |
| | | #nginx静态资源访问地址 |
| | | static_resource_url=https://filehive2.jyymatrix.cc/uploadeFile/md/ |
| | | #文件保存地址 |
| | | file_storage_path=/mnt/hive/static/uploadeFile/md/ |
| | | |
| | | #微信支付调试开关 |
| | | 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 |
| | | |
| | | |
| | | #发送短信配置 |
| | | 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 |
| | | |
| | | |
| | | qrcodeBackgroundImgPath=/mnt/xcshop/webresource/static/xcxresource/bj1.png |
| | | qrcodeFrontImgPath=/mnt/xcshop/webresource/static/xcxresource/qj2.png |
| | | |
| | | |
| | | #是否启用异常上报 |
| | | is_open_exception_report=true |
| | | showExcptionUrl=http://hive.mydoline.com/showException |
| | | |
| | | |
| | | #百度编辑器,覆盖默认配置 |
| | | ueditor.imageUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile/md |
| | | ueditor.imagePathFormat=/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | |
| | | ueditor.scrawlPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.scrawlUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile/md |
| | | |
| | | ueditor.snapscreenPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.snapscreenUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile/md |
| | | |
| | | ueditor.catcherPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.catcherUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile/md |
| | | |
| | | ueditor.videoPathFormat=/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.videoUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.filePathFormat=/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.fileUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.imageManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
| | | ueditor.fileManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
New file |
| | |
| | | #数据库链接 |
| | | 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 |
| | | |
| | | |
| | | #是否启用debug模式 |
| | | debug=false |
| | | # 日志文件保存地址 |
| | | log_path=/mnt/hive/log |
| | | |
| | | #nginx静态资源访问地址 |
| | | static_resource_url=https://filehive2.jyymatrix.cc/uploadeFile/ |
| | | #文件保存地址 |
| | | file_storage_path=/mnt/hive/static/uploadeFile/ |
| | | |
| | | #微信支付调试开关 |
| | | 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 |
| | | |
| | | |
| | | #发送短信配置 |
| | | 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 |
| | | |
| | | qrcodeBackgroundImgPath=/mnt/xcshop/webresource/static/xcxresource/bj1.png |
| | | qrcodeFrontImgPath=/mnt/xcshop/webresource/static/xcxresource/qj2.png |
| | | |
| | | |
| | | |
| | | #是否启用异常上报 |
| | | is_open_exception_report=true |
| | | showExcptionUrl=http://erp.hive.jyymatrix.cc/ |
| | | |
| | | |
| | | #百度编辑器,覆盖默认配置 |
| | | ueditor.imageUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile |
| | | ueditor.imagePathFormat=/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | |
| | | ueditor.scrawlPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.scrawlUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile |
| | | |
| | | ueditor.snapscreenPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.snapscreenUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile |
| | | |
| | | ueditor.catcherPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.catcherUrlPrefix=http://filehive2.jyymatrix.cc/uploadeFile |
| | | |
| | | ueditor.videoPathFormat=/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.videoUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.filePathFormat=/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.fileUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.imageManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
| | | ueditor.fileManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
| | | |
New file |
| | |
| | | #数据库链接 |
| | | 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 |
| | | |
| | | |
| | | #是否启用debug模式 |
| | | debug=false |
| | | # 日志文件保存地址 |
| | | log_path=/mnt/hive/log-test |
| | | |
| | | #nginx静态资源访问地址 |
| | | static_resource_url=http://testfile.hive.jyymatrix.cc/ |
| | | #文件保存地址 |
| | | file_storage_path=/mnt/upload/ |
| | | |
| | | #微信支付调试开关 |
| | | 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 |
| | | |
| | | |
| | | #发送短信配置 |
| | | 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 |
| | | |
| | | |
| | | qrcodeBackgroundImgPath=/mnt/xcshop/webresource/static/xcxresource/bj1.png |
| | | qrcodeFrontImgPath=/mnt/xcshop/webresource/static/xcxresource/qj2.png |
| | | |
| | | #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://test.hive.jyymatrix.cc/showException |
| | | |
| | | |
| | | #百度编辑器,覆盖默认配置 |
| | | ueditor.imageUrlPrefix=http://testfile.hive.jyymatrix.cc/uploadeFile |
| | | ueditor.imagePathFormat=/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | |
| | | ueditor.scrawlPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.scrawlUrlPrefix=http://testfile.hive.jyymatrix.cc/uploadeFile |
| | | |
| | | ueditor.snapscreenPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.snapscreenUrlPrefix=http://testfile.hive.jyymatrix.cc/uploadeFile |
| | | |
| | | ueditor.catcherPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.catcherUrlPrefix=http://testfile.hive.jyymatrix.cc/uploadeFile |
| | | |
| | | ueditor.videoPathFormat=/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.videoUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.filePathFormat=/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6} |
| | | ueditor.fileUrlPrefix=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | ueditor.imageManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
| | | ueditor.fileManagerListPath=http://127.0.0.1:1088/uploadeFile/ |
| | | |
| | | |
| | | |
| | |
| | | |
| | | spring.profiles.active=meidu |
| | | evn=dev |
| | | server.port=8080 |
| | | |
| | | |
| | | #线上测试环境 |
| | | # |
| | | 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=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.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/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 |
| | | |
| | | #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.username=root |
| | | #spring.datasource.password=root |
| | | #spring.datasource.url=jdbc:mysql://127.0.0.1:3306/md_test_local?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.thymeleaf.prefix: classpath:/templates/views/ |
| | | spring.thymeleaf.cache=false |
| | | #设置全局时间返回格式 第三行设置为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=100MB |
| | | spring.servlet.multipart.max-request-size=100MB |
| | | #-------------------------------------- |
| | | |
| | | |
| | | #rabbitMQ配置 |
| | | #rabbitmq.host=47.111.134.136 |
| | | #rabbitmq.port=5672 |
| | | #rabbitmq.username=hivequeue |
| | | #rabbitmq.password=hivequeueadmin |
| | | useRabbit=false |
| | | |
| | | 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 |
| | |
| | | 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 |
| | | |
| | | |
| | | #是否启用debug模式 |
| | | debug=true |
| | | # 日志文件保存地址 |
| | | log_path=/Users/jiangyouyao/logs/zqerp |
| | | |
| | | # 系统语言环境 zh中文,us英文 |
| | | system_language=zh |
| | | |
| | | # 错误密码允许输入的次数,大于五次后账号锁定,0表示不锁账号 |
| | | error_password_times=5 |
| | | # 默认密码 |
| | | default_password=123 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | wechar_login_url =https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code |
| | | |
| | | xcx_manager_appid=wx2948b3b914a9722e |
| | | xcx_manager_secret=1685dfd99a43e213ed8be07870b898ba |
| | | |
| | | #公众号 |
| | | gzh_appid=wx57e6335559bdbda6 |
| | | gzh_secret=ecb408af170e3890e6544290cad33760 |
| | | |
| | | |
| | | |
| | | #微信支付调试开关 |
| | | 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 |
| | | |
| | | |
| | | |
| | | |
| | | #发送短信配置 |
| | | 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 |
| | | |
| | | |
| | | #hive仓库地址 |
| | | hive.service=http://localhost:8082/meidu-crm/ |
| | | |
| | | #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== |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | "imageCompressEnable": true, /* 是否压缩图片,默认是true */ |
| | | "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ |
| | | "imageInsertAlign": "none", /* 插入的图片浮动方式 */ |
| | | "imageUrlPrefix": "http://testfile.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ |
| | | "imagePathFormat": "/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "imageUrlPrefix": "", /* 图片访问路径前缀 */ |
| | | "imagePathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ |
| | | /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ |
| | | /* {time} 会替换成时间戳 */ |
| | |
| | | /* 涂鸦图片上传配置项 */ |
| | | "scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */ |
| | | "scrawlFieldName": "upfile", /* 提交的图片表单名称 */ |
| | | "scrawlPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "scrawlPathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "scrawlMaxSize": 2048000, /* 上传大小限制,单位B */ |
| | | "scrawlUrlPrefix": "http://testfile.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ |
| | | "scrawlUrlPrefix": "", /* 图片访问路径前缀 */ |
| | | "scrawlInsertAlign": "none", |
| | | |
| | | /* 截图工具上传 */ |
| | | "snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */ |
| | | "snapscreenPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "snapscreenUrlPrefix": "http://testfile.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ |
| | | "snapscreenPathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "snapscreenUrlPrefix": "", /* 图片访问路径前缀 */ |
| | | "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://testfile.hive.jyymatrix.cc/uploadeFile", /* 图片访问路径前缀 */ |
| | | "catcherPathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "catcherUrlPrefix": "", /* 图片访问路径前缀 */ |
| | | "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/", /* 视频访问路径前缀 */ |
| | | "videoPathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "videoUrlPrefix": "", /* 视频访问路径前缀 */ |
| | | "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */ |
| | | "videoAllowFiles": [ |
| | | ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", |
| | |
| | | /* 上传文件配置 */ |
| | | "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/", /* 文件访问路径前缀 */ |
| | | "filePathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
| | | "fileUrlPrefix": "", /* 文件访问路径前缀 */ |
| | | "fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */ |
| | | "fileAllowFiles": [ |
| | | ".png", ".jpg", ".jpeg", ".gif", ".bmp", |
| | |
| | | |
| | | /* 列出指定目录下的图片 */ |
| | | "imageManagerActionName": "listimage", /* 执行图片管理的action名称 */ |
| | | "imageManagerListPath": "http://127.0.0.1:1088/uploadeFile/", /* 指定要列出图片的目录 */ |
| | | "imageManagerListPath": "", /* 指定要列出图片的目录 */ |
| | | "imageManagerListSize": 20, /* 每次列出文件数量 */ |
| | | "imageManagerUrlPrefix": "", /* 图片访问路径前缀 */ |
| | | "imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */ |
| | |
| | | |
| | | /* 列出指定目录下的文件 */ |
| | | "fileManagerActionName": "listfile", /* 执行文件管理的action名称 */ |
| | | "fileManagerListPath": "http://127.0.0.1:1088/uploadeFile/", /* 指定要列出文件的目录 */ |
| | | "fileManagerListPath": "", /* 指定要列出文件的目录 */ |
| | | "fileManagerUrlPrefix": "", /* 文件访问路径前缀 */ |
| | | "fileManagerListSize": 20, /* 每次列出文件数量 */ |
| | | "fileManagerAllowFiles": [ |
| | |
| | | <result property="activity" column="ACTIVITY"/> |
| | | <result property="total" column="TOTAL"/> |
| | | |
| | | |
| | | <result property="statu" column="STATU"/> |
| | | <result property="zkTotal" column="ZK_TOTAL"/> |
| | | <result property="shopId" column="SHOP_ID"/> |
| | |
| | | <result property="cardPay" column="card_Pay"/> |
| | | <result property="arrears" column="arrears"/> |
| | | <result property="payTime" column="pay_time"/> |
| | | |
| | | <result property="cashierId" column="cashier_id"/> |
| | | <result property="cashierName" column="cashierName"/> |
| | | <!-- 扩展字段 --> |
| | | <result property="shopName" column="SHOP_NAME"/> |
| | | <result property="shopShortName" column="SHOP_SHORT_NAME"/> |
| | |
| | | pay_time, |
| | | company_id, |
| | | orderType, |
| | | is_has_refund |
| | | is_has_refund, |
| | | cashier_id |
| | | ) |
| | | VALUES ( |
| | | #{id}, |
| | |
| | | #{payTime}, |
| | | #{companyId}, |
| | | #{orderType}, |
| | | #{isHasRefund} |
| | | #{isHasRefund}, |
| | | #{cashierId} |
| | | ) |
| | | </insert> |
| | | |
| | |
| | | <if test="isHasRefund != null "> |
| | | is_has_refund = #{isHasRefund}, |
| | | </if> |
| | | |
| | | <if test="cashierId != null "> |
| | | cashier_id = #{cashierId}, |
| | | </if> |
| | | </set> |
| | | WHERE id=#{id} |
| | | </update> |
| | |
| | | <!-- 分页查询 --> |
| | | <select id="selectInPage" resultMap="SysOrderMap"> |
| | | select |
| | | a.*, b.VIP_NAME, c.su_name as STAFF_NAME, |
| | | a.*, b.VIP_NAME, c.su_name as STAFF_NAME, e.su_name as cashierName, |
| | | d.SHOP_NAME, b.PHONE |
| | | from sys_order a |
| | | LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID |
| | | left JOIN sys_users c on c.su_id=a.STAFF_ID |
| | | left JOIN sys_users e on e.su_id=a.cashier_id |
| | | left JOIN sys_shop_info d on d.ID=a.SHOP_ID |
| | | where 1=1 |
| | | <if test="record!=null"> |
| | |
| | | </if> |
| | | <if test="record.staffId != null and record.staffId !='' "> |
| | | and a.STAFF_ID = #{record.staffId} |
| | | </if> |
| | | <if test="record.cashierId != null and record.cashierId !='' "> |
| | | and a.cashier_id = #{record.cashierId} |
| | | </if> |
| | | <if test="record.isCross != null and record.isCross !='' "> |
| | | and a.IS_CROSS = #{record.isCross} |
| | |
| | | <if test="record.staffId != null and record.staffId !='' "> |
| | | and a.STAFF_ID = #{record.staffId} |
| | | </if> |
| | | <if test="record.cashierId != null and record.cashierId !='' "> |
| | | and a.cashier_id = #{record.cashierId} |
| | | </if> |
| | | <if test="(record.companyId!=null and record.companyId!='') "> |
| | | and a.company_id = #{record.companyId} |
| | | </if> |
| | |
| | | <select id="selectById" resultMap="SysOrderMap"> |
| | | select |
| | | a.*, |
| | | c.su_name as STAFF_NAME, |
| | | c.su_name as STAFF_NAME, e.su_name as cashierName, |
| | | d.SHOP_NAME, |
| | | d.shop_short_name, |
| | | b.PHONE, |
| | |
| | | from sys_order a |
| | | LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID |
| | | left JOIN sys_users c on c.su_id=a.STAFF_ID |
| | | left JOIN sys_users e on e.su_id=a.cashier_id |
| | | left JOIN sys_shop_info d on d.ID=a.SHOP_ID |
| | | where a.id=#{id} |
| | | </select> |
| | |
| | | |
| | | <if test="record.staffId != null and record.staffId !='' "> |
| | | and a.STAFF_ID = #{record.staffId} |
| | | </if> |
| | | <if test="record.cashierId != null and record.cashierId !='' "> |
| | | and a.cashier_id = #{record.cashierId} |
| | | </if> |
| | | <if test="record.isCross != null and record.isCross !='' "> |
| | | and a.IS_CROSS = #{record.isCross} |
| | |
| | | <if test="record.staffId != null and record.staffId !='' "> |
| | | and a.STAFF_ID = #{record.staffId} |
| | | </if> |
| | | <if test="record.cashierId != null and record.cashierId !='' "> |
| | | and a.cashier_id = #{record.cashierId} |
| | | </if> |
| | | <if test="record.isCross != null and record.isCross !='' "> |
| | | and a.IS_CROSS = #{record.isCross} |
| | | </if> |
| | |
| | | <result property="comment" column="comment"/> |
| | | <result property="reply" column="reply"/> |
| | | <result property="overtimeNotice" column="overtime_notice"/> |
| | | |
| | | <result property="cashierId" column="cashier_id"/> |
| | | <result property="cashierName" column="cashierName"/> |
| | | |
| | | |
| | | <result property="beautiName" column="beautiName"/> |
| | |
| | | <result property="createStaffName" column="createStaffName"/> |
| | | <result property="bedName" column="bedName"/> |
| | | <result property="vipName" column="VIP_Name"/> |
| | | |
| | | |
| | | <association property="vipInfo" resultMap="com.matrix.system.hive.dao.SysVipInfoDao.SysVipInfoMapSimple" ></association> |
| | | |
| | |
| | | company_id, |
| | | comment, |
| | | reply, |
| | | overtime_notice |
| | | overtime_notice, |
| | | cashier_id |
| | | ) |
| | | VALUES ( |
| | | #{id}, |
| | |
| | | #{companyId}, |
| | | #{comment}, |
| | | #{reply}, |
| | | #{overtimeNotice} |
| | | #{overtimeNotice}, |
| | | #{cashierId} |
| | | ) |
| | | |
| | | </insert> |
| | |
| | | <if test="overtimeNotice != null "> |
| | | overtime_notice = #{overtimeNotice}, |
| | | </if> |
| | | <if test="cashierId != null "> |
| | | cashier_id = #{cashierId}, |
| | | </if> |
| | | </set> |
| | | WHERE id=#{id} |
| | | </update> |
| | |
| | | (select su_name from sys_users f where a.CREATE_STAFF_ID=f.su_id ) as createStaffName, |
| | | (select su_name from sys_users j where a.BEAUTICIAN_ID=j.su_id ) as beautiName, |
| | | (select su_name from sys_users k where a.devision_id=k.su_id ) as plsName, |
| | | (select su_name from sys_users l where a.cashier_id=l.su_id ) as cashierName, |
| | | (select shop_name from sys_shop_info h where a.SHOP_ID=h.ID ) as shopName, |
| | | (select bed_name from sys_bed_info i where a.BED_ID=i.ID ) as bedName |
| | | FROM sys_proj_services a |
| | |
| | | </if> |
| | | <if test="record.state != null and record.state !='' "> |
| | | and a.STATE = #{record.state} |
| | | </if> |
| | | <if test="record.cashierId != null and record.cashierId !='' "> |
| | | and a.cashier_id = #{record.cashierId} |
| | | </if> |
| | | <if test="record.shopId != null and record.shopId !='' "> |
| | | AND a.SHOP_ID = #{record.shopId} |
| | |
| | | and a.STATE = #{record.state} |
| | | </if> |
| | | |
| | | <if test="record.cashierId != null and record.cashierId !='' "> |
| | | and a.cashier_id = #{record.cashierId} |
| | | </if> |
| | | <if test="(record.companyId!=null and record.companyId!='') "> |
| | | and a.company_id = #{record.companyId} |
| | | </if> |
| | |
| | | (select su_name from sys_users f where a.CREATE_STAFF_ID=f.su_id ) as createStaffName, |
| | | (select su_name from sys_users j where a.BEAUTICIAN_ID=j.su_id ) as beautiName, |
| | | (select su_name from sys_users k where a.devision_id=k.su_id ) as plsName, |
| | | (select su_name from sys_users l where a.cashier_id=l.su_id ) as cashierName, |
| | | (select shop_name from sys_shop_info h where a.SHOP_ID=h.ID ) as shopName, |
| | | (select bed_name from sys_bed_info i where a.BED_ID=i.ID ) as bedName |
| | | FROM sys_proj_services a |
| | |
| | | (select su_name from sys_users f where a.CREATE_STAFF_ID=f.su_id ) as createStaffName, |
| | | (select su_name from sys_users j where a.BEAUTICIAN_ID=j.su_id ) as beautiName, |
| | | (select su_name from sys_users k where a.devision_id=k.su_id ) as plsName, |
| | | (select su_name from sys_users l where a.cashier_id=l.su_id ) as cashierName, |
| | | (select shop_name from sys_shop_info h where a.SHOP_ID=h.ID ) as shopName, |
| | | (select bed_name from sys_bed_info i where a.BED_ID=i.ID ) as bedName |
| | | FROM sys_proj_services a |
| | |
| | | <if test="record.state != null and record.state !='' "> |
| | | and a.STATE = #{record.state} |
| | | </if> |
| | | <if test="record.cashierId != null and record.cashierId !='' "> |
| | | and a.cashier_id = #{record.cashierId} |
| | | </if> |
| | | <if test="record.shopId != null and record.shopId !='' "> |
| | | AND a.SHOP_ID = #{record.shopId} |
| | | </if> |
| | |
| | | 删除 |
| | | cardCash |
| | | projCash |
| | | 只留下 |
| | | goodsCash |
| | | 产品现金业绩和划扣业绩consume |
| | | |
| | | 重构订单,收款,退款等方法不要共用逻辑 |
| | | |
| | | 把所有历史订单的订单类型区分销售订单和退款订单 |
| | | |
| | | 1、百度编辑器改造获取服务器上传前缀的方法,通过配置文件去获取 |
| | |
| | | <th data-field="bedName">床位</th> |
| | | <th data-field="plsName" >配料师</th> |
| | | <th data-field="createStaffName">创建人</th> |
| | | <th data-field="cashierName">划扣人</th> |
| | | <th data-field="shopName">所属门店</th> |
| | | </tr> |
| | | </thead> |
| | |
| | | <th data-field="total">订单总价</th> |
| | | <th data-field="zkTotal">折后价</th> |
| | | <th data-field="staffName">顾问姓名</th> |
| | | <th data-field="cashierName">收银员</th> |
| | | <th data-field="cashPay">现金付款</th> |
| | | <th data-field="cardPay">卡付款</th> |
| | | <th data-field="arrears">欠款</th> |
| | |
| | | |
| | | //导出 |
| | | exportExcel(){ |
| | | window.location.href=basePath+"/admin/achieve/exportAchieveNewStatisticsExcel?"+MTools.jsonToUrlParam(this.getRequestParam()); |
| | | var reqParam = this.getRequestParam(); |
| | | reqParam.beginTimeStr = reqParam.beginTime; |
| | | reqParam.endTimeStr = reqParam.endTime; |
| | | reqParam.beginTime = null; |
| | | reqParam.endTime = null; |
| | | var param = MTools.jsonToUrlParam(reqParam); |
| | | console.log(param); |
| | | window.location.href=basePath+"/admin/achieve/exportAchieveNewStatisticsExcel?"+param; |
| | | } |
| | | |
| | | } |
| | |
| | | <th data-field="totalTime" data-sortable="true">服务时长</th> |
| | | <th data-field="isOverTime" data-formatter="overTime">超时时间</th> |
| | | <th data-field="createStaffName">下单顾问</th> |
| | | <th data-field="cashierName">划扣人</th> |
| | | <th data-field="shopName">门店</th> |
| | | <th data-sortable="true" data-field="id" data-formatter="buidOperate">操作</th> |
| | | </tr> |
| | |
| | | <th data-field="payTime" data-formatter="MGrid.getTime" |
| | | data-sortable="true">支付时间</th> |
| | | <th data-field="staffName">下单顾问</th> |
| | | <th data-field="cashierName">收银员</th> |
| | | <th data-field="cashPay">现金支付金额</th> |
| | | <th data-field="cardPay">卡支付金额</th> |
| | | <th data-field="arrears">欠款金额</th> |
| | |
| | | <th data-field="bedName">床位</th> |
| | | <th data-field="plsName" >配料师</th> |
| | | <th data-field="createStaffName">创建人</th> |
| | | <th data-field="cashierName">划扣人</th> |
| | | <th data-field="shopName">所属门店</th> |
| | | </tr> |
| | | </thead> |
| | |
| | | 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) |