| | |
| | | <version>${revision}</version> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <groupId>org.dromara</groupId> |
| | | <artifactId>ecosphere-base-rest</artifactId> |
| | | |
| | | <version>1.0-SNAPSHOT</version> |
| | | <description> |
| | | ecosphere-base-rest 依赖项 |
| | | </description> |
| | |
| | | <version>${revision}</version> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <groupId>org.dromara</groupId> |
| | | <artifactId>ecosphere-common</artifactId> |
| | | |
| | | <version>1.0-SNAPSHOT</version> |
| | | <description> |
| | | ecosphere-common 依赖项 |
| | | </description> |
| | |
| | | <version>30.1-jre</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | </project> |
| | |
| | | |
| | | import cn.hutool.core.date.DatePattern; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.http.HttpRequest; |
| | | import cn.hutool.http.HttpResponse; |
| | | import com.alibaba.fastjson.JSON; |
| | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.nuvole.hnnx.conf.NxPayConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | String palin = null; |
| | | palin = Permutation.sort(bodyMap, "UTF-8"); |
| | | log.info("排序后的字符串:{}", palin); |
| | | if (StringUtils.isNotEmpty(sign)) { |
| | | if (StrUtil.isNotEmpty(sign)) { |
| | | verfiy = verifier.verify(HnnxConstant.ALGORITHM, palin.getBytes(), Hex.toByte(sign), nxPayPublicKey); |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | log.info("----------- 返回值验签 开始 ----------- "); |
| | | boolean verfiy = false; |
| | | try { |
| | | if (StringUtils.isNotEmpty(sign)) { |
| | | if (StrUtil.isNotEmpty(sign)) { |
| | | verfiy = verifier.verify(HnnxConstant.KJ_ALGORITHM, palin.getBytes(), Base64.getDecoder().decode(sign), nxKjPayPublicKey); |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | JSONObject formData = new JSONObject(); |
| | | formData.put("MerNbr", nxPayConfig.getKjMerNbr()); |
| | | //订单编号 |
| | | if (StringUtils.isNotEmpty(orderNbr)) { |
| | | if (StrUtil.isNotEmpty(orderNbr)) { |
| | | formData.put("OrderNbr", orderNbr); |
| | | } |
| | | //起始日期 |
| | | if (StringUtils.isNotEmpty(orderNbr)) { |
| | | if (StrUtil.isNotEmpty(orderNbr)) { |
| | | formData.put("StartDate", startDate); |
| | | } |
| | | //结束日期 |
| | | if (StringUtils.isNotEmpty(orderNbr)) { |
| | | if (StrUtil.isNotEmpty(orderNbr)) { |
| | | formData.put("EndDate", endDate); |
| | | } |
| | | //每页记录数 |
| | |
| | | package com.nuvole.hnnx.hnnxPay; |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.fasterxml.jackson.databind.node.ContainerNode; |
| | |
| | | import com.nuvole.hnnx.orderQueryTask.OrderQueryTask; |
| | | import com.nuvole.hnnx.orderQueryTask.OrderQueryUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.ApplicationEventPublisher; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | */ |
| | | public CommonResult<JSONArray> kjTradeQuery(String orderNum, String startDate, String endDate, Integer pageSize, Integer pageNum) { |
| | | String tradeQueryResp = nxHttpClientUtils.quickPayOrderQueryRequest(orderNum, startDate, endDate, Convert.toInt(pageSize, 1), Convert.toInt(pageNum, 1)); |
| | | if (StringUtils.isEmpty(tradeQueryResp)) { |
| | | if (StrUtil.isBlank(tradeQueryResp)) { |
| | | return new CommonResult<>(CommonResultEmnu.ERROR, "未查询到数据"); |
| | | } |
| | | JSONObject tradeQueryRespObj = JSONObject.parseObject(tradeQueryResp); |
| | |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import cn.hutool.core.util.StrUtil; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | |
| | | * @return |
| | | */ |
| | | public static Map<String, Long> getDiscount(long totalMoney, String discount) { |
| | | if (StringUtils.isBlank(discount)) { |
| | | if (StrUtil.isBlank(discount)) { |
| | | return null; |
| | | } |
| | | HashMap<String, Long> map = new HashMap<>(); |
| | |
| | | package com.nuvole.util; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.http.HttpRequest; |
| | | import cn.hutool.http.HttpResponse; |
| | | import com.alibaba.fastjson.JSONObject; |
| | |
| | | import com.nuvole.hnnx.hnnxPay.SignatureSigner; |
| | | import com.nuvole.util.enums.LaPushEnum; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | |
| | | // } |
| | | |
| | | public static void pushMessageToSingle(String deviceId, LaPushEnum pushType, long money) { |
| | | if (StringUtils.isEmpty(deviceId)){ |
| | | if (StrUtil.isEmpty(deviceId)){ |
| | | return; |
| | | } |
| | | Map<String, String> parameters = new HashMap<>(); |
| | |
| | | package com.nuvole.util; |
| | | |
| | | import cn.hutool.core.io.FileUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.amazonaws.auth.AWSCredentialsProvider; |
| | | import com.amazonaws.auth.AWSStaticCredentialsProvider; |
| | | import com.amazonaws.auth.BasicAWSCredentials; |
| | |
| | | import com.amazonaws.services.s3.AmazonS3; |
| | | import com.amazonaws.services.s3.AmazonS3ClientBuilder; |
| | | import com.amazonaws.services.s3.model.*; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.core.io.DefaultResourceLoader; |
| | | import org.springframework.core.io.ResourceLoader; |
| | | |
| | |
| | | } |
| | | |
| | | public static void download(AmazonS3 client, String sourceFilePath, String targetFilePath) { |
| | | if (StringUtils.isEmpty(sourceFilePath)){ |
| | | if (StrUtil.isEmpty(sourceFilePath)){ |
| | | return; |
| | | } |
| | | if (sourceFilePath.startsWith("/")){ |
| | |
| | | import com.nuvole.util.IdGenerator; |
| | | import com.nuvole.util.pay.allinPay.syb.param.MerchantAddParam; |
| | | import org.apache.commons.codec.binary.Base64; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.http.HttpEntity; |
| | | import org.apache.http.client.methods.CloseableHttpResponse; |
| | | import org.apache.http.client.methods.HttpPost; |
| | |
| | | paramMap.put("version", version); |
| | | paramMap.put("authcode", authCode); |
| | | paramMap.put("authtype", authType); |
| | | if (StringUtils.isNotBlank(identify)) { |
| | | if (StrUtil.isNotBlank(identify)) { |
| | | paramMap.put("identify", identify); |
| | | } |
| | | if (StringUtils.isNotBlank(subAppid)) { |
| | | if (StrUtil.isNotBlank(subAppid)) { |
| | | paramMap.put("sub_appid", subAppid); |
| | | } |
| | | paramMap.put("randomstr", IdGenerator.getUUID()); |
| | |
| | | while (it.hasNext()) { |
| | | Map.Entry<String, String> en = it.next(); |
| | | String value = en.getValue(); |
| | | if (StringUtils.isBlank(value)) { |
| | | if (StrUtil.isBlank(value)) { |
| | | continue; |
| | | } |
| | | sf.append(en.getKey() + "=" + Convert.toStr(value) |
| | |
| | | paramMap.put("signtype", "RSA"); |
| | | paramMap.put("chnltype", chnltype); |
| | | |
| | | if (StringUtils.isNotBlank(pid)) { |
| | | if (StrUtil.isNotBlank(pid)) { |
| | | paramMap.put("pid", pid); |
| | | } |
| | | String signStr = coverMap2String(paramMap); |
| | |
| | | paramMap.put("randomstr", IdGenerator.getUUID()); |
| | | paramMap.put("signtype", "RSA"); |
| | | |
| | | if (StringUtils.isNotBlank(userid)) { |
| | | if (StrUtil.isNotBlank(userid)) { |
| | | paramMap.put("userid", userid); |
| | | } |
| | | if (StringUtils.isNotBlank(notifyurl)) { |
| | | if (StrUtil.isNotBlank(notifyurl)) { |
| | | paramMap.put("notifyurl", notifyurl); |
| | | } |
| | | if (StringUtils.isNotBlank(pagetype)) { |
| | | if (StrUtil.isNotBlank(pagetype)) { |
| | | paramMap.put("pagetype", pagetype); |
| | | } |
| | | |
| | |
| | | if (merchantAddParam == null) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getRandomstr())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getRandomstr())) { |
| | | merchantAddParam.setRandomstr(IdGenerator.getUUID()); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getSigntype())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getSigntype())) { |
| | | merchantAddParam.setSigntype("RSA"); |
| | | } |
| | | // *商户性质 |
| | | //1.企业 3.个体户 4.个人 6.事业单位 |
| | | String comproperty = merchantAddParam.getComproperty(); |
| | | if (StringUtils.isBlank(comproperty)) { |
| | | if (StrUtil.isBlank(comproperty)) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质需要填写"); |
| | | } |
| | | //商户性质为企业 |
| | | // if ("1".equals(comproperty)) { |
| | | // if (StringUtils.isBlank(merchantAddParam.getPubacctinfo())) { |
| | | // if (StrUtil.isBlank(merchantAddParam.getPubacctinfo())) { |
| | | // return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业时需要填写对公账户信息"); |
| | | // } |
| | | // } |
| | | //商户性质为个人时必填 |
| | | if ("4".equals(comproperty)) { |
| | | if (StringUtils.isBlank(merchantAddParam.getLegalpic())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getLegalpic())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质非个人时需要上传经营者手持身份证照片"); |
| | | } |
| | | } |
| | | if (!"4".equals(comproperty)) { |
| | | if (StringUtils.isBlank(merchantAddParam.getCorpbusname())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getCorpbusname())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质非个人时需要填写营业执照名称"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getCreditcode())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getCreditcode())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质非个人时需要填写统一社会信用代码证"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getCreditcodeexpire())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getCreditcodeexpire())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质非个人时需要填写社会信用代码证有效期"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getCorpbuspic())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getCorpbuspic())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质非个人时需要填写营业执照照片"); |
| | | } |
| | | |
| | | if (StringUtils.isBlank(merchantAddParam.getBusconactperson())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getBusconactperson())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质非个人时需要填写业务联系人姓名"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getBusconacttel())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getBusconacttel())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质非个人时需要填写业务联系人电话"); |
| | | } |
| | | } |
| | | |
| | | //商户性质为企业、个体户时必填 |
| | | if ("1".equals(comproperty) || "3".equals(comproperty)) { |
| | | if (StringUtils.isBlank(merchantAddParam.getHoldername())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getHoldername())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业、个体户时需要填写控股股东姓名"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getHolderidno())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getHolderidno())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业、个体户时需要填写控股股东身份证"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getHolderexpire())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getHolderexpire())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业、个体户时需要填写控股股东有效期"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getRegisterfund())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getRegisterfund())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业、个体户时需要填写注册资本"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getStafftotal())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getStafftotal())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业、个体户时需要填写员工人数"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getOperatelimit())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getOperatelimit())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业、个体户时需要填写经营区域"); |
| | | } |
| | | if (StringUtils.isBlank(merchantAddParam.getInspect())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getInspect())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "商户性质为企业、个体户时需要填写经营地段"); |
| | | } |
| | | |
| | | } |
| | | // if (StringUtils.isBlank(merchantAddParam.getAddfacusid())) { |
| | | // if (StrUtil.isBlank(merchantAddParam.getAddfacusid())) { |
| | | // return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "所在机构资金归集时,该字段不能为空"); |
| | | // } |
| | | |
| | | // 结算账户 0-对私 1-对公 |
| | | String accttype = merchantAddParam.getAccttype(); |
| | | if (StringUtils.isBlank(accttype)) { |
| | | if (StrUtil.isBlank(accttype)) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "结算账户类型不能为空"); |
| | | } |
| | | if ("0".equals(accttype)) { |
| | | if (StringUtils.isBlank(merchantAddParam.getSettidno())) { |
| | | if (StrUtil.isBlank(merchantAddParam.getSettidno())) { |
| | | return new CommonResult(CommonResultEmnu.INVALID_PARAMS, "结算账户对私时,结算人身份证号不能为空"); |
| | | } |
| | | } |
| | |
| | | package com.nuvole.util; |
| | | |
| | | import org.apache.commons.lang.CharEncoding; |
| | | import org.junit.Test; |
| | | |
| | | /** |
| | | * @author ChenLong |
| | | * @version 1.0 |
| | | * @ClassName XssUtilTest |
| | | * @date 2019/7/16 18:42 |
| | | */ |
| | | public class XssUtilTest { |
| | | |
| | | @Test |
| | | public void clearXss() throws Exception { |
| | | String val = "<p style=\"text-align: center;\"><strong>qqq<em>qxxxx<span style=\"text-decoration: underline;\">ffffff<span style=\"text-decoration: line-through;\">fffff</span></span></em></strong></p>\n" + |
| | | "<p style=\"text-align: center;\"><strong><em><span style=\"text-decoration: underline;\"><span style=\"text-decoration: line-through;\"><img src=\"https://echftp.yqzhfw.com/ecosphereBaseDev/2019/7/16/0262f69df57f4f68acf763cacd362879.jpg\" alt=\"lalalal\" width=\"1920\" height=\"1080\" /></span></span></em></strong></p>"; |
| | | System.out.println(XssUtil.clearXss(val)); |
| | | } |
| | | |
| | | @Test |
| | | public void test() throws Exception { |
| | | String b = "aaaa"; |
| | | byte[] a = b.getBytes(CharEncoding.ISO_8859_1); |
| | | System.out.println("is a:" + a); |
| | | String s2 = XssUtil.clearXss(new String(a, CharEncoding.ISO_8859_1)); |
| | | System.out.println("s2:" + s2); |
| | | System.out.println("s2 byte:" + s2.getBytes(CharEncoding.ISO_8859_1)); |
| | | } |
| | | |
| | | } |
| | | //package com.nuvole.util; |
| | | // |
| | | //import org.apache.commons.lang.CharEncoding; |
| | | //import org.junit.Test; |
| | | // |
| | | ///** |
| | | // * @author ChenLong |
| | | // * @version 1.0 |
| | | // * @ClassName XssUtilTest |
| | | // * @date 2019/7/16 18:42 |
| | | // */ |
| | | //public class XssUtilTest { |
| | | // |
| | | // @Test |
| | | // public void clearXss() throws Exception { |
| | | // String val = "<p style=\"text-align: center;\"><strong>qqq<em>qxxxx<span style=\"text-decoration: underline;\">ffffff<span style=\"text-decoration: line-through;\">fffff</span></span></em></strong></p>\n" + |
| | | // "<p style=\"text-align: center;\"><strong><em><span style=\"text-decoration: underline;\"><span style=\"text-decoration: line-through;\"><img src=\"https://echftp.yqzhfw.com/ecosphereBaseDev/2019/7/16/0262f69df57f4f68acf763cacd362879.jpg\" alt=\"lalalal\" width=\"1920\" height=\"1080\" /></span></span></em></strong></p>"; |
| | | // System.out.println(XssUtil.clearXss(val)); |
| | | // } |
| | | // |
| | | // @Test |
| | | // public void test() throws Exception { |
| | | // String b = "aaaa"; |
| | | // byte[] a = b.getBytes(CharEncoding.ISO_8859_1); |
| | | // System.out.println("is a:" + a); |
| | | // String s2 = XssUtil.clearXss(new String(a, CharEncoding.ISO_8859_1)); |
| | | // System.out.println("s2:" + s2); |
| | | // System.out.println("s2 byte:" + s2.getBytes(CharEncoding.ISO_8859_1)); |
| | | // } |
| | | // |
| | | //} |
| | |
| | | ecosphere-four-payment 依赖项 |
| | | </description> |
| | | <dependencies> |
| | | <!--代入引用得方法,是否能取代--> |
| | | <dependency> |
| | | <groupId>commons-lang</groupId> |
| | | <artifactId>commons-lang</artifactId> |
| | | <version>2.6</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.alibaba.cloud</groupId> |
| | | <artifactId>spring-cloud-alibaba-dependencies</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-data-redis-reactive</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.dromara</groupId> |
| | |
| | | |
| | | |
| | | <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <groupId>org.dromara</groupId> |
| | | <artifactId>ecosphere-common</artifactId> |
| | | </dependency> |
| | | |
| | | |
| | | <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <groupId>org.dromara</groupId> |
| | | <artifactId>ecosphere-base-rest</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <!-- <dependency> |
| | | <groupId>org.springframework.cloud</groupId> |
| | | <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> |
| | | </dependency> |
| | | </dependency>--> |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | |
| | | <artifactId>swagger-bootstrap-ui</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <!-- <dependency> |
| | | <groupId>org.springframework.cloud</groupId> |
| | | <artifactId>spring-cloud-starter-openfeign</artifactId> |
| | | </dependency> |
| | | </dependency>--> |
| | | |
| | | <!-- rabbitMq --> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-amqp</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.mybatis.spring.boot</groupId> |
| | | <artifactId>mybatis-spring-boot-starter</artifactId> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>javax.annotation</groupId> |
| | | <artifactId>javax.annotation-api</artifactId> |
| | | <version>1.3.2</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | |
| | | <version>1.3.5</version> |
| | | <scope>system</scope> |
| | | <systemPath>${basedir}/../libs/mybatis-generator-core-1.3.5.jar</systemPath> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springframework.data</groupId> |
| | | <artifactId>spring-data-redis</artifactId> |
| | | <version>2.0.8.RELEASE</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>commons-io</groupId> |
| | |
| | | import org.mybatis.spring.annotation.MapperScan; |
| | | import org.springframework.boot.SpringApplication; |
| | | import org.springframework.boot.autoconfigure.SpringBootApplication; |
| | | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; |
| | | import org.springframework.cloud.openfeign.EnableFeignClients; |
| | | import org.springframework.transaction.annotation.EnableTransactionManagement; |
| | | |
| | | /** |
| | |
| | | * @Author: dqh |
| | | * @Date: 2024-04-09 |
| | | **/ |
| | | @EnableFeignClients |
| | | @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) |
| | | @SpringBootApplication |
| | | @MapperScan(value = {"com.nuvole.four.mapper","com.nuvole.util"}) |
| | | @EnableTransactionManagement |
| | | public class FourPaymentApplication { |
| | |
| | | package com.nuvole.four.client; |
| | | |
| | | import com.nuvole.common.domain.emnu.CommonResultEmnu; |
| | | import com.nuvole.common.domain.result.CommonResult; |
| | | import com.nuvole.common.domain.result.PageBean; |
| | | import feign.hystrix.FallbackFactory; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class ShopClientFallbackFactory implements FallbackFactory<ShopServiceClient> { |
| | | |
| | | @Override |
| | | public ShopServiceClient create(Throwable throwable) { |
| | | log.error("fallback reason:{}", throwable.getMessage()); |
| | | return new ShopServiceClient() { |
| | | |
| | | @GetMapping(value = "/v1/shop/pc/storeMerchantShop/getMerchantShopExtendList", consumes = "application/json") |
| | | @Override |
| | | public CommonResult<PageBean<Map>> getMerchantShopExtendList(String queryOrgCode, String merchantId, String shopName, |
| | | String managerName, String channelId,String channelIdNotNull, |
| | | Integer pageNumber, Integer pageSize) { |
| | | return new CommonResult(CommonResultEmnu.SERVER_ERR); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map> selectShopMsgByIds(String ids) { |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 商户活动数据统计-列表 |
| | | * @param orgCode 机构code |
| | | * @param channelId 通道id |
| | | * @param activityId 活动id |
| | | * @param startDate 交易开始时间 |
| | | * @param endDate 交易结束时间 |
| | | * @param pageNumber 页码 |
| | | * @param pageSize 每页条数 |
| | | * @return 商户活动数据统计-列表 |
| | | */ |
| | | @Override |
| | | public CommonResult<PageBean<Map>> merchantActivityList(String orgCode, Long channelId, Long activityId, Date startDate,Date endDate, Integer pageNumber, Integer pageSize) { |
| | | return new CommonResult(CommonResultEmnu.SERVER_ERR); |
| | | } |
| | | |
| | | @Override |
| | | public CommonResult<Map> merchantActivityCollect(String orgCode, Long channelId, Long activityId, Date startDate,Date endDate) { |
| | | return new CommonResult(CommonResultEmnu.SERVER_ERR); |
| | | } |
| | | |
| | | }; |
| | | } |
| | | } |
| | | //package com.nuvole.four.client; |
| | | // |
| | | //import com.nuvole.common.domain.emnu.CommonResultEmnu; |
| | | //import com.nuvole.common.domain.result.CommonResult; |
| | | //import com.nuvole.common.domain.result.PageBean; |
| | | // |
| | | //import lombok.extern.slf4j.Slf4j; |
| | | //import org.springframework.stereotype.Component; |
| | | //import org.springframework.web.bind.annotation.GetMapping; |
| | | // |
| | | //import java.util.Date; |
| | | //import java.util.List; |
| | | //import java.util.Map; |
| | | // |
| | | // |
| | | //@Component |
| | | //@Slf4j |
| | | //public class ShopClientFallbackFactory implements FallbackFactory<ShopServiceClient> { |
| | | // |
| | | // @Override |
| | | // public ShopServiceClient create(Throwable throwable) { |
| | | // log.error("fallback reason:{}", throwable.getMessage()); |
| | | // return new ShopServiceClient() { |
| | | // |
| | | // @GetMapping(value = "/v1/shop/pc/storeMerchantShop/getMerchantShopExtendList", consumes = "application/json") |
| | | // @Override |
| | | // public CommonResult<PageBean<Map>> getMerchantShopExtendList(String queryOrgCode, String merchantId, String shopName, |
| | | // String managerName, String channelId,String channelIdNotNull, |
| | | // Integer pageNumber, Integer pageSize) { |
| | | // return new CommonResult(CommonResultEmnu.SERVER_ERR); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public List<Map> selectShopMsgByIds(String ids) { |
| | | // return null; |
| | | // } |
| | | // |
| | | // /** |
| | | // * 商户活动数据统计-列表 |
| | | // * @param orgCode 机构code |
| | | // * @param channelId 通道id |
| | | // * @param activityId 活动id |
| | | // * @param startDate 交易开始时间 |
| | | // * @param endDate 交易结束时间 |
| | | // * @param pageNumber 页码 |
| | | // * @param pageSize 每页条数 |
| | | // * @return 商户活动数据统计-列表 |
| | | // */ |
| | | // @Override |
| | | // public CommonResult<PageBean<Map>> merchantActivityList(String orgCode, Long channelId, Long activityId, Date startDate,Date endDate, Integer pageNumber, Integer pageSize) { |
| | | // return new CommonResult(CommonResultEmnu.SERVER_ERR); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public CommonResult<Map> merchantActivityCollect(String orgCode, Long channelId, Long activityId, Date startDate,Date endDate) { |
| | | // return new CommonResult(CommonResultEmnu.SERVER_ERR); |
| | | // } |
| | | // |
| | | // }; |
| | | // } |
| | | //} |
| | |
| | | package com.nuvole.four.client; |
| | | |
| | | import com.nuvole.common.domain.result.CommonResult; |
| | | import com.nuvole.common.domain.result.PageBean; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 方法描述: 调用service-shop模块 |
| | | * |
| | | * @date 2024-04-14 18:31 |
| | | **/ |
| | | @Component |
| | | @FeignClient(value = "service-shop", fallbackFactory = ShopClientFallbackFactory.class) |
| | | public interface ShopServiceClient { |
| | | |
| | | /** |
| | | * 方法描述: 查询店铺列表 |
| | | * |
| | | * @date 2024-04-14 18:31 |
| | | **/ |
| | | @GetMapping(value = "/v1/shop/pc/storeMerchantShop/getMerchantShopExtendList", consumes = "application/json") |
| | | CommonResult<PageBean<Map>> getMerchantShopExtendList( |
| | | @RequestParam("queryOrgCode") String queryOrgCode, |
| | | @RequestParam("merchantId") String merchantId, |
| | | @RequestParam("shopName") String shopName, |
| | | @RequestParam("managerName") String managerName, |
| | | @RequestParam("channelId") String channelId, |
| | | @RequestParam("channelIdNotNull") String channelIdNotNull, |
| | | @RequestParam("pageNumber") Integer pageNumber, @RequestParam("pageSize") Integer pageSize); |
| | | |
| | | @GetMapping(value = "/v1/shop/pc/storeMerchantShop/selectShopMsgByIds") |
| | | List<Map> selectShopMsgByIds( |
| | | @RequestParam("ids") String ids); |
| | | |
| | | /** |
| | | * 商户活动数据统计-列表 |
| | | * @param orgCode 机构code |
| | | * @param channelId 通道id |
| | | * @param activityId 活动id |
| | | * @param startDate 交易时间 |
| | | * @param pageNumber 页码 |
| | | * @param pageSize 每页条数 |
| | | * @return 商户活动数据统计-列表 |
| | | */ |
| | | @GetMapping(value = "/v1/shop/pc/static/report/merchant/activity/list") |
| | | CommonResult<PageBean<Map>> merchantActivityList( |
| | | @RequestParam("orgCode") String orgCode, |
| | | @RequestParam("channelId") Long channelId, |
| | | @RequestParam("activityId") Long activityId, |
| | | @RequestParam("startDate") Date startDate, |
| | | @RequestParam("endDate") Date endDate, |
| | | @RequestParam("pageNumber") Integer pageNumber, |
| | | @RequestParam("pageSize") Integer pageSize |
| | | ); |
| | | |
| | | /** |
| | | * 商户活动数据统计-数据汇总 |
| | | * @param orgCode 机构code |
| | | * @param channelId 通道id |
| | | * @param activityId 活动id |
| | | * @param startDate 交易开始时间 |
| | | * @param endDate 交易结束时间 |
| | | * @return 商户活动数据统计-数据汇总 |
| | | */ |
| | | @GetMapping(value = "/v1/shop/pc/static/report/merchant/activity/collect") |
| | | CommonResult<Map> merchantActivityCollect( |
| | | @RequestParam("orgCode") String orgCode, |
| | | @RequestParam("channelId") Long channelId, |
| | | @RequestParam("activityId") Long activityId, |
| | | @RequestParam("startDate") Date startDate, |
| | | @RequestParam("endDate") Date endDate |
| | | ); |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | //package com.nuvole.four.client; |
| | | // |
| | | //import com.nuvole.common.domain.result.CommonResult; |
| | | //import com.nuvole.common.domain.result.PageBean; |
| | | //import org.springframework.stereotype.Component; |
| | | //import org.springframework.web.bind.annotation.GetMapping; |
| | | //import org.springframework.web.bind.annotation.RequestParam; |
| | | // |
| | | //import java.util.Date; |
| | | //import java.util.List; |
| | | //import java.util.Map; |
| | | // |
| | | ///** |
| | | // * 方法描述: 调用service-shop模块 |
| | | // * |
| | | // * @date 2024-04-14 18:31 |
| | | // **/ |
| | | //@Component |
| | | ////@FeignClient(value = "service-shop", fallbackFactory = ShopClientFallbackFactory.class) |
| | | //public interface ShopServiceClient { |
| | | // |
| | | // /** |
| | | // * 方法描述: 查询店铺列表 |
| | | // * |
| | | // * @date 2024-04-14 18:31 |
| | | // **/ |
| | | // @GetMapping(value = "/v1/shop/pc/storeMerchantShop/getMerchantShopExtendList", consumes = "application/json") |
| | | // CommonResult<PageBean<Map>> getMerchantShopExtendList( |
| | | // @RequestParam("queryOrgCode") String queryOrgCode, |
| | | // @RequestParam("merchantId") String merchantId, |
| | | // @RequestParam("shopName") String shopName, |
| | | // @RequestParam("managerName") String managerName, |
| | | // @RequestParam("channelId") String channelId, |
| | | // @RequestParam("channelIdNotNull") String channelIdNotNull, |
| | | // @RequestParam("pageNumber") Integer pageNumber, @RequestParam("pageSize") Integer pageSize); |
| | | // |
| | | // @GetMapping(value = "/v1/shop/pc/storeMerchantShop/selectShopMsgByIds") |
| | | // List<Map> selectShopMsgByIds( |
| | | // @RequestParam("ids") String ids); |
| | | // |
| | | // /** |
| | | // * 商户活动数据统计-列表 |
| | | // * @param orgCode 机构code |
| | | // * @param channelId 通道id |
| | | // * @param activityId 活动id |
| | | // * @param startDate 交易时间 |
| | | // * @param pageNumber 页码 |
| | | // * @param pageSize 每页条数 |
| | | // * @return 商户活动数据统计-列表 |
| | | // */ |
| | | // @GetMapping(value = "/v1/shop/pc/static/report/merchant/activity/list") |
| | | // CommonResult<PageBean<Map>> merchantActivityList( |
| | | // @RequestParam("orgCode") String orgCode, |
| | | // @RequestParam("channelId") Long channelId, |
| | | // @RequestParam("activityId") Long activityId, |
| | | // @RequestParam("startDate") Date startDate, |
| | | // @RequestParam("endDate") Date endDate, |
| | | // @RequestParam("pageNumber") Integer pageNumber, |
| | | // @RequestParam("pageSize") Integer pageSize |
| | | // ); |
| | | // |
| | | // /** |
| | | // * 商户活动数据统计-数据汇总 |
| | | // * @param orgCode 机构code |
| | | // * @param channelId 通道id |
| | | // * @param activityId 活动id |
| | | // * @param startDate 交易开始时间 |
| | | // * @param endDate 交易结束时间 |
| | | // * @return 商户活动数据统计-数据汇总 |
| | | // */ |
| | | // @GetMapping(value = "/v1/shop/pc/static/report/merchant/activity/collect") |
| | | // CommonResult<Map> merchantActivityCollect( |
| | | // @RequestParam("orgCode") String orgCode, |
| | | // @RequestParam("channelId") Long channelId, |
| | | // @RequestParam("activityId") Long activityId, |
| | | // @RequestParam("startDate") Date startDate, |
| | | // @RequestParam("endDate") Date endDate |
| | | // ); |
| | | // |
| | | // |
| | | // |
| | | // |
| | | //} |
| | |
| | | package com.nuvole.four.config; |
| | | |
| | | import com.nuvole.constants.SystemConstants; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import springfox.documentation.builders.ApiInfoBuilder; |
| | | import springfox.documentation.builders.ParameterBuilder; |
| | | import springfox.documentation.builders.PathSelectors; |
| | | import springfox.documentation.builders.RequestHandlerSelectors; |
| | | import springfox.documentation.schema.ModelRef; |
| | | import springfox.documentation.service.ApiInfo; |
| | | import springfox.documentation.service.Parameter; |
| | | import springfox.documentation.spi.DocumentationType; |
| | | import springfox.documentation.spring.web.plugins.Docket; |
| | | import springfox.documentation.swagger2.annotations.EnableSwagger2; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 类描述: swagger.config |
| | | * |
| | | * @author dqh |
| | | * @date 2024-04-09 18:16 |
| | | * @version 1.0 |
| | | **/ |
| | | @EnableSwagger2 |
| | | @Configuration |
| | | public class SwaggerConfig { |
| | | |
| | | @Bean |
| | | public Docket customDocket() { |
| | | ParameterBuilder ticketPar = new ParameterBuilder(); |
| | | List<Parameter> pars = new ArrayList<Parameter>(); |
| | | ticketPar.name(SystemConstants.SHOP_WECHAT_TOKEN_HEADER).description("登录成功token标识") |
| | | .modelRef(new ModelRef("string")).parameterType("header") |
| | | .required(false).build(); |
| | | pars.add(ticketPar.build()); |
| | | |
| | | return new Docket(DocumentationType.SWAGGER_2) |
| | | .apiInfo(apiInfo()) |
| | | .select() |
| | | .apis(RequestHandlerSelectors.basePackage("com.nuvole.four")) |
| | | .paths(PathSelectors.any()) |
| | | .build() |
| | | .globalOperationParameters(pars); |
| | | } |
| | | |
| | | |
| | | ApiInfo apiInfo() { |
| | | return new ApiInfoBuilder() |
| | | .title("四方支付") |
| | | .description("四方支付接口文档") |
| | | .version("1.0") |
| | | .build(); |
| | | } |
| | | |
| | | } |
| | | //package com.nuvole.four.config; |
| | | // |
| | | //import com.nuvole.constants.SystemConstants; |
| | | //import org.springframework.context.annotation.Bean; |
| | | //import org.springframework.context.annotation.Configuration; |
| | | //import springfox.documentation.builders.ApiInfoBuilder; |
| | | //import springfox.documentation.builders.ParameterBuilder; |
| | | //import springfox.documentation.builders.PathSelectors; |
| | | //import springfox.documentation.builders.RequestHandlerSelectors; |
| | | //import springfox.documentation.schema.ModelRef; |
| | | //import springfox.documentation.service.ApiInfo; |
| | | //import springfox.documentation.service.Parameter; |
| | | //import springfox.documentation.spi.DocumentationType; |
| | | //import springfox.documentation.spring.web.plugins.Docket; |
| | | //import springfox.documentation.swagger2.annotations.EnableSwagger2; |
| | | // |
| | | //import java.util.ArrayList; |
| | | //import java.util.List; |
| | | // |
| | | ///** |
| | | // * 类描述: swagger.config |
| | | // * |
| | | // * @author dqh |
| | | // * @date 2024-04-09 18:16 |
| | | // * @version 1.0 |
| | | // **/ |
| | | //@EnableSwagger2 |
| | | //@Configuration |
| | | //public class SwaggerConfig { |
| | | // |
| | | // @Bean |
| | | // public Docket customDocket() { |
| | | // ParameterBuilder ticketPar = new ParameterBuilder(); |
| | | // List<Parameter> pars = new ArrayList<Parameter>(); |
| | | // ticketPar.name(SystemConstants.SHOP_WECHAT_TOKEN_HEADER).description("登录成功token标识") |
| | | // .modelRef(new ModelRef("string")).parameterType("header") |
| | | // .required(false).build(); |
| | | // pars.add(ticketPar.build()); |
| | | // |
| | | // return new Docket(DocumentationType.SWAGGER_2) |
| | | // .apiInfo(apiInfo()) |
| | | // .select() |
| | | // .apis(RequestHandlerSelectors.basePackage("com.nuvole.four")) |
| | | // .paths(PathSelectors.any()) |
| | | // .build() |
| | | // .globalOperationParameters(pars); |
| | | // } |
| | | // |
| | | // |
| | | // ApiInfo apiInfo() { |
| | | // return new ApiInfoBuilder() |
| | | // .title("四方支付") |
| | | // .description("四方支付接口文档") |
| | | // .version("1.0") |
| | | // .build(); |
| | | // } |
| | | // |
| | | //} |
| | |
| | | import com.nuvole.base.domain.SysUser; |
| | | import com.nuvole.common.domain.result.CommonResult; |
| | | import com.nuvole.common.domain.result.PageBean; |
| | | import com.nuvole.four.client.ShopServiceClient; |
| | | import com.nuvole.four.contants.Contants; |
| | | import com.nuvole.four.controller.BaseController; |
| | | import com.nuvole.four.domain.ActivityDistributeRecord; |
| | |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description 费率补贴活动管理 |
| | |
| | | private final ActivityFeeService activityFeeService; |
| | | private final SysOrgServiceImpl sysOrgService; |
| | | private final ActivityDistributeRecordServiceImpl activityDistributeRecordService; |
| | | private final ShopServiceClient shopServiceClient; |
| | | // private final ShopServiceClient shopServiceClient; |
| | | |
| | | |
| | | /** |
| | |
| | | SysUser user = SystemUtil.getLoginUser(Contants.LOGIN_TYPE_PC); |
| | | orgCode = user.getOrgCode(); |
| | | } |
| | | CommonResult<PageBean<Map>> mapResult = shopServiceClient.merchantActivityList(orgCode, channelId, activityId, startDate,endDate, pageNumber, pageSize); |
| | | return mapResult; |
| | | // CommonResult<PageBean<Map>> mapResult = shopServiceClient.merchantActivityList(orgCode, channelId, activityId, startDate,endDate, pageNumber, pageSize); |
| | | return new CommonResult<>(); |
| | | } |
| | | |
| | | /** |
| | |
| | | SysUser user = SystemUtil.getLoginUser(Contants.LOGIN_TYPE_PC); |
| | | orgCode = user.getOrgCode(); |
| | | } |
| | | CommonResult<Map> mapResult = shopServiceClient.merchantActivityCollect(orgCode, channelId, activityId, startDate,endDate); |
| | | return mapResult; |
| | | // CommonResult<Map> mapResult = shopServiceClient.merchantActivityCollect(orgCode, channelId, activityId, startDate,endDate); |
| | | return new CommonResult<>(); |
| | | } |
| | | |
| | | /** |
| | |
| | | import com.nuvole.base.domain.SysUser; |
| | | import com.nuvole.common.domain.result.CommonResult; |
| | | import com.nuvole.common.domain.result.PageBean; |
| | | import com.nuvole.four.client.ShopServiceClient; |
| | | //import com.nuvole.four.client.ShopServiceClient; |
| | | import com.nuvole.four.contants.Contants; |
| | | import com.nuvole.four.controller.BaseController; |
| | | import com.nuvole.four.domain.ActivityShopRecord; |
| | |
| | | |
| | | private final ActivityShopRecordService activityShopRecordService; |
| | | private final ChannelInfoService channelInfoService; |
| | | private final ShopServiceClient shopServiceClient; |
| | | // private final ShopServiceClient shopServiceClient; |
| | | |
| | | @ApiOperation(value = "查询列表", notes = "查询列表") |
| | | @ApiImplicitParams({@ApiImplicitParam(name = "ActivityShopRecordQuery")}) |
| | |
| | | if(StrUtil.isBlank(queryOrgCode)){ |
| | | queryOrgCode = user.getOrgCode(); |
| | | } |
| | | CommonResult<PageBean<Map>> mapResult = shopServiceClient.getMerchantShopExtendList(queryOrgCode,merchantId,shopName,managerName,channelId,"channelIdNotNull",pageNumber,pageSize); |
| | | // CommonResult<PageBean<Map>> mapResult = shopServiceClient.getMerchantShopExtendList(queryOrgCode,merchantId,shopName,managerName,channelId,"channelIdNotNull",pageNumber,pageSize); |
| | | CommonResult<PageBean<Map>> mapResult = new CommonResult<>(); |
| | | List<Map> mapList = mapResult.getData().getRows(); |
| | | if(!CollectionUtils.isEmpty(mapList)){ |
| | | String[] idsArr = mapList.stream() |
| | |
| | | package com.nuvole.four.controller.pc; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.nuvole.base.domain.SysUser; |
| | | import com.nuvole.common.domain.emnu.CommonResultEmnu; |
| | |
| | | import com.nuvole.util.PageUtils; |
| | | import io.swagger.annotations.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | @ApiParam(name = "sortName", value = "排序名称") String sortName, |
| | | @ApiParam(name = "sortOrder", value = "排序方式") String sortOrder |
| | | ) { |
| | | if (StringUtils.isNotBlank(sortName) && StringUtils.isNotBlank(sortOrder)) { |
| | | if (StrUtil.isNotBlank(sortName) && StrUtil.isNotBlank(sortOrder)) { |
| | | PageHelper.orderBy(PageUtils.orderParser(sortName, sortOrder)); |
| | | } |
| | | |
| | |
| | | package com.nuvole.four.service; |
| | | |
| | | import com.nuvole.four.domain.extend.AppDTO; |
| | | import org.apache.commons.lang.StringEscapeUtils; |
| | | import org.apache.commons.lang3.StringEscapeUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.*; |
| | |
| | | Map map = new HashMap(); |
| | | // todo xuekang |
| | | // StringEscapeUtils.unescapeHtml4(key) |
| | | map.put("key",StringEscapeUtils.unescapeHtml(key)); |
| | | map.put("key", StringEscapeUtils.unescapeHtml4(key)); |
| | | map.put("value",value); |
| | | dto.setMap(map); |
| | | AppDTO s = new AppDTO(); |
| | |
| | | ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); |
| | | AppDTO dto = new AppDTO(); |
| | | Map map = new HashMap(); |
| | | map.put("key",StringEscapeUtils.unescapeHtml(key)); |
| | | map.put("key",StringEscapeUtils.unescapeHtml4(key)); |
| | | map.put("value",value); |
| | | map.put("expireTime",expireTime); |
| | | map.put("timeUnit",timeUnit); |
| | |
| | | */ |
| | | public void remove(final String key) { |
| | | if (exists(key)) { |
| | | redisTemplate.delete(StringEscapeUtils.unescapeHtml(key)); |
| | | redisTemplate.delete(StringEscapeUtils.unescapeHtml4(key)); |
| | | } |
| | | } |
| | | |
| | |
| | | public boolean exists(final String key) { |
| | | AppDTO dto = new AppDTO(); |
| | | Map map = new HashMap(); |
| | | map.put("key",StringEscapeUtils.unescapeHtml(key)); |
| | | map.put("key",StringEscapeUtils.unescapeHtml4(key)); |
| | | dto.setMap(map); |
| | | AppDTO s = new AppDTO(); |
| | | BeanUtils.copyProperties(dto,s); |
| | |
| | | ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); |
| | | AppDTO dto = new AppDTO(); |
| | | Map map = new HashMap(); |
| | | map.put("key",StringEscapeUtils.unescapeHtml(key)); |
| | | map.put("key",StringEscapeUtils.unescapeHtml4(key)); |
| | | dto.setMap(map); |
| | | AppDTO s = new AppDTO(); |
| | | BeanUtils.copyProperties(dto,s); |
| | |
| | | package com.nuvole.four.service.impl; |
| | | |
| | | import com.nuvole.base.domain.SysUser; |
| | | import com.nuvole.four.client.ShopServiceClient; |
| | | import com.nuvole.four.contants.Contants; |
| | | import com.nuvole.four.domain.ActivityShopRecord; |
| | | import com.nuvole.four.domain.dto.ActivityShopRecordDto; |
| | |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | public class ActivityShopRecordServiceImpl implements ActivityShopRecordService { |
| | | |
| | | private final ActivityShopRecordMapper activityShopRecordMapper; |
| | | private final ShopServiceClient shopServiceClient; |
| | | // private final ShopServiceClient shopServiceClient; |
| | | private final ActivityFeeMapper activityFeeMapper; |
| | | |
| | | |
| | |
| | | //关联shop库查询商户、店铺等字段信息 |
| | | List<Long> shopIds = dtoList.stream().map(ActivityShopRecord::getMerchantShopId).collect(Collectors.toList()); |
| | | String ids = shopIds.stream().map(String::valueOf).collect(Collectors.joining(",")); |
| | | List<Map> mapList = shopServiceClient.selectShopMsgByIds(ids); |
| | | // List<Map> mapList = shopServiceClient.selectShopMsgByIds(ids); |
| | | List<Map> mapList = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(mapList)){ |
| | | // 将 mapList 中的数据合并到 dtoList 中 |
| | | dtoList.forEach( d -> { |
| | |
| | | url: jdbc:mysql://116.198.40.76:3306/ecosphere_shop_basics?characterEncoding=utf8&autoReconnect=true&useSSL=false |
| | | username: root |
| | | password: Bjjmy_2020 |
| | | redis: |
| | | host: 116.198.40.76 |
| | | port: 6379 |
| | | password: Jmy2019. |
| | | database: 2 |
| | | data: |
| | | redis: |
| | | host: 116.198.40.76 |
| | | port: 6379 |
| | | # 密码(如没有密码请注释掉) |
| | | password: Jmy2019. |
| | | database: 0 |
| | | timeout: 10s |
| | | ssl.enabled: false |
| | | redisson: |
| | | # redis key前缀 |
| | | keyPrefix: fourPay |
| | | # 线程池数量 |
| | | threads: 4 |
| | | # Netty线程池数量 |
| | | nettyThreads: 8 |
| | | # 单节点配置 |
| | | singleServerConfig: |
| | | # 客户端名称 |
| | | clientName: ${spring.application.name} |
| | | # 最小空闲连接数 |
| | | connectionMinimumIdleSize: 8 |
| | | # 连接池大小 |
| | | connectionPoolSize: 32 |
| | | # 连接空闲超时,单位:毫秒 |
| | | idleConnectionTimeout: 10000 |
| | | # 命令等待超时,单位:毫秒 |
| | | timeout: 3000 |
| | | # 发布和订阅连接池大小 |
| | | subscriptionConnectionPoolSize: 50 |
| | | #rabbitMQ |
| | | rabbitmq: |
| | | host: 116.198.40.76 |
| | |
| | | #证书TurstKey |
| | | clientTurstKey: ENC(G8cCcaj9gPzCLXW2vy4y3ap/Llx+W3GkvtpQP7vwFFo=) |
| | | swagger: |
| | | enable: true |
| | | enable: false |
| | | #外网接口是否走call服务 |
| | | service-type: false |
| | | |
| | |
| | | swagger: |
| | | base-package: com.nuvole.four |
| | | spring: |
| | | http: |
| | | encoding: |
| | | charset: UTF-8 |
| | | enabled: true |
| | | force: true |
| | | servlet: |
| | | #允许传输文件大小配置 |
| | | multipart: |
| | | max-file-size: 100Mb |
| | | max-request-size: 200Mb |
| | | # servlet: |
| | | # #允许传输文件大小配置 |
| | | # multipart: |
| | | # max-file-size: 100Mb |
| | | # max-request-size: 200Mb |
| | | application: |
| | | name: service-four-payment |
| | | redis: |
| | | jedis: |
| | | pool: |
| | | max-active: 2000 |
| | | max-wait: -1 |
| | | max-idle: 10 |
| | | min-idle: 0 |
| | | timeout: 30000 |
| | | # redis: |
| | | # jedis: |
| | | # pool: |
| | | # max-active: 2000 |
| | | # max-wait: -1 |
| | | # max-idle: 10 |
| | | # min-idle: 0 |
| | | # timeout: 30000 |
| | | #druid 链接池 |
| | | rabbitmq: |
| | | publisher-confirms: true |
| | | # publisher-confirms: true |
| | | publisher-returns: true |
| | | listener: |
| | | direct: |
| | | acknowledge-mode: manual |
| | | simple: |
| | | acknowledge-mode: manual |
| | | port: 5672 |
| | | username: super |
| | | password: Jmy2019. |
| | | virtual-host: ecosphere |
| | | host: 116.198.40.76 |
| | | datasource: |
| | | druid: |
| | | driver-class-name: com.mysql.jdbc.Driver |
| | | url: jdbc:mysql://116.198.40.76:3306/ecosphere_shop_basics?characterEncoding=utf8&autoReconnect=true&useSSL=false |
| | | username: root |
| | | password: Bjjmy_2020 |
| | | min-idle: 5 |
| | | initial-size: 5 |
| | | async-init: true |
| | |
| | | metadata-allow: true |
| | | log-violation: true |
| | | throw-exception: true |
| | | # driver-class-name: com.mysql.jdbc.Driver |
| | | # url: jdbc:mysql://116.198.40.76:3306/ecosphere_shop_basics?characterEncoding=utf8&autoReconnect=true&useSSL=false |
| | | # username: root |
| | | # password: Bjjmy_2020 |
| | | #资源文件映射 |
| | | resources: |
| | | static-locations: classpath:/static/,classpath:/public/,file:${file.upPath},file:${file.sysPath},file:${file.poster.path} |
| | | banner: |
| | | location: banner.txt |
| | | jackson: |
| | | date-format: yyyy-MM-dd HH:mm:ss |
| | | time-zone: GMT+8 |
| | | web: |
| | | resources: |
| | | static-locations: classpath:/static/,classpath:/public/,file:${file.upPath},file:${file.sysPath},file:${file.poster.path} |
| | | #mybaits映射配置 |
| | | mybatis: |
| | | mapper-locations: classpath:mapping/**/*Mapper.xml |
| | | mapper-locations: classpath*:mapping/**/*Mapper.xml |
| | | type-aliases-package: com.nuvole.four.domain |
| | | configuration: |
| | | map-underscore-to-camel-case: true |
| | |
| | | params: count=countSql |
| | | #日志配置 |
| | | logging: |
| | | file: log/out.log |
| | | pattern: |
| | | console: "%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n" |
| | | file: "%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n" |
| | |
| | | max-threads: 1000 |
| | | max-connections: 1000 |
| | | basedir: tomcat |
| | | servlet: |
| | | encoding: |
| | | charset: UTF-8 |
| | | enabled: true |
| | | force: true |
| | | |
| | | tl: |
| | | could: |
| | |
| | | <modules> |
| | | <module>ecosphere-common</module> |
| | | <module>ecosphere-base-rest</module> |
| | | <module>ecosphere-four-payment</module> |
| | | </modules> |
| | | |
| | | <artifactId>ecosphere</artifactId> |
| | |
| | | |
| | | <dependencies> |
| | | <!-- 自定义负载均衡(多团队开发使用) --> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-loadbalancer</artifactId>--> |
| | | <!-- </dependency>--> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-loadbalancer</artifactId>--> |
| | | <!-- </dependency>--> |
| | | |
| | | <!-- ELK 日志收集 --> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-logstash</artifactId>--> |
| | | <!-- </dependency>--> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-logstash</artifactId>--> |
| | | <!-- </dependency>--> |
| | | |
| | | <!-- skywalking 日志收集 --> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-skylog</artifactId>--> |
| | | <!-- </dependency>--> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-skylog</artifactId>--> |
| | | <!-- </dependency>--> |
| | | |
| | | <!-- prometheus 监控 --> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-prometheus</artifactId>--> |
| | | <!-- </dependency>--> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>org.dromara</groupId>--> |
| | | <!-- <artifactId>ruoyi-common-prometheus</artifactId>--> |
| | | <!-- </dependency>--> |
| | | |
| | | <dependency> |
| | | <groupId>junit</groupId> |
| | |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-crypto</artifactId> |
| | | <!-- <version>4.5.3</version>--> |
| | | <!-- <version>4.5.3</version>--> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-core</artifactId> |
| | | <!-- <version>4.5.3</version>--> |
| | | <!-- <version>4.5.3</version>--> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-extra</artifactId> |
| | | <!-- <version>4.5.3</version>--> |
| | | <!-- <version>4.5.3</version>--> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-poi</artifactId> |
| | | <!-- <version>4.5.3</version>--> |
| | | <!-- <version>4.5.3</version>--> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-http</artifactId> |
| | | <!-- <version>4.5.3</version>--> |
| | | <!-- <version>4.5.3</version>--> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | |
| | | <version>0.1.54</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.owasp.esapi</groupId> |
| | | <artifactId>esapi</artifactId> |
| | | <version>2.1.0.1</version> |
| | | </dependency> |
| | | <!-- <dependency> |
| | | <groupId>org.owasp.esapi</groupId> |
| | | <artifactId>esapi</artifactId> |
| | | <version>2.1.0.1</version> |
| | | </dependency>--> |
| | | |
| | | <dependency> |
| | | <groupId>io.jsonwebtoken</groupId> |
| | |
| | | |
| | | <dependencyManagement> |
| | | <dependencies> |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.cloud</groupId> |
| | | <artifactId>spring-cloud-dependencies</artifactId> |
| | | <version>Finchley.RELEASE</version> |
| | | <type>pom</type> |
| | | <scope>import</scope> |
| | | <groupId>org.dromara</groupId> |
| | | <artifactId>ecosphere-common</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.dromara</groupId> |
| | | <artifactId>ecosphere-base-rest</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.alibaba.cloud</groupId> |
| | | <artifactId>spring-cloud-alibaba-dependencies</artifactId> |
| | | <version>${spring-cloud-alibaba.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-data-redis-reactive</artifactId> |
| | | <version>3.1.7</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.owasp.antisamy</groupId> |
| | | <artifactId>antisamy</artifactId> |
| | | <version>1.5.8</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>javax.annotation</groupId> |
| | | <artifactId>javax.annotation-api</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | |
| | | <version>1.2.3</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web</artifactId> |
| | | <version>2.0.3.RELEASE</version> |
| | | </dependency> |
| | | <!-- <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web</artifactId> |
| | | <version>2.0.3.RELEASE</version> |
| | | </dependency>--> |
| | | |
| | | <dependency> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid-spring-boot-starter</artifactId> |
| | | <version>1.1.10</version> |
| | | <version>1.2.11</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | |
| | | <version>2.5.1</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <artifactId>ecosphere-common</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency> |
| | | <!-- <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <artifactId>ecosphere-common</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency>--> |
| | | |
| | | <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <artifactId>ecosphere-base-rest</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency> |
| | | <!-- <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <artifactId>ecosphere-base-rest</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency>--> |
| | | |
| | | <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <artifactId>ecosphere-shop-rest</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency> |
| | | <!-- <dependency> |
| | | <groupId>com.nuvole</groupId> |
| | | <artifactId>ecosphere-shop-rest</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency>--> |
| | | |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-amqp</artifactId> |
| | | <version>2.0.3.RELEASE</version> |
| | | </dependency> |
| | | <!-- <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-amqp</artifactId> |
| | | <version>2.0.3.RELEASE</version> |
| | | </dependency>--> |
| | | |
| | | <dependency> |
| | | <groupId>com.github.ulisesbocchio</groupId> |
| | |
| | | <version>3.4.0</version> |
| | | </dependency> |
| | | |
| | | |
| | | </dependencies> |
| | | </dependencyManagement> |
| | | <properties> |
| | | <!-- <revision>2.1.2</revision>--> |
| | | <!--<revision>2.1.2</revision>--> |
| | | <spring-cloud-alibaba.version>2022.0.0.0</spring-cloud-alibaba.version> |
| | | <sentinel.version>1.8.6</sentinel.version> |
| | | <seata.version>1.7.1</seata.version> |
| | |
| | | <module>ruoyi-modules</module> |
| | | <module>ruoyi-api</module> |
| | | <module>ruoyi-common</module> |
| | | <module>ruoyi-example</module> |
| | | <module>ecosphere</module> |
| | | <module>ruoyi-example</module> |
| | | |
| | | </modules> |
| | | <packaging>pom</packaging> |
| | | |
| | |
| | | db.num=1 |
| | | |
| | | ### Connect URL of DB: |
| | | db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true |
| | | db.url.0=jdbc:mysql://116.198.40.76:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true |
| | | db.user.0=root |
| | | db.password.0=root |
| | | db.password.0=Bjjmy_2020 |
| | | |
| | | #*************** Naming Module Related Configurations ***************# |
| | | ### Data dispatch task execution period in milliseconds: |