> cache;
+
+ /**
+ * 程序启动时,获取最新的需要过滤的敏感词
+ *
+ * 这里即便缓存中为空也没关系,定时任务会定时重新加载敏感词
+ *
+ * @param args 启动参数
+ */
+ @Override
+ public void run(ApplicationArguments args) {
+ List sensitives = cache.get(CachePrefix.SENSITIVE.getPrefix());
+ log.info("系统初始化敏感词");
+ if (sensitives == null || sensitives.isEmpty()) {
+ return;
+ }
+ SensitiveWordsFilter.init(sensitives);
+ }
+
+}
diff --git a/framework/src/main/java/cn/lili/common/sensitive/quartz/QuartzConfig.java b/framework/src/main/java/cn/lili/common/sensitive/quartz/QuartzConfig.java
new file mode 100644
index 00000000..85e1d75a
--- /dev/null
+++ b/framework/src/main/java/cn/lili/common/sensitive/quartz/QuartzConfig.java
@@ -0,0 +1,32 @@
+package cn.lili.common.sensitive.quartz;
+
+import org.quartz.*;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 定时执行配置
+ *
+ * @author Chopper
+ * @version v1.0
+ * 2021-11-23 16:30
+ */
+@Configuration
+public class QuartzConfig {
+
+ @Bean
+ public JobDetail sensitiveQuartzDetail() {
+ return JobBuilder.newJob(SensitiveQuartz.class).withIdentity("sensitiveQuartz").storeDurably().build();
+ }
+
+ @Bean
+ public Trigger sensitiveQuartzTrigger() {
+ SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
+ .withIntervalInSeconds(3600)
+ .repeatForever();
+ return TriggerBuilder.newTrigger().forJob(sensitiveQuartzDetail())
+ .withIdentity("sensitiveQuartz")
+ .withSchedule(scheduleBuilder)
+ .build();
+ }
+}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/common/sensitive/quartz/SensitiveQuartz.java b/framework/src/main/java/cn/lili/common/sensitive/quartz/SensitiveQuartz.java
new file mode 100644
index 00000000..4421aeaf
--- /dev/null
+++ b/framework/src/main/java/cn/lili/common/sensitive/quartz/SensitiveQuartz.java
@@ -0,0 +1,40 @@
+package cn.lili.common.sensitive.quartz;
+
+import cn.lili.cache.Cache;
+import cn.lili.cache.CachePrefix;
+import cn.lili.common.sensitive.SensitiveWordsFilter;
+import lombok.extern.slf4j.Slf4j;
+import org.quartz.JobExecutionContext;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.quartz.QuartzJobBean;
+
+import java.util.List;
+
+/**
+ * 间隔更新敏感词
+ *
+ * @author Chopper
+ * @version v1.0
+ * 2021-11-23 16:31
+ */
+@Slf4j
+public class SensitiveQuartz extends QuartzJobBean {
+
+ @Autowired
+ private Cache> cache;
+
+ /**
+ * 定时更新敏感词信息
+ *
+ * @param jobExecutionContext
+ */
+ @Override
+ protected void executeInternal(JobExecutionContext jobExecutionContext) {
+ log.info("敏感词定时更新");
+ List sensitives = cache.get(CachePrefix.SENSITIVE.getPrefix());
+ if (sensitives == null || sensitives.isEmpty()) {
+ return;
+ }
+ SensitiveWordsFilter.init(sensitives);
+ }
+}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java b/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java
index b05d5662..b5059104 100644
--- a/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java
+++ b/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java
@@ -3,11 +3,10 @@ package cn.lili.common.utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;
+import java.io.*;
import java.util.Base64;
import java.util.Base64.Decoder;
-import java.io.*;
-
/**
* base64转为multipartFile工具类
*
@@ -55,7 +54,7 @@ public class Base64DecodeMultipartFile implements MultipartFile {
}
@Override
- public InputStream getInputStream() throws IOException {
+ public InputStream getInputStream() {
return new ByteArrayInputStream(imgContent);
}
@@ -66,8 +65,9 @@ public class Base64DecodeMultipartFile implements MultipartFile {
stream = new FileOutputStream(dest);
stream.write(imgContent);
} catch (IOException e) {
- log.error("transferTo错误",e);
- }finally {
+ log.error("transferTo错误", e);
+ } finally {
+ assert stream != null;
stream.close();
}
}
@@ -94,7 +94,7 @@ public class Base64DecodeMultipartFile implements MultipartFile {
byte[] bytes = Base64.getDecoder().decode(base64);
stream = new ByteArrayInputStream(bytes);
} catch (Exception e) {
- log.error("base64ToInputStream错误",e);
+ log.error("base64ToInputStream错误", e);
}
return stream;
}
@@ -111,13 +111,13 @@ public class Base64DecodeMultipartFile implements MultipartFile {
}
data = swapStream.toByteArray();
} catch (IOException e) {
- log.error("转码错误",e);
+ log.error("转码错误", e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
- log.error("inputStreamToStream错误",e);
+ log.error("inputStreamToStream错误", e);
}
}
}
diff --git a/framework/src/main/java/cn/lili/common/utils/BeanUtil.java b/framework/src/main/java/cn/lili/common/utils/BeanUtil.java
index 55eda005..a5e66e54 100644
--- a/framework/src/main/java/cn/lili/common/utils/BeanUtil.java
+++ b/framework/src/main/java/cn/lili/common/utils/BeanUtil.java
@@ -16,7 +16,7 @@ public class BeanUtil {
* 复制属性
*
* @param objectFrom 源自对象
- * @param objectTo 复制给对象
+ * @param objectTo 复制给对象
*/
public static void copyProperties(Object objectFrom, Object objectTo) {
BeanUtils.copyProperties(objectFrom, objectTo);
@@ -25,6 +25,7 @@ public class BeanUtil {
/**
* 获取属性名数组
+ *
* @param o 获取字段的对象
* @return 返回各个字段
*/
@@ -49,8 +50,9 @@ public class BeanUtil {
/**
* 根据属性名获取属性值
+ *
* @param fieldName 属性名
- * @param o 对象
+ * @param o 对象
* @return 属性值
*/
public static Object getFieldValueByName(String fieldName, Object o) {
@@ -69,6 +71,7 @@ public class BeanUtil {
/**
* 将对象转换为key value
* A=a&B=b&C=c 格式
+ *
* @param object 对象
* @return 格式化结果
*/
@@ -87,6 +90,7 @@ public class BeanUtil {
String key = fieldNames[j];
//获取值
Object value = BeanUtil.getFieldValueByName(key, object);
+ assert value != null;
stringBuffer.append(key).append("=").append(value.toString());
}
return stringBuffer.toString();
@@ -95,8 +99,9 @@ public class BeanUtil {
/**
* key value键值对 转换为 对象
* A=a&B=b&C=c 格式 转换为对象
+ *
* @param str 对象字符串
- * @param t 范型
+ * @param t 范型
* @param 范型
* @return 格式化结果
*/
diff --git a/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java b/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java
index eabf1df9..7e77edcb 100644
--- a/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java
+++ b/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java
@@ -1,6 +1,7 @@
package cn.lili.common.utils;
import java.math.BigDecimal;
+import java.math.RoundingMode;
/**
* 金额计算工具
@@ -28,9 +29,9 @@ public final class CurrencyUtil {
* @return 两个参数的和
*/
public static Double add(double v1, double v2) {
- BigDecimal b1 = new BigDecimal(v1);
- BigDecimal b2 = new BigDecimal(v2);
- return b1.add(b2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ BigDecimal b1 = BigDecimal.valueOf(v1);
+ BigDecimal b2 = BigDecimal.valueOf(v2);
+ return b1.add(b2).setScale(2, RoundingMode.HALF_UP).doubleValue();
}
/**
@@ -41,9 +42,9 @@ public final class CurrencyUtil {
* @return 两个参数的差
*/
public static double sub(double v1, double v2) {
- BigDecimal b1 = new BigDecimal(v1);
- BigDecimal b2 = new BigDecimal(v2);
- return b1.subtract(b2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ BigDecimal b1 = BigDecimal.valueOf(v1);
+ BigDecimal b2 = BigDecimal.valueOf(v2);
+ return b1.subtract(b2).setScale(2, RoundingMode.HALF_UP).doubleValue();
}
/**
@@ -54,9 +55,9 @@ public final class CurrencyUtil {
* @return 两个参数的积
*/
public static Double mul(double v1, double v2) {
- BigDecimal b1 = new BigDecimal(v1);
- BigDecimal b2 = new BigDecimal(v2);
- return b1.multiply(b2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ BigDecimal b1 = BigDecimal.valueOf(v1);
+ BigDecimal b2 = BigDecimal.valueOf(v2);
+ return b1.multiply(b2).setScale(2, RoundingMode.HALF_UP).doubleValue();
}
/**
@@ -72,9 +73,9 @@ public final class CurrencyUtil {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
- BigDecimal b1 = new BigDecimal(v1);
- BigDecimal b2 = new BigDecimal(v2);
- return b1.multiply(b2).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue();
+ BigDecimal b1 = BigDecimal.valueOf(v1);
+ BigDecimal b2 = BigDecimal.valueOf(v2);
+ return b1.multiply(b2).setScale(scale, RoundingMode.HALF_UP).doubleValue();
}
/**
@@ -105,26 +106,9 @@ public final class CurrencyUtil {
if (v2 == 0) {
return 0;
}
- BigDecimal b1 = new BigDecimal(v1);
- BigDecimal b2 = new BigDecimal(v2);
- return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
- }
-
- /**
- * 提供精确的小数位四舍五入处理。
- *
- * @param v 需要四舍五入的数字
- * @param scale 小数点后保留几位
- * @return 四舍五入后的结果
- */
- public static double round(double v, int scale) {
- if (scale < 0) {
- throw new IllegalArgumentException(
- "The scale must be a positive integer or zero");
- }
- BigDecimal b = new BigDecimal(v);
- BigDecimal one = new BigDecimal("1");
- return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
+ BigDecimal b1 = BigDecimal.valueOf(v1);
+ BigDecimal b2 = BigDecimal.valueOf(v2);
+ return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue();
}
/**
@@ -145,7 +129,6 @@ public final class CurrencyUtil {
* @return double类型分
*/
public static double reversalFen(Double money) {
- double price = div(money, 100);
- return price;
+ return div(money, 100);
}
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/common/utils/DateUtil.java b/framework/src/main/java/cn/lili/common/utils/DateUtil.java
index 306cc0cd..b07f0bde 100644
--- a/framework/src/main/java/cn/lili/common/utils/DateUtil.java
+++ b/framework/src/main/java/cn/lili/common/utils/DateUtil.java
@@ -273,7 +273,7 @@ public class DateUtil {
* @return 时间戳
*/
public static long getDateline(String date) {
- return toDate(date, STANDARD_DATE_FORMAT).getTime() / 1000;
+ return Objects.requireNonNull(toDate(date, STANDARD_DATE_FORMAT)).getTime() / 1000;
}
/**
@@ -311,7 +311,7 @@ public class DateUtil {
* @return 时间戳
*/
public static long getDateline(String date, String pattern) {
- return toDate(date, pattern).getTime() / 1000;
+ return Objects.requireNonNull(toDate(date, pattern)).getTime() / 1000;
}
/**
diff --git a/framework/src/main/java/cn/lili/common/utils/HttpUtils.java b/framework/src/main/java/cn/lili/common/utils/HttpUtils.java
index 4f8e7a3e..706e805c 100644
--- a/framework/src/main/java/cn/lili/common/utils/HttpUtils.java
+++ b/framework/src/main/java/cn/lili/common/utils/HttpUtils.java
@@ -1,19 +1,25 @@
package cn.lili.common.utils;
+import com.alibaba.fastjson.JSONObject;
import com.xkcoding.http.HttpUtil;
import com.xkcoding.http.config.HttpConfig;
import com.xkcoding.http.support.HttpHeader;
import com.xkcoding.http.support.httpclient.HttpClientImpl;
+import lombok.extern.slf4j.Slf4j;
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Iterator;
import java.util.Map;
/**
- * HttpUtil 工具,统一处理 http 请求,方便对 simple-http 做定制
- *
- * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
- * @version 4.1
- * @since 1.0.0
+ * HTTP 工具类
+ * @author liushuai
*/
+@Slf4j
public class HttpUtils {
public HttpUtils(HttpConfig config) {
@@ -105,4 +111,258 @@ public class HttpUtils {
public String post(String url, Map params, HttpHeader header, boolean encode) {
return HttpUtil.post(url, params, header, encode);
}
+
+
+ /**
+ * 静态方法运行参数
+ */
+ public static final int HTTP_CONN_TIMEOUT = 100000;
+ public static final int HTTP_SOCKET_TIMEOUT = 100000;
+
+ /**
+ * POST 静态方法请求
+ *
+ * @param reqUrl
+ * @param parameters
+ * @param encoding
+ * @param connectTimeout
+ * @param readTimeout
+ * @return
+ */
+ public static String doPost(String reqUrl, Map parameters, String encoding, int connectTimeout,
+ int readTimeout) {
+ HttpURLConnection urlConn = null;
+ try {
+ urlConn = sendPost(reqUrl, parameters, encoding, connectTimeout, readTimeout);
+ String responseContent = getContent(urlConn, encoding);
+ return responseContent.trim();
+ } finally {
+ if (urlConn != null) {
+ urlConn.disconnect();
+
+ }
+ }
+ }
+
+ /**
+ * post携带json请求 静态方法
+ *
+ * @param reqUrl 请求地址
+ * @param jsonParameters 参数
+ * @return
+ */
+ public static String doPostWithJson(String reqUrl, Map jsonParameters) {
+
+ BufferedReader reader = null;
+ try {
+ //创建连接
+ URL url = new URL(reqUrl);
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+ connection.setDoOutput(true);
+ connection.setDoInput(true);
+ connection.setUseCaches(false);
+ connection.setInstanceFollowRedirects(true);
+ //设置请求方式
+ connection.setRequestMethod("POST");
+ //设置发送数据的格式
+ connection.setRequestProperty("Content-Type", "application/json");
+ connection.connect();
+ //一定要用BufferedReader 来接收响应, 使用字节来接收响应的方法是接收不到内容的
+ //utf-8编码
+ OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8);
+ out.append(JSONObject.toJSONString(jsonParameters));
+ out.flush();
+ out.close();
+ //读取响应
+ reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8));
+ String line;
+ String res = "";
+ while ((line = reader.readLine()) != null) {
+ res += line;
+ }
+ reader.close();
+
+ return res;
+ } catch (IOException e) {
+ log.error("post请求错误", e);
+ }
+ //自定义错误信息
+ return "error";
+
+ }
+
+ /**
+ * post携带json请求 静态方法
+ *
+ * @param reqUrl 请求地址
+ * @param object 对象
+ * @return
+ */
+ public static String doPostWithJson(String reqUrl, Object object) {
+
+ BufferedReader reader = null;
+ try {
+ //创建连接
+ URL url = new URL(reqUrl);
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+ connection.setDoOutput(true);
+ connection.setDoInput(true);
+ connection.setUseCaches(false);
+ connection.setInstanceFollowRedirects(true);
+ //设置请求方式
+ connection.setRequestMethod("POST");
+ //设置发送数据的格式
+ connection.setRequestProperty("Content-Type", "application/json");
+ connection.connect();
+ //一定要用BufferedReader 来接收响应, 使用字节来接收响应的方法是接收不到内容的
+ //utf-8编码
+ OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8);
+ out.append(JSONObject.toJSONString(object));
+ out.flush();
+ out.close();
+ //读取响应
+ reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8));
+ String line;
+ String res = "";
+ while ((line = reader.readLine()) != null) {
+ res += line;
+ }
+ reader.close();
+
+ return res;
+ } catch (IOException e) {
+ log.error("post错误", e);
+ }
+ //自定义错误信息
+ return "error";
+
+ }
+
+ /**
+ * 发送post请求
+ *
+ * @param reqUrl
+ * @param parameters
+ * @param encoding
+ * @param connectTimeout
+ * @param readTimeout
+ * @return
+ */
+ private static HttpURLConnection sendPost(String reqUrl,
+ Map parameters, String encoding, int connectTimeout, int readTimeout) {
+ HttpURLConnection urlConn = null;
+ try {
+ String params = generatorParamString(parameters, encoding);
+ URL url = new URL(reqUrl);
+ urlConn = (HttpURLConnection) url.openConnection();
+ urlConn.setRequestMethod("POST");
+ //(单位:毫秒)jdk
+ urlConn.setConnectTimeout(connectTimeout);
+ //(单位:毫秒)jdk 1.5换成这个,读操作超时
+ urlConn.setReadTimeout(readTimeout);
+ urlConn.setDoOutput(true);
+ //String按照字节处理是一个好方法
+ byte[] b = params.getBytes(encoding);
+ urlConn.getOutputStream().write(b, 0, b.length);
+ urlConn.getOutputStream().flush();
+ urlConn.getOutputStream().close();
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ return urlConn;
+ }
+
+ /**
+ * get 请求 静态方法
+ *
+ * @param urlConn
+ * @param encoding
+ * @return
+ */
+ private static String getContent(HttpURLConnection urlConn, String encoding) {
+ try {
+ String responseContent = null;
+ InputStream in = urlConn.getInputStream();
+ BufferedReader rd = new BufferedReader(new InputStreamReader(in, encoding));
+ String tempLine = rd.readLine();
+ StringBuffer tempStr = new StringBuffer();
+ String crlf = System.getProperty("line.separator");
+ while (tempLine != null) {
+ tempStr.append(tempLine);
+ tempStr.append(crlf);
+ tempLine = rd.readLine();
+ }
+ responseContent = tempStr.toString();
+ rd.close();
+ in.close();
+ return responseContent;
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ }
+
+ /**
+ * get 请求 静态方法
+ *
+ * @param link
+ * @param encoding
+ * @return
+ */
+ public static String doGet(String link, String encoding, int connectTimeout, int readTimeout) {
+ HttpURLConnection conn = null;
+ try {
+ URL url = new URL(link);
+ conn = (HttpURLConnection) url.openConnection();
+ conn.setRequestMethod("GET");
+ conn.setConnectTimeout(connectTimeout);
+ conn.setReadTimeout(readTimeout);
+ BufferedInputStream in = new BufferedInputStream(
+ conn.getInputStream());
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ byte[] buf = new byte[1024];
+ for (int i = 0; (i = in.read(buf)) > 0; ) {
+ out.write(buf, 0, i);
+ }
+ out.flush();
+ String s = out.toString(encoding);
+ return s;
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage(), e);
+ } finally {
+ if (conn != null) {
+ conn.disconnect();
+ conn = null;
+ }
+ }
+ }
+
+ /**
+ * 将parameters中数据转换成用"&"链接的http请求参数形式
+ *
+ * @param parameters
+ * @return
+ */
+ private static String generatorParamString(Map parameters, String encoding) {
+ StringBuffer params = new StringBuffer();
+ if (parameters != null) {
+ for (Iterator iter = parameters.keySet().iterator(); iter
+ .hasNext(); ) {
+ String name = iter.next();
+ String value = parameters.get(name);
+ params.append(name + "=");
+ try {
+ params.append(URLEncoder.encode(value, encoding));
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e.getMessage(), e);
+ } catch (Exception e) {
+ String message = String.format("'%s'='%s'", name, value);
+ throw new RuntimeException(message, e);
+ }
+ if (iter.hasNext()) {
+ params.append("&");
+ }
+ }
+ }
+ return params.toString();
+ }
}
diff --git a/framework/src/main/java/cn/lili/modules/connect/util/UuidUtils.java b/framework/src/main/java/cn/lili/common/utils/UuidUtils.java
similarity index 98%
rename from framework/src/main/java/cn/lili/modules/connect/util/UuidUtils.java
rename to framework/src/main/java/cn/lili/common/utils/UuidUtils.java
index af9b2cdd..b9f17bcb 100644
--- a/framework/src/main/java/cn/lili/modules/connect/util/UuidUtils.java
+++ b/framework/src/main/java/cn/lili/common/utils/UuidUtils.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.connect.util;
+package cn.lili.common.utils;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.ThreadLocalRandom;
diff --git a/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java b/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java
index 9e1274dc..6e695606 100644
--- a/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java
+++ b/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java
@@ -1,8 +1,10 @@
package cn.lili.modules.connect.request;
import cn.lili.cache.Cache;
+import cn.lili.common.utils.HttpUtils;
import cn.lili.common.utils.StringUtils;
import cn.lili.common.utils.UrlBuilder;
+import cn.lili.common.utils.UuidUtils;
import cn.lili.modules.connect.config.AuthConfig;
import cn.lili.modules.connect.config.ConnectAuth;
import cn.lili.modules.connect.entity.dto.AuthCallback;
@@ -12,8 +14,6 @@ import cn.lili.modules.connect.entity.dto.ConnectAuthUser;
import cn.lili.modules.connect.entity.enums.AuthResponseStatus;
import cn.lili.modules.connect.exception.AuthException;
import cn.lili.modules.connect.util.AuthChecker;
-import cn.lili.common.utils.HttpUtils;
-import cn.lili.modules.connect.util.UuidUtils;
import com.xkcoding.http.util.UrlUtil;
import lombok.extern.slf4j.Slf4j;
diff --git a/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java b/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java
index 7a33b102..6df3b143 100644
--- a/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java
+++ b/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java
@@ -5,6 +5,7 @@ import cn.lili.common.security.token.Token;
import cn.lili.modules.connect.entity.Connect;
import cn.lili.modules.connect.entity.dto.ConnectAuthUser;
import cn.lili.modules.connect.entity.dto.WechatMPLoginParams;
+import cn.lili.modules.member.entity.dto.ConnectQueryDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.naming.NoPermissionException;
@@ -103,4 +104,12 @@ public interface ConnectService extends IService {
* @return token
*/
Token miniProgramAutoLogin(WechatMPLoginParams params);
+
+ /**
+ * 根据查询dto获取查询对象
+ *
+ * @param connectQueryDTO
+ * @return
+ */
+ Connect queryConnect(ConnectQueryDTO connectQueryDTO);
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
index 68ca20b6..0d0b1ab2 100644
--- a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
@@ -12,6 +12,7 @@ import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.token.Token;
import cn.lili.common.utils.CookieUtil;
+import cn.lili.common.utils.HttpUtils;
import cn.lili.common.utils.StringUtils;
import cn.lili.modules.connect.entity.Connect;
import cn.lili.modules.connect.entity.dto.ConnectAuthUser;
@@ -20,6 +21,7 @@ import cn.lili.modules.connect.entity.enums.ConnectEnum;
import cn.lili.modules.connect.mapper.ConnectMapper;
import cn.lili.modules.connect.service.ConnectService;
import cn.lili.modules.member.entity.dos.Member;
+import cn.lili.modules.member.entity.dto.ConnectQueryDTO;
import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.member.token.MemberTokenGenerate;
import cn.lili.modules.system.entity.dos.Setting;
@@ -27,7 +29,6 @@ import cn.lili.modules.system.entity.dto.connect.WechatConnectSetting;
import cn.lili.modules.system.entity.dto.connect.dto.WechatConnectSettingItem;
import cn.lili.modules.system.entity.enums.SettingEnum;
import cn.lili.modules.system.service.SettingService;
-import cn.lili.modules.system.utils.HttpUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
@@ -232,6 +233,16 @@ public class ConnectServiceImpl extends ServiceImpl impl
return memberTokenGenerate.createToken(newMember.getUsername(), true);
}
+ @Override
+ public Connect queryConnect(ConnectQueryDTO connectQueryDTO) {
+
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(StringUtils.isNotEmpty(connectQueryDTO.getUserId()), Connect::getUserId, connectQueryDTO.getUserId())
+ .eq(StringUtils.isNotEmpty(connectQueryDTO.getUnionType()), Connect::getUnionType, connectQueryDTO.getUnionType())
+ .eq(StringUtils.isNotEmpty(connectQueryDTO.getUnionId()), Connect::getUnionId, connectQueryDTO.getUnionId());
+ return this.getOne(queryWrapper);
+ }
+
/**
* 会员绑定 绑定微信小程序
*
diff --git a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java b/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java
index b648f323..e04a5ff6 100644
--- a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java
+++ b/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java
@@ -1,6 +1,6 @@
package cn.lili.modules.distribution.entity.dos;
-import cn.lili.modules.member.entity.enums.WithdrawStatusEnum;
+import cn.lili.modules.wallet.entity.enums.WithdrawStatusEnum;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java
index b5e75c01..2a107b9f 100644
--- a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java
+++ b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java
@@ -49,10 +49,4 @@ public interface DistributionCashService extends IService {
*/
DistributionCash audit(@PathVariable String id, @RequestParam String result);
- /**
- * 待处理分销员提现申请数量
- *
- * @return 待处理分销员提现申请数量
- */
- Integer newDistributionCash();
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java
index 8e3cefab..4f3235be 100644
--- a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java
@@ -2,14 +2,10 @@ package cn.lili.modules.distribution.serviceimpl;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
-import cn.lili.modules.member.entity.enums.WithdrawStatusEnum;
-import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
-import cn.lili.rocketmq.tags.MemberTagsEnum;
+import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.utils.CurrencyUtil;
-import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.utils.SnowFlake;
import cn.lili.common.vo.PageVO;
-import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.modules.distribution.entity.dos.Distribution;
import cn.lili.modules.distribution.entity.dos.DistributionCash;
import cn.lili.modules.distribution.entity.enums.DistributionStatusEnum;
@@ -17,13 +13,17 @@ import cn.lili.modules.distribution.entity.vos.DistributionCashSearchParams;
import cn.lili.modules.distribution.mapper.DistributionCashMapper;
import cn.lili.modules.distribution.service.DistributionCashService;
import cn.lili.modules.distribution.service.DistributionService;
-import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage;
-import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum;
-import cn.lili.modules.member.service.MemberWalletService;
-import cn.lili.modules.order.trade.entity.enums.DepositServiceTypeEnum;
+import cn.lili.modules.wallet.entity.dto.MemberWalletUpdateDTO;
+import cn.lili.modules.wallet.entity.dto.MemberWithdrawalMessage;
+import cn.lili.modules.wallet.entity.enums.DepositServiceTypeEnum;
+import cn.lili.modules.wallet.entity.enums.MemberWithdrawalDestinationEnum;
+import cn.lili.modules.wallet.entity.enums.WithdrawStatusEnum;
+import cn.lili.modules.wallet.service.MemberWalletService;
+import cn.lili.mybatis.util.PageUtil;
+import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
+import cn.lili.rocketmq.tags.MemberTagsEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
@@ -130,7 +130,7 @@ public class DistributionCashServiceImpl extends ServiceImpl storeFlowList = storeFlowService.list(new LambdaQueryWrapper()
- .eq(StoreFlow::getOrderSn, orderSn)
- .isNotNull(StoreFlow::getDistributionRebate));
- Double rebate = 0.0;
+ List storeFlowList = storeFlowService
+ .listStoreFlow(StoreFlowQueryDTO.builder().justDistribution(true).orderSn(orderSn).build());
+ double rebate = 0.0;
//循环店铺流水记录判断是否包含分销商品
//包含分销商品则进行记录分销订单、计算分销总额
for (StoreFlow storeFlow : storeFlowList) {
@@ -165,7 +165,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl()
- .eq(StoreFlow::getRefundSn, afterSaleSn)
- .isNotNull(StoreFlow::getDistributionRebate));
+ StoreFlow storeFlow = storeFlowService.queryOne(StoreFlowQueryDTO.builder().justDistribution(true).refundSn(afterSaleSn).build());
if (storeFlow != null) {
//获取收款分销订单
@@ -199,12 +197,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl()
.eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn())
.set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name()));
diff --git a/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java b/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java
index 7aacc714..bd279d05 100644
--- a/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java
+++ b/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java
@@ -37,13 +37,4 @@ public interface FileManagerPlugin {
*/
void deleteFile(List key);
- /**
- * 根据原图生成规定尺寸的图片
- *
- * @param url 连接
- * @param width 宽
- * @param height 高
- * @return
- */
- String getUrl(String url, Integer width, Integer height);
}
diff --git a/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java b/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java
index e28bfc88..4ddbf899 100644
--- a/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java
+++ b/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java
@@ -183,11 +183,4 @@ public class AliFileManagerPlugin implements FileManagerPlugin {
ossClient.shutdown();
}
}
-
- @Override
- public String getUrl(String url, Integer width, Integer height) {
- //缩略图全路径
- //返回缩略图全路径
- return url + "?x-oss-process=style/" + width + "X" + height;
- }
}
diff --git a/framework/src/main/java/cn/lili/modules/file/util/FileUtil.java b/framework/src/main/java/cn/lili/modules/file/util/FileUtil.java
new file mode 100644
index 00000000..46cbf51f
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/file/util/FileUtil.java
@@ -0,0 +1,24 @@
+package cn.lili.modules.file.util;
+
+/**
+ * FileUtil
+ *
+ * @author Chopper
+ * @version v1.0
+ * 2021-11-22 11:19
+ */
+public class FileUtil {
+
+ /**
+ * 根据原图生成规定尺寸的图片
+ *
+ * @param url 连接
+ * @param width 宽
+ * @param height 高
+ * @return
+ */
+ public static String getUrl(String url, Integer width, Integer height) {
+ //缩略图全路径
+ return url + "?x-oss-process=style/" + width + "X" + height;
+ }
+}
diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreGoodsLabel.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/StoreGoodsLabel.java
similarity index 97%
rename from framework/src/main/java/cn/lili/modules/store/entity/dos/StoreGoodsLabel.java
rename to framework/src/main/java/cn/lili/modules/goods/entity/dos/StoreGoodsLabel.java
index 0b03e1aa..2b079e43 100644
--- a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreGoodsLabel.java
+++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/StoreGoodsLabel.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.store.entity.dos;
+package cn.lili.modules.goods.entity.dos;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java b/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java
deleted file mode 100644
index 50813010..00000000
--- a/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package cn.lili.modules.goods.entity.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-
-/**
- * 用于直播间前台使用的直播间商品DTO
- *
- * @author Bulbasaur
- * @since 2021/5/20 2:34 下午
- */
-public class SimpleCommodity {
-
- @ApiModelProperty(value = "图片")
- private String goodsImage;
-
- @ApiModelProperty(value = "商品名称")
- private String name;
-}
diff --git a/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreGoodsLabelVO.java b/framework/src/main/java/cn/lili/modules/goods/entity/vos/StoreGoodsLabelVO.java
similarity index 95%
rename from framework/src/main/java/cn/lili/modules/store/entity/vos/StoreGoodsLabelVO.java
rename to framework/src/main/java/cn/lili/modules/goods/entity/vos/StoreGoodsLabelVO.java
index fd627c4b..5f0720e6 100644
--- a/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreGoodsLabelVO.java
+++ b/framework/src/main/java/cn/lili/modules/goods/entity/vos/StoreGoodsLabelVO.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.store.entity.vos;
+package cn.lili.modules.goods.entity.vos;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/StoreGoodsLabelMapper.java b/framework/src/main/java/cn/lili/modules/goods/mapper/StoreGoodsLabelMapper.java
similarity index 71%
rename from framework/src/main/java/cn/lili/modules/store/mapper/StoreGoodsLabelMapper.java
rename to framework/src/main/java/cn/lili/modules/goods/mapper/StoreGoodsLabelMapper.java
index addd2591..81d1746f 100644
--- a/framework/src/main/java/cn/lili/modules/store/mapper/StoreGoodsLabelMapper.java
+++ b/framework/src/main/java/cn/lili/modules/goods/mapper/StoreGoodsLabelMapper.java
@@ -1,6 +1,6 @@
-package cn.lili.modules.store.mapper;
+package cn.lili.modules.goods.mapper;
-import cn.lili.modules.store.entity.dos.StoreGoodsLabel;
+import cn.lili.modules.goods.entity.dos.StoreGoodsLabel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java
index dbf17a60..f517d5db 100644
--- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java
+++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java
@@ -6,6 +6,7 @@ import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.entity.vos.GoodsVO;
+import cn.lili.modules.store.entity.dos.Store;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -91,21 +92,6 @@ public interface GoodsService extends IService {
*/
boolean auditGoods(List goodsIds, GoodsAuthEnum goodsAuthEnum);
- /**
- * 获取所有的已上架的商品数量
- *
- * @param goodsAuthEnum 商品审核枚举
- * @param goodsStatusEnum 商品状态枚举
- * @return 所有的已上架的商品数量
- */
- Integer goodsNum(GoodsStatusEnum goodsStatusEnum, GoodsAuthEnum goodsAuthEnum);
-
- /**
- * 获取今天的已上架的商品数量
- *
- * @return 今天的已上架的商品数量
- */
- Integer todayUpperNum();
/**
* 更新商品上架状态状态
@@ -148,4 +134,16 @@ public interface GoodsService extends IService {
* @param goodsId 商品ID
*/
void updateGoodsCommentNum(String goodsId);
+
+ /**
+ * 批量更新商品的店铺信息
+ * @param store
+ */
+ void updateStoreDetail(Store store);
+ /**
+ * 统计店铺的商品数量
+ * @param storeId 店铺id
+ */
+ Integer countStoreGoodsNum(String storeId);
+
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java b/framework/src/main/java/cn/lili/modules/goods/service/StoreGoodsLabelService.java
similarity index 88%
rename from framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java
rename to framework/src/main/java/cn/lili/modules/goods/service/StoreGoodsLabelService.java
index dfd70af6..78d763be 100644
--- a/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java
+++ b/framework/src/main/java/cn/lili/modules/goods/service/StoreGoodsLabelService.java
@@ -1,7 +1,7 @@
-package cn.lili.modules.store.service;
+package cn.lili.modules.goods.service;
-import cn.lili.modules.store.entity.dos.StoreGoodsLabel;
-import cn.lili.modules.store.entity.vos.StoreGoodsLabelVO;
+import cn.lili.modules.goods.entity.dos.StoreGoodsLabel;
+import cn.lili.modules.goods.entity.vos.StoreGoodsLabelVO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java
index 5537adf6..e1727397 100644
--- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java
@@ -1,7 +1,7 @@
package cn.lili.modules.goods.serviceimpl;
import cn.hutool.json.JSONUtil;
-import cn.lili.modules.file.plugin.FileManagerPlugin;
+import cn.lili.modules.file.util.FileUtil;
import cn.lili.modules.goods.entity.dos.GoodsGallery;
import cn.lili.modules.goods.mapper.GoodsGalleryMapper;
import cn.lili.modules.goods.service.GoodsGalleryService;
@@ -29,11 +29,6 @@ import java.util.List;
@Service
@Transactional(rollbackFor = Exception.class)
public class GoodsGalleryServiceImpl extends ServiceImpl implements GoodsGalleryService {
- /**
- * 文件
- */
- @Autowired
- private FileManagerPlugin fileManagerPlugin;
/**
* 设置
*/
@@ -65,9 +60,9 @@ public class GoodsGalleryServiceImpl extends ServiceImpl implements
@Override
public List getByBrandIds(List brandIds) {
- LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper ();
- lambdaQueryWrapper.in(Goods::getBrandId,brandIds);
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper();
+ lambdaQueryWrapper.in(Goods::getBrandId, brandIds);
return list(lambdaQueryWrapper);
}
@@ -273,33 +273,6 @@ public class GoodsServiceImpl extends ServiceImpl implements
return result;
}
- @Override
- public Integer goodsNum(GoodsStatusEnum goodsStatusEnum, GoodsAuthEnum goodsAuthEnum) {
- LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery();
-
- queryWrapper.eq(Goods::getDeleteFlag, false);
-
- if (goodsStatusEnum != null) {
- queryWrapper.eq(Goods::getMarketEnable, goodsStatusEnum.name());
- }
- if (goodsAuthEnum != null) {
- queryWrapper.eq(Goods::getIsAuth, goodsAuthEnum.name());
- }
- AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
- queryWrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.STORE.name()),
- Goods::getStoreId, currentUser.getStoreId());
-
- return this.count(queryWrapper);
- }
-
- @Override
- public Integer todayUpperNum() {
- LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name());
- queryWrapper.ge(Goods::getCreateTime, DateUtil.beginOfDay(new DateTime()));
- return this.count(queryWrapper);
- }
-
@Override
public Boolean updateGoodsMarketAble(List goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason) {
boolean result;
@@ -396,6 +369,25 @@ public class GoodsServiceImpl extends ServiceImpl implements
this.updateById(goods);
}
+ @Override
+ public void updateStoreDetail(Store store) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>()
+ .eq("store_id", store.getId())
+ .set("store_name", store.getStoreName())
+ .set("self_operated", store.getSelfOperated());
+ this.update(updateWrapper);
+ goodsSkuService.update(updateWrapper);
+ }
+
+ @Override
+ public Integer countStoreGoodsNum(String storeId) {
+ return this.count(
+ new LambdaQueryWrapper()
+ .eq(Goods::getStoreId, storeId)
+ .eq(Goods::getIsAuth, GoodsAuthEnum.PASS.name())
+ .eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name()));
+ }
+
/**
* 添加商品默认图片
*
@@ -490,12 +482,12 @@ public class GoodsServiceImpl extends ServiceImpl implements
*/
private AuthUser checkStoreAuthority() {
AuthUser currentUser = UserContext.getCurrentUser();
- if (currentUser == null || (currentUser.getRole().equals(UserEnums.STORE) && currentUser.getStoreId() == null)) {
- throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
- } else if (currentUser.getRole().equals(UserEnums.STORE) && currentUser.getStoreId() != null) {
+ //如果当前会员不为空,且为店铺角色
+ if (currentUser != null && (currentUser.getRole().equals(UserEnums.STORE) && currentUser.getStoreId() != null)) {
return currentUser;
+ } else {
+ throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
}
- return null;
}
/**
diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java
index c4be6980..7ac5e90a 100644
--- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java
@@ -535,6 +535,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i
*
* @param goods 商品信息
*/
+ @Override
public void generateEs(Goods goods) {
String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + GoodsTagsEnum.GENERATOR_GOODS_INDEX.name();
//发送mq消息
diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java
similarity index 95%
rename from framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java
rename to framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java
index 9ee94b41..d0967bd1 100644
--- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.store.serviceimpl;
+package cn.lili.modules.goods.serviceimpl;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.cache.Cache;
@@ -7,10 +7,10 @@ import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
-import cn.lili.modules.store.entity.dos.StoreGoodsLabel;
-import cn.lili.modules.store.entity.vos.StoreGoodsLabelVO;
-import cn.lili.modules.store.mapper.StoreGoodsLabelMapper;
-import cn.lili.modules.store.service.StoreGoodsLabelService;
+import cn.lili.modules.goods.entity.dos.StoreGoodsLabel;
+import cn.lili.modules.goods.entity.vos.StoreGoodsLabelVO;
+import cn.lili.modules.goods.mapper.StoreGoodsLabelMapper;
+import cn.lili.modules.goods.service.StoreGoodsLabelService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
diff --git a/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java b/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java
index 03064332..59a05ca4 100644
--- a/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java
+++ b/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java
@@ -3,11 +3,11 @@ package cn.lili.modules.goods.util;
import cn.hutool.json.JSONObject;
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.common.exception.ServiceException;
+import cn.lili.common.utils.HttpUtils;
import cn.lili.modules.goods.entity.dos.Commodity;
import cn.lili.modules.goods.entity.dos.Studio;
import cn.lili.modules.goods.entity.dto.GoodsInfo;
-import cn.lili.modules.message.util.WechatAccessTokenUtil;
-import cn.lili.modules.system.utils.HttpUtils;
+import cn.lili.modules.wechat.util.WechatAccessTokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
diff --git a/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java b/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java
index e429aef4..d94dcdfe 100644
--- a/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java
+++ b/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java
@@ -4,7 +4,7 @@ import cn.hutool.json.JSONObject;
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
-import cn.lili.modules.message.util.WechatAccessTokenUtil;
+import cn.lili.modules.wechat.util.WechatAccessTokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -105,8 +105,9 @@ public class WechatMediaUtil {
} catch (Exception e) {
log.error("微信媒体上传失败", e);
}
+ assert resultStr != null;
JSONObject jsonObject = new JSONObject(resultStr.toString());
- log.info("微信媒体上传:" + jsonObject.toString());
+ log.info("微信媒体上传:" + jsonObject);
//判断是否传递成功,如果token过期则重新获取
if (jsonObject.get("errcode") != null && ("40001").equals(jsonObject.get("errcode"))) {
wechatAccessTokenUtil.removeAccessToken(ClientTypeEnum.WECHAT_MP);
diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/CollectionDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/CollectionDTO.java
new file mode 100644
index 00000000..0ec661e0
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/CollectionDTO.java
@@ -0,0 +1,28 @@
+package cn.lili.modules.member.entity.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * 收藏数量变化DTO
+ *
+ * @author Chopper
+ * @version v1.0
+ * 2021-11-30 10:14
+ */
+@Data
+@AllArgsConstructor
+public class CollectionDTO {
+
+ /**
+ * 变化的模型id
+ * 商品id/店铺id
+ */
+ private String id;
+
+ /**
+ * 变化的数量
+ * -1 减少1 / +1 增加1
+ */
+ private Integer num;
+}
diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/ConnectQueryDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/ConnectQueryDTO.java
new file mode 100644
index 00000000..486a838a
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/ConnectQueryDTO.java
@@ -0,0 +1,32 @@
+package cn.lili.modules.member.entity.dto;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * ConnectQueryDTO
+ *
+ * @author Chopper
+ * @version v1.0
+ * 2021-12-01 14:34
+ */
+@Data
+@Builder
+public class ConnectQueryDTO {
+
+ /**
+ * 用户id
+ */
+ private String userId;
+
+ /**
+ * 第三方id
+ */
+ private String unionId;
+
+ /**
+ * 联合登陆类型
+ */
+ private String unionType;
+
+}
diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java
index 4e214753..32f09fa9 100644
--- a/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java
+++ b/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java
@@ -2,7 +2,6 @@ package cn.lili.modules.member.mapper;
import cn.lili.modules.member.entity.dos.Member;
-import cn.lili.modules.member.entity.vo.MemberDistributionVO;
import cn.lili.modules.member.entity.vo.MemberVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -28,13 +27,6 @@ public interface MemberMapper extends BaseMapper {
@Select("select m.mobile from li_member m")
List getAllMemberMobile();
- /**
- * 获取会员分布列表
- * @return 会员分布列表
- */
- @Select("select client_enum,count(0) as num from li_member group by client_enum")
- List distribution();
-
@Select("select * from li_member ${ew.customSqlSegment}")
IPage pageByMemberVO(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/StoreLogisticsMapper.java
similarity index 97%
rename from framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java
rename to framework/src/main/java/cn/lili/modules/member/mapper/StoreLogisticsMapper.java
index 3c5e8a0a..b37dfa80 100644
--- a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java
+++ b/framework/src/main/java/cn/lili/modules/member/mapper/StoreLogisticsMapper.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.system.mapper;
+package cn.lili.modules.member.mapper;
import cn.lili.modules.store.entity.dos.StoreLogistics;
import cn.lili.modules.system.entity.vo.StoreLogisticsVO;
diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java b/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java
index 7c5792df..44878063 100644
--- a/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java
+++ b/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java
@@ -88,18 +88,5 @@ public interface MemberEvaluationService extends IService {
*/
EvaluationNumberVO getEvaluationNumber(String goodsId);
- /**
- * 获取今天新增的评价数量
- *
- * @return 今日评价数量
- */
- Integer todayMemberEvaluation();
-
- /**
- * 获取等待回复评价数量
- *
- * @return 等待回复评价数量
- */
- Integer getWaitReplyNum();
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java
index c15178a7..294b7301 100644
--- a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java
+++ b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java
@@ -9,7 +9,6 @@ import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.entity.dto.ManagerMemberEditDTO;
import cn.lili.modules.member.entity.dto.MemberAddDTO;
import cn.lili.modules.member.entity.dto.MemberEditDTO;
-import cn.lili.modules.member.entity.vo.MemberDistributionVO;
import cn.lili.modules.member.entity.vo.MemberSearchVO;
import cn.lili.modules.member.entity.vo.MemberVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -198,13 +197,6 @@ public interface MemberService extends IService {
*/
Boolean updateMemberStatus(List memberIds, Boolean status);
- /**
- * 查看会员数据分布
- *
- * @return 会员数据分布
- */
- List distribution();
-
/**
* 根据条件查询会员总数
*
diff --git a/framework/src/main/java/cn/lili/modules/system/service/StoreLogisticsService.java b/framework/src/main/java/cn/lili/modules/member/service/StoreLogisticsService.java
similarity index 96%
rename from framework/src/main/java/cn/lili/modules/system/service/StoreLogisticsService.java
rename to framework/src/main/java/cn/lili/modules/member/service/StoreLogisticsService.java
index 971d1ceb..ea7914de 100644
--- a/framework/src/main/java/cn/lili/modules/system/service/StoreLogisticsService.java
+++ b/framework/src/main/java/cn/lili/modules/member/service/StoreLogisticsService.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.system.service;
+package cn.lili.modules.member.service;
import cn.lili.modules.store.entity.dos.StoreLogistics;
import cn.lili.modules.system.entity.vo.StoreLogisticsVO;
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java
index 692a4b74..1c6e8838 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java
@@ -1,24 +1,18 @@
package cn.lili.modules.member.serviceimpl;
-import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
-import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
-import cn.lili.rocketmq.tags.GoodsTagsEnum;
import cn.lili.common.security.context.UserContext;
-import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
-import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.modules.member.entity.dos.GoodsCollection;
import cn.lili.modules.member.entity.vo.GoodsCollectionVO;
import cn.lili.modules.member.mapper.GoodsCollectionMapper;
import cn.lili.modules.member.service.GoodsCollectionService;
+import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.rocketmq.spring.core.RocketMQTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -33,19 +27,8 @@ import java.util.Optional;
*/
@Service
@Transactional(rollbackFor = Exception.class)
-
public class GoodsCollectionServiceImpl extends ServiceImpl implements GoodsCollectionService {
- /**
- * rocketMq
- */
- @Autowired
- private RocketMQTemplate rocketMQTemplate;
- /**
- * rocketMq配置
- */
- @Autowired
- private RocketmqCustomProperties rocketmqCustomProperties;
@Override
public IPage goodsCollection(PageVO pageVo) {
@@ -73,10 +56,6 @@ public class GoodsCollectionServiceImpl extends ServiceImpl().ge(MemberEvaluation::getCreateTime, DateUtil.beginOfDay(new DateTime())));
- }
-
- @Override
- public Integer getWaitReplyNum() {
- QueryWrapper queryWrapper = Wrappers.query();
- queryWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),
- "store_id", UserContext.getCurrentUser().getStoreId());
- queryWrapper.eq("reply_status", false);
- return this.count(queryWrapper);
- }
-
/**
* 检测会员评价
*
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
index 8936beae..75e16601 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
@@ -14,23 +14,20 @@ import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.security.token.Token;
+import cn.lili.common.sensitive.SensitiveWordsFilter;
import cn.lili.common.utils.BeanUtil;
import cn.lili.common.utils.CookieUtil;
import cn.lili.common.utils.StringUtils;
+import cn.lili.common.utils.UuidUtils;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.connect.config.ConnectAuthEnum;
import cn.lili.modules.connect.entity.Connect;
import cn.lili.modules.connect.entity.dto.ConnectAuthUser;
import cn.lili.modules.connect.service.ConnectService;
-import cn.lili.modules.connect.util.UuidUtils;
import cn.lili.modules.member.aop.annotation.PointLogPoint;
import cn.lili.modules.member.entity.dos.Member;
-import cn.lili.modules.member.entity.dto.ManagerMemberEditDTO;
-import cn.lili.modules.member.entity.dto.MemberAddDTO;
-import cn.lili.modules.member.entity.dto.MemberEditDTO;
-import cn.lili.modules.member.entity.dto.MemberPointMessage;
+import cn.lili.modules.member.entity.dto.*;
import cn.lili.modules.member.entity.enums.PointTypeEnum;
-import cn.lili.modules.member.entity.vo.MemberDistributionVO;
import cn.lili.modules.member.entity.vo.MemberSearchVO;
import cn.lili.modules.member.entity.vo.MemberVO;
import cn.lili.modules.member.mapper.MemberMapper;
@@ -40,12 +37,9 @@ import cn.lili.modules.member.token.StoreTokenGenerate;
import cn.lili.modules.store.entity.dos.Store;
import cn.lili.modules.store.entity.enums.StoreStatusEnum;
import cn.lili.modules.store.service.StoreService;
-import cn.lili.modules.system.utils.CharacterConstant;
-import cn.lili.modules.system.utils.SensitiveWordsFilter;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.MemberTagsEnum;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -352,7 +346,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
}
//过滤会员昵称敏感词
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(managerMemberEditDTO.getNickName())) {
- managerMemberEditDTO.setNickName(SensitiveWordsFilter.filter(managerMemberEditDTO.getNickName(), CharacterConstant.WILDCARD_STAR));
+ managerMemberEditDTO.setNickName(SensitiveWordsFilter.filter(managerMemberEditDTO.getNickName()));
}
//如果密码不为空则加密密码
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(managerMemberEditDTO.getPassword())) {
@@ -429,13 +423,6 @@ public class MemberServiceImpl extends ServiceImpl impleme
return this.update(updateWrapper);
}
-
- @Override
- public List distribution() {
- List memberDistributionVOS = this.baseMapper.distribution();
- return memberDistributionVOS;
- }
-
/**
* 根据手机号获取会员
*
@@ -471,10 +458,9 @@ public class MemberServiceImpl extends ServiceImpl impleme
* @param type 状态
*/
private void loginBindUser(Member member, String unionId, String type) {
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(Connect::getUnionId, unionId);
- queryWrapper.eq(Connect::getUnionType, type);
- Connect connect = connectService.getOne(queryWrapper);
+ Connect connect = connectService.queryConnect(
+ ConnectQueryDTO.builder().unionId(unionId).unionType(type).build()
+ );
if (connect == null) {
connect = new Connect(member.getId(), unionId, type);
connectService.save(connect);
@@ -498,11 +484,9 @@ public class MemberServiceImpl extends ServiceImpl impleme
if (connectAuthUser == null) {
return;
}
- //检测是否已经绑定过用户
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(Connect::getUnionId, connectAuthUser.getUuid());
- queryWrapper.eq(Connect::getUnionType, connectType);
- Connect connect = connectService.getOne(queryWrapper);
+ Connect connect = connectService.queryConnect(
+ ConnectQueryDTO.builder().unionId(connectAuthUser.getUuid()).unionType(connectType).build()
+ );
if (connect == null) {
connect = new Connect(member.getId(), connectAuthUser.getUuid(), connectType);
connectService.save(connect);
@@ -544,10 +528,9 @@ public class MemberServiceImpl extends ServiceImpl impleme
throw new ServiceException(ResultCode.USER_OVERDUE_CONNECT_ERROR);
}
//检测是否已经绑定过用户
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(Connect::getUnionId, connectAuthUser.getUuid());
- queryWrapper.eq(Connect::getUnionType, connectType);
- Connect connect = connectService.getOne(queryWrapper);
+ Connect connect = connectService.queryConnect(
+ ConnectQueryDTO.builder().unionType(connectType).unionId(connectAuthUser.getUuid()).build()
+ );
//没有关联则返回true,表示可以继续绑定
if (connect == null) {
connectAuthUser.setConnectEnum(authInterface);
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java
index b8dbbbe9..bfd798f2 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java
@@ -3,16 +3,19 @@ package cn.lili.modules.member.serviceimpl;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.context.UserContext;
-import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.member.entity.dos.StoreCollection;
+import cn.lili.modules.member.entity.dto.CollectionDTO;
import cn.lili.modules.member.entity.vo.StoreCollectionVO;
import cn.lili.modules.member.mapper.StoreCollectionMapper;
import cn.lili.modules.member.service.StoreCollectionService;
+import cn.lili.modules.store.service.StoreService;
+import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Optional;
@@ -26,6 +29,10 @@ import java.util.Optional;
@Service
public class StoreCollectionServiceImpl extends ServiceImpl implements StoreCollectionService {
+
+ @Autowired
+ private StoreService storeService;
+
@Override
public IPage storeCollection(PageVO pageVo) {
QueryWrapper queryWrapper = new QueryWrapper();
@@ -49,6 +56,7 @@ public class StoreCollectionServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper();
queryWrapper.eq("member_id", UserContext.getCurrentUser().getId());
queryWrapper.eq("store_id", storeId);
+ storeService.updateStoreCollectionNum(new CollectionDTO(storeId, -1));
return this.remove(queryWrapper);
}
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/system/serviceimpl/StoreLogisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreLogisticsServiceImpl.java
similarity index 91%
rename from framework/src/main/java/cn/lili/modules/system/serviceimpl/StoreLogisticsServiceImpl.java
rename to framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreLogisticsServiceImpl.java
index 3f91a3cd..40731cc8 100644
--- a/framework/src/main/java/cn/lili/modules/system/serviceimpl/StoreLogisticsServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreLogisticsServiceImpl.java
@@ -1,9 +1,9 @@
-package cn.lili.modules.system.serviceimpl;
+package cn.lili.modules.member.serviceimpl;
+import cn.lili.modules.member.mapper.StoreLogisticsMapper;
+import cn.lili.modules.member.service.StoreLogisticsService;
import cn.lili.modules.store.entity.dos.StoreLogistics;
import cn.lili.modules.system.entity.vo.StoreLogisticsVO;
-import cn.lili.modules.system.mapper.StoreLogisticsMapper;
-import cn.lili.modules.system.service.StoreLogisticsService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
diff --git a/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java b/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java
index 3789ff56..07caf8c6 100644
--- a/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java
+++ b/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java
@@ -1,12 +1,22 @@
package cn.lili.modules.message.service;
-import com.baomidou.mybatisplus.extension.service.IService;
import cn.lili.modules.message.entity.dos.ShortLink;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
/**
* 短链接 业务层
+ *
* @author Chopper
*/
public interface ShortLinkService extends IService {
+ /**
+ * 根据模型,查询返回的集合
+ *
+ * @param shortLink 短链接模型
+ * @return 端链接集合
+ */
+ List queryShortLinks(ShortLink shortLink);
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java b/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java
index be3ed903..5d734def 100644
--- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java
@@ -3,16 +3,24 @@ package cn.lili.modules.message.serviceimpl;
import cn.lili.modules.message.entity.dos.ShortLink;
import cn.lili.modules.message.mapper.ShortLinkMapper;
import cn.lili.modules.message.service.ShortLinkService;
+import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+
/**
* 短链接 业务实现
+ *
* @author Chopper
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ShortLinkServiceImpl extends ServiceImpl implements ShortLinkService {
+ @Override
+ public List queryShortLinks(ShortLink shortLink) {
+ return this.list(PageUtil.initWrapper(shortLink));
+ }
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleLogPoint.java b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleLogPoint.java
similarity index 90%
rename from framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleLogPoint.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleLogPoint.java
index 7e3dccbe..1e6c2965 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleLogPoint.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleLogPoint.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.aop;
+package cn.lili.modules.order.aftersale.aop;
import java.lang.annotation.*;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleOperationLogAspect.java b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleOperationLogAspect.java
similarity index 93%
rename from framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleOperationLogAspect.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleOperationLogAspect.java
index 43ee90aa..263c4006 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleOperationLogAspect.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleOperationLogAspect.java
@@ -1,12 +1,12 @@
-package cn.lili.modules.order.order.aop;
+package cn.lili.modules.order.aftersale.aop;
import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.SpelUtil;
import cn.lili.common.utils.ThreadPoolUtil;
-import cn.lili.modules.order.order.service.AfterSaleLogService;
-import cn.lili.modules.order.trade.entity.dos.AfterSaleLog;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog;
+import cn.lili.modules.order.aftersale.service.AfterSaleLogService;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
@@ -32,7 +32,7 @@ public class AfterSaleOperationLogAspect {
@Autowired
private AfterSaleLogService afterSaleLogService;
- @AfterReturning(returning = "rvt", pointcut = "@annotation(cn.lili.modules.order.order.aop.AfterSaleLogPoint)")
+ @AfterReturning(returning = "rvt", pointcut = "@annotation(cn.lili.modules.order.aftersale.aop.AfterSaleLogPoint)")
public void afterReturning(JoinPoint joinPoint, Object rvt) {
try {
AuthUser auth = UserContext.getCurrentUser();
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSale.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java
similarity index 97%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSale.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java
index 55ddb87a..52e345b8 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSale.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.entity.dos;
+package cn.lili.modules.order.aftersale.entity.dos;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -142,7 +142,7 @@ public class AfterSale extends BaseEntity {
private String mLogisticsName;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "买家发货时间")
private Date mDeliverTime;
diff --git a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/AfterSaleLog.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleLog.java
similarity index 97%
rename from framework/src/main/java/cn/lili/modules/order/trade/entity/dos/AfterSaleLog.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleLog.java
index 046391c7..af5bb3e1 100644
--- a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/AfterSaleLog.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleLog.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.trade.entity.dos;
+package cn.lili.modules.order.aftersale.entity.dos;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.mybatis.BaseIdEntity;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSaleReason.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleReason.java
similarity index 93%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSaleReason.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleReason.java
index b9b0dd41..e0370f1e 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSaleReason.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleReason.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.entity.dos;
+package cn.lili.modules.order.aftersale.entity.dos;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSaleDTO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSaleDTO.java
similarity index 96%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSaleDTO.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSaleDTO.java
index 20e110c7..09c39259 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSaleDTO.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSaleDTO.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.entity.dto;
+package cn.lili.modules.order.aftersale.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSalePriceDetailDTO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java
similarity index 97%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSalePriceDetailDTO.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java
index bc16120f..1f126b9e 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSalePriceDetailDTO.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.entity.dto;
+package cn.lili.modules.order.aftersale.entity.dto;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/ComplaintStatusEnum.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/enums/ComplaintStatusEnum.java
similarity index 92%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/enums/ComplaintStatusEnum.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/enums/ComplaintStatusEnum.java
index 6877ec75..67d173bf 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/ComplaintStatusEnum.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/enums/ComplaintStatusEnum.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.entity.enums;
+package cn.lili.modules.order.aftersale.entity.enums;
/**
* 交易投诉状态
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleAllowOperation.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleAllowOperation.java
similarity index 94%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleAllowOperation.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleAllowOperation.java
index b830279a..cc449ad1 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleAllowOperation.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleAllowOperation.java
@@ -1,6 +1,6 @@
-package cn.lili.modules.order.order.entity.vo;
+package cn.lili.modules.order.aftersale.entity.vo;
-import cn.lili.modules.order.order.entity.dos.AfterSale;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleApplyVO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleApplyVO.java
similarity index 91%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleApplyVO.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleApplyVO.java
index a05a416f..9d6577af 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleApplyVO.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleApplyVO.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.entity.vo;
+package cn.lili.modules.order.aftersale.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -54,5 +54,10 @@ public class AfterSaleApplyVO {
@ApiModelProperty(value = "是否支持退款")
private Boolean returnMoney;
+ @ApiModelProperty(value = "会员ID")
+ private String memberId;
+
+
+
}
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleSearchParams.java
similarity index 98%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleSearchParams.java
index 1da92246..6c8bfcd1 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleSearchParams.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.entity.vo;
+package cn.lili.modules.order.aftersale.entity.vo;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleVO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java
similarity index 67%
rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleVO.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java
index 4fdc10b5..28766e48 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleVO.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java
@@ -1,7 +1,6 @@
-package cn.lili.modules.order.order.entity.vo;
+package cn.lili.modules.order.aftersale.entity.vo;
-import cn.lili.modules.order.order.entity.dos.AfterSale;
-import jdk.nashorn.internal.objects.annotations.Getter;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
import lombok.Data;
/**
@@ -15,7 +14,6 @@ public class AfterSaleVO extends AfterSale {
/**
* 初始化自身状态
*/
- @Getter
public AfterSaleAllowOperation getAfterSaleAllowOperationVO() {
//设置订单的可操作状态
diff --git a/framework/src/main/java/cn/lili/modules/order/trade/mapper/AfterSaleLogMapper.java b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleLogMapper.java
similarity index 66%
rename from framework/src/main/java/cn/lili/modules/order/trade/mapper/AfterSaleLogMapper.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleLogMapper.java
index 4bb728e3..a1f59f19 100644
--- a/framework/src/main/java/cn/lili/modules/order/trade/mapper/AfterSaleLogMapper.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleLogMapper.java
@@ -1,6 +1,6 @@
-package cn.lili.modules.order.trade.mapper;
+package cn.lili.modules.order.aftersale.mapper;
-import cn.lili.modules.order.trade.entity.dos.AfterSaleLog;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleMapper.java b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleMapper.java
similarity index 85%
rename from framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleMapper.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleMapper.java
index 9ee2ceb3..7cad30d5 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleMapper.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleMapper.java
@@ -1,7 +1,7 @@
-package cn.lili.modules.order.order.mapper;
+package cn.lili.modules.order.aftersale.mapper;
-import cn.lili.modules.order.order.entity.dos.AfterSale;
-import cn.lili.modules.order.order.entity.vo.AfterSaleVO;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
+import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleReasonMapper.java b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleReasonMapper.java
similarity index 66%
rename from framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleReasonMapper.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleReasonMapper.java
index 2cfe9d2f..a1298b83 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleReasonMapper.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleReasonMapper.java
@@ -1,6 +1,6 @@
-package cn.lili.modules.order.order.mapper;
+package cn.lili.modules.order.aftersale.mapper;
-import cn.lili.modules.order.order.entity.dos.AfterSaleReason;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleLogService.java b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleLogService.java
similarity index 78%
rename from framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleLogService.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleLogService.java
index a5a19a7f..dc7ddf71 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleLogService.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleLogService.java
@@ -1,6 +1,6 @@
-package cn.lili.modules.order.order.service;
+package cn.lili.modules.order.aftersale.service;
-import cn.lili.modules.order.trade.entity.dos.AfterSaleLog;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleReasonService.java b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleReasonService.java
similarity index 83%
rename from framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleReasonService.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleReasonService.java
index 54ae530d..eee8437e 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleReasonService.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleReasonService.java
@@ -1,6 +1,6 @@
-package cn.lili.modules.order.order.service;
+package cn.lili.modules.order.aftersale.service;
-import cn.lili.modules.order.order.entity.dos.AfterSaleReason;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleService.java b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleService.java
similarity index 78%
rename from framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleService.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleService.java
index 6af2ebe2..9a16a4cb 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleService.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleService.java
@@ -1,13 +1,11 @@
-package cn.lili.modules.order.order.service;
+package cn.lili.modules.order.aftersale.service;
-import cn.lili.common.vo.PageVO;
-import cn.lili.modules.order.order.entity.dos.AfterSale;
-import cn.lili.modules.order.order.entity.dto.AfterSaleDTO;
-import cn.lili.modules.order.order.entity.vo.AfterSaleApplyVO;
-import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams;
-import cn.lili.modules.order.order.entity.vo.AfterSaleVO;
-import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
+import cn.lili.modules.order.aftersale.entity.dto.AfterSaleDTO;
+import cn.lili.modules.order.aftersale.entity.vo.AfterSaleApplyVO;
+import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams;
+import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO;
import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO;
import cn.lili.modules.system.entity.vo.Traces;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -129,13 +127,6 @@ public interface AfterSaleService extends IService {
*/
AfterSale cancel(String afterSaleSn);
- /**
- * 获取待处理售后数量
- *
- * @param serviceType 售后类型
- * @return 待处理售后数量
- */
- Integer applyNum(String serviceType);
/**
* 根据售后单号获取店铺退货收货地址信息
@@ -145,12 +136,4 @@ public interface AfterSaleService extends IService {
*/
StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String sn);
- /**
- * 获取统计的售后
- *
- * @param statisticsQueryParam 统计搜索参数
- * @param pageVO 分页
- * @return 售后分页列表
- */
- IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO);
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java
similarity index 76%
rename from framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleLogServiceImpl.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java
index e35fd44f..116ea608 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleLogServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java
@@ -1,8 +1,8 @@
-package cn.lili.modules.order.order.serviceimpl;
+package cn.lili.modules.order.aftersale.serviceimpl;
-import cn.lili.modules.order.order.service.AfterSaleLogService;
-import cn.lili.modules.order.trade.entity.dos.AfterSaleLog;
-import cn.lili.modules.order.trade.mapper.AfterSaleLogMapper;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog;
+import cn.lili.modules.order.aftersale.mapper.AfterSaleLogMapper;
+import cn.lili.modules.order.aftersale.service.AfterSaleLogService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleReasonServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java
similarity index 85%
rename from framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleReasonServiceImpl.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java
index 991b38dc..df094942 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleReasonServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java
@@ -1,8 +1,8 @@
-package cn.lili.modules.order.order.serviceimpl;
+package cn.lili.modules.order.aftersale.serviceimpl;
-import cn.lili.modules.order.order.entity.dos.AfterSaleReason;
-import cn.lili.modules.order.order.mapper.AfterSaleReasonMapper;
-import cn.lili.modules.order.order.service.AfterSaleReasonService;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason;
+import cn.lili.modules.order.aftersale.mapper.AfterSaleReasonMapper;
+import cn.lili.modules.order.aftersale.service.AfterSaleReasonService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java
similarity index 75%
rename from framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java
rename to framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java
index c8c86a29..9d2c3260 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java
@@ -1,4 +1,4 @@
-package cn.lili.modules.order.order.serviceimpl;
+package cn.lili.modules.order.aftersale.serviceimpl;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.NumberUtil;
@@ -7,26 +7,25 @@ import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.OperationalJudgment;
import cn.lili.common.security.context.UserContext;
-import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.BeanUtil;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.common.utils.SnowFlake;
-import cn.lili.common.vo.PageVO;
-import cn.lili.modules.order.order.aop.AfterSaleLogPoint;
-import cn.lili.modules.order.order.entity.dos.AfterSale;
+import cn.lili.modules.order.aftersale.aop.AfterSaleLogPoint;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
+import cn.lili.modules.order.aftersale.entity.dto.AfterSaleDTO;
+import cn.lili.modules.order.aftersale.entity.vo.AfterSaleApplyVO;
+import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams;
+import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO;
+import cn.lili.modules.order.aftersale.mapper.AfterSaleMapper;
+import cn.lili.modules.order.aftersale.service.AfterSaleService;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dos.OrderItem;
-import cn.lili.modules.order.order.entity.dto.AfterSaleDTO;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderTypeEnum;
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
-import cn.lili.modules.order.order.entity.vo.AfterSaleApplyVO;
-import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams;
-import cn.lili.modules.order.order.entity.vo.AfterSaleVO;
-import cn.lili.modules.order.order.mapper.AfterSaleMapper;
-import cn.lili.modules.order.order.service.AfterSaleService;
import cn.lili.modules.order.order.service.OrderItemService;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.order.trade.entity.enums.AfterSaleRefundWayEnum;
@@ -34,15 +33,12 @@ import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum;
import cn.lili.modules.order.trade.entity.enums.AfterSaleTypeEnum;
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
import cn.lili.modules.payment.kit.RefundSupport;
-import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
-import cn.lili.modules.statistics.util.StatisticsDateUtil;
import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO;
import cn.lili.modules.store.service.StoreDetailService;
import cn.lili.modules.system.aspect.annotation.SystemLogPoint;
import cn.lili.modules.system.entity.dos.Logistics;
import cn.lili.modules.system.entity.vo.Traces;
import cn.lili.modules.system.service.LogisticsService;
-import cn.lili.modules.system.utils.OperationalJudgment;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.AfterSaleTagsEnum;
@@ -60,6 +56,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 售后业务层实现
@@ -165,6 +162,7 @@ public class AfterSaleServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(AfterSale::getServiceStatus, AfterSaleStatusEnum.APPLY.name());
- queryWrapper.eq(CharSequenceUtil.isNotEmpty(serviceType), AfterSale::getServiceType, serviceType);
- queryWrapper.eq(CharSequenceUtil.equals(authUser.getRole().name(), UserEnums.STORE.name()),
- AfterSale::getStoreId, authUser.getStoreId());
- return this.count(queryWrapper);
- }
-
@Override
public StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String sn) {
return storeDetailService.getStoreAfterSaleAddressDTO(OperationalJudgment.judgment(this.getBySn(sn)).getStoreId());
}
- @Override
- public IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) {
-
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam);
- queryWrapper.between(AfterSale::getCreateTime, dates[0], dates[1]);
- queryWrapper.eq(CharSequenceUtil.isNotEmpty(statisticsQueryParam.getStoreId()), AfterSale::getStoreId, statisticsQueryParam.getStoreId());
-
- return this.page(PageUtil.initPage(pageVO), queryWrapper);
- }
-
/**
* 创建售后
*
@@ -441,15 +422,54 @@ public class AfterSaleServiceImpl extends ServiceImpl()
+ .eq(OrderItem::getOrderSn, afterSale.getOrderSn())
+ .eq(OrderItem::getSkuId, afterSale.getSkuId()));
+ AfterSaleStatusEnum afterSaleStatusEnum = AfterSaleStatusEnum.valueOf(afterSale.getServiceStatus());
+
+ switch (afterSaleStatusEnum) {
+ //判断当前售后的状态---申请中
+ case APPLY: {
+ orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + afterSale.getNum());
+ break;
+ }
+
+ //判断当前售后的状态---已拒绝,买家取消售后,卖家终止售后
+ case REFUSE:
+ case BUYER_CANCEL:
+ case SELLER_TERMINATION: {
+ orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() - afterSale.getNum());
+ break;
+ }
+ default:
+ break;
+ }
+ //修改orderItem订单
+ this.updateOrderItem(orderItem);
+ }
+
+
/**
* 检查当前订单状态是否为可申请当前售后类型的状态
*
@@ -465,11 +485,17 @@ public class AfterSaleServiceImpl extends ServiceImpl (orderItem.getNum() - orderItem.getReturnGoodsNumber())) {
+ throw new ServiceException(ResultCode.AFTER_GOODS_NUMBER_ERROR);
+ }
+
+
//获取售后类型
Order order = orderService.getBySn(orderItem.getOrderSn());
AfterSaleTypeEnum afterSaleTypeEnum = AfterSaleTypeEnum.valueOf(afterSaleDTO.getServiceType());
@@ -531,6 +557,7 @@ public class AfterSaleServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaUpdate();
queryWrapper.eq(AfterSale::getSn, afterSaleSn);
this.update(afterSale, queryWrapper);
@@ -547,4 +574,76 @@ public class AfterSaleServiceImpl extends ServiceImpl afterSaleList) {
+ //根据售后状态获取不是已结束的售后记录
+ List implementList = afterSaleList.stream()
+ .filter(afterSale -> afterSale.getServiceStatus().equals(AfterSaleStatusEnum.APPLY.name())
+ || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.PASS.name())
+ || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.BUYER_RETURN.name())
+ || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.SELLER_CONFIRM.name())
+ || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.WAIT_REFUND.name())
+ || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.COMPLETE.name()))
+ .collect(Collectors.toList());
+
+ if (!implementList.isEmpty()) {
+ //遍历售后记录获取售后商品数量
+ implementList.forEach(a -> orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum()));
+ }
+
+ //获取已完成售后订单数量
+ List completeList = afterSaleList.stream()
+ .filter(afterSale -> afterSale.getServiceStatus().equals(AfterSaleStatusEnum.COMPLETE.name()))
+ .collect(Collectors.toList());
+
+ if (!completeList.isEmpty()) {
+ //遍历售后记录获取已完成售后商品数量
+ completeList.forEach(a -> orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum()));
+ }
+ }
+
+ /**
+ * 功能描述: 修改orderItem订单
+ *
+ * @param orderItem
+ * @return void
+ * @author ftyy
+ **/
+ private void updateOrderItem(OrderItem orderItem) {
+ //订单状态不能为新订单,已失效订单或未申请订单才可以去修改订单信息
+ OrderItemAfterSaleStatusEnum afterSaleTypeEnum = OrderItemAfterSaleStatusEnum.valueOf(orderItem.getAfterSaleStatus());
+ switch (afterSaleTypeEnum) {
+ //售后状态为:未申请 部分售后 已申请
+ case NOT_APPLIED:
+ case PART_AFTER_SALE:
+ case ALREADY_APPLIED: {
+ //通过正在售后商品总数修改订单售后状态
+ if (orderItem.getReturnGoodsNumber().equals(orderItem.getNum())) {
+ //修改订单的售后状态--已申请
+ orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.ALREADY_APPLIED.name());
+ } else if (orderItem.getReturnGoodsNumber().equals(0)) {
+ //修改订单的售后状态--未申请
+ orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name());
+ } else {
+ //修改订单的售后状态--部分售后
+ orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.PART_AFTER_SALE.name());
+ }
+ break;
+ }
+
+ default:
+ break;
+ }
+ orderItemService.update(new LambdaUpdateWrapper()
+ .eq(OrderItem::getSn, orderItem.getSn())
+ .set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus())
+ .set(OrderItem::getReturnGoodsNumber, orderItem.getReturnGoodsNumber()));
+ }
+
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java
index 75cfa3bd..dd15fbb8 100644
--- a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java
+++ b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java
@@ -97,7 +97,7 @@ public class TradeBuilder {
renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender);
}
-
+ //添加order订单及order_item子订单并返回
return tradeService.createTrade(tradeDTO);
}
diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java
index 9354cf6b..72fb5806 100644
--- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java
@@ -397,11 +397,8 @@ public class CartServiceImpl implements CartService {
private void checkSetGoodsQuantity(CartSkuVO cartSkuVO, String skuId, Integer num) {
Integer enableStock = goodsSkuService.getStock(skuId);
- //读取sku的可用库存
- Integer enableQuantity = goodsSkuService.getStock(skuId);
-
//如果sku的可用库存小于等于0或者小于用户购买的数量,则不允许购买
- if (enableQuantity <= 0 || enableQuantity < num) {
+ if (enableStock <= 0 || enableStock < num) {
throw new ServiceException(ResultCode.GOODS_SKU_QUANTITY_NOT_ENOUGH);
}
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java
index c125c8b6..9b3111de 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java
@@ -1,6 +1,6 @@
package cn.lili.modules.order.order.entity.dos;
-import cn.lili.modules.order.order.entity.enums.ComplaintStatusEnum;
+import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java
index 631bc5fe..ae8c270f 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java
@@ -112,6 +112,10 @@ public class OrderItem extends BaseEntity {
@ApiModelProperty(value = "交易投诉id")
private String complainId;
+ @ApiModelProperty(value = "退货商品数量")
+ private Integer returnGoodsNumber;
+
+
public OrderItem(CartSkuVO cartSkuVO, CartVO cartVO, TradeDTO tradeDTO) {
String oldId = this.getId();
BeanUtil.copyProperties(cartSkuVO.getGoodsSku(), this);
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java
new file mode 100644
index 00000000..958b47ba
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java
@@ -0,0 +1,38 @@
+package cn.lili.modules.order.order.entity.dto;
+
+import cn.lili.common.vo.PageVO;
+import cn.lili.modules.store.entity.dos.Bill;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * 店铺流水查询DTO
+ *
+ * @author Chopper
+ * @version v1.0
+ * 2021-12-08 10:53
+ */
+@Data
+@Builder
+public class StoreFlowQueryDTO {
+
+ @ApiModelProperty(value = "类型")
+ private String type;
+
+ @ApiModelProperty(value = "售后编号")
+ private String refundSn;
+
+ @ApiModelProperty(value = "售后编号")
+ private String orderSn;
+
+ @ApiModelProperty(value = "过滤只看分销订单")
+ private Boolean justDistribution;
+
+ @ApiModelProperty("结算单")
+ private Bill bill;
+
+ @ApiModelProperty(value = "分页")
+ private PageVO pageVO;
+
+}
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java
index 00a34619..88f752c5 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java
@@ -14,7 +14,9 @@ public enum OrderItemAfterSaleStatusEnum {
NEW("新订单,不能申请售后"),
NOT_APPLIED("未申请"),
ALREADY_APPLIED("已申请"),
- EXPIRED("已失效不允许申请售后");
+ EXPIRED("已失效不允许申请售后"),
+ PART_AFTER_SALE("部分售后");
+
private final String description;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java
index 025e54cd..7b676630 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java
@@ -1,8 +1,8 @@
package cn.lili.modules.order.order.entity.vo;
import cn.hutool.core.util.StrUtil;
+import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum;
import cn.lili.modules.order.order.entity.dos.OrderComplaint;
-import cn.lili.modules.order.order.entity.enums.ComplaintStatusEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
index f92610ad..6a62e8fd 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
@@ -31,6 +31,28 @@ public interface OrderMapper extends BaseMapper {
@Update({"update li_order set order_status = #{status} where sn = #{orderSn}"})
void updateStatus(String status, String orderSn);
+ /**
+ * 查询导出订单DTO列表
+ *
+ * @param queryWrapper 查询条件
+ * @return 导出订单DTO列表
+ */
+ @Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," +
+ "o.payment_method, o.logistics_name,o.freight_price,o.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," +
+ "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order o LEFT JOIN li_order_item oi " +
+ "ON oi.order_sn=o.sn ${ew.customSqlSegment}")
+ List queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper);
+
+ /**
+ * 查询订单支付记录
+ *
+ * @param page 分页
+ * @param queryWrapper 查询条件
+ * @return 订单支付记录分页
+ */
+ @Select("select * from li_order ${ew.customSqlSegment} ")
+ IPage queryPaymentLogs(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);
+
/**
* 查询订单简短信息分页
*
@@ -63,26 +85,4 @@ public interface OrderMapper extends BaseMapper {
List queryListByParams(@Param(Constants.WRAPPER) Wrapper queryWrapper);
- /**
- * 查询导出订单DTO列表
- *
- * @param queryWrapper 查询条件
- * @return 导出订单DTO列表
- */
- @Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," +
- "o.payment_method, o.logistics_name,o.freight_price,o.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," +
- "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order o LEFT JOIN li_order_item oi " +
- "ON oi.order_sn=o.sn ${ew.customSqlSegment}")
- List queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper);
-
- /**
- * 查询订单支付记录
- *
- * @param page 分页
- * @param queryWrapper 查询条件
- * @return 订单支付记录分页
- */
- @Select("select * from li_order ${ew.customSqlSegment} ")
- IPage queryPaymentLogs(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);
-
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java
index cee318a2..ca3c3f4a 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java
@@ -58,4 +58,12 @@ public interface OrderItemService extends IService {
*/
List getByOrderSn(String orderSn);
+ /**
+ * 子订单查询
+ *
+ * @param orderSn 订单编号
+ * @param skuId skuid
+ * @return 子订单
+ */
+ OrderItem getByOrderSnAndSkuId(String orderSn, String skuId);
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java
index 64d45791..abbd337a 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java
@@ -1,6 +1,5 @@
package cn.lili.modules.order.order.service;
-import cn.lili.common.vo.PageVO;
import cn.lili.modules.member.entity.dto.MemberAddressDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.order.entity.dos.Order;
@@ -9,8 +8,9 @@ import cn.lili.modules.order.order.entity.dto.OrderMessage;
import cn.lili.modules.order.order.entity.dto.OrderSearchParams;
import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
-import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
+import cn.lili.modules.order.order.entity.vo.PaymentLog;
import cn.lili.modules.system.entity.vo.Traces;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
@@ -226,16 +226,6 @@ public interface OrderService extends IService {
*/
void deleteOrder(String sn);
- /**
- * 获取统计的订单
- *
- * @param statisticsQueryParam
- * @param pageVO
- * @return
- */
- IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO);
-
-
/**
* 开具发票
*
@@ -275,4 +265,13 @@ public interface OrderService extends IService {
* @return 金额
*/
Double getPaymentTotal(String orderSn);
+
+ /**
+ * 查询订单支付记录
+ *
+ * @param page 分页
+ * @param queryWrapper 查询条件
+ * @return 订单支付记录分页
+ */
+ IPage queryPaymentLogs(IPage page, Wrapper queryWrapper);
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java b/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java
index 83d07d57..ff879435 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java
@@ -1,12 +1,15 @@
package cn.lili.modules.order.order.service;
import cn.lili.common.vo.PageVO;
-import cn.lili.modules.order.order.entity.dos.AfterSale;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
import cn.lili.modules.order.order.entity.dos.StoreFlow;
+import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO;
+import cn.lili.modules.store.entity.vos.StoreFlowPayDownloadVO;
+import cn.lili.modules.store.entity.vos.StoreFlowRefundDownloadVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
-import java.util.Date;
+import java.util.List;
/**
* 商家订单流水业务层
@@ -33,14 +36,61 @@ public interface StoreFlowService extends IService {
/**
* 获取商家流水
*
- * @param storeId 商家ID
- * @param type 收入、退款
- * @param distribution 是否查看分销相关数据
- * @param pageVO 分页
- * @param startTime 开始时间
- * @param endTime 结束时间
- * @return
+ * @param storeFlowQueryDTO 查询参数
+ * @return 返回分页
*/
- IPage getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime);
+ IPage getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO);
+ /**
+ * 根据参数查询一条数据
+ *
+ * @param storeFlowQueryDTO 查询参数
+ * @return 返回分页
+ */
+ StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO);
+
+ /**
+ * 获取结算单地入账流水
+ *
+ * @param storeFlowQueryDTO 查询条件
+ * @return 入账流水
+ */
+ List getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO);
+
+ /**
+ * 获取结算单的退款流水
+ *
+ * @param storeFlowQueryDTO 查询条件
+ * @return 退款流水
+ */
+ List getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO);
+
+
+ /**
+ * 根据结算单ID获取商家流水
+ *
+ * @param pageVO 分页
+ * @param id 结算单ID
+ * @param type 类型
+ * @return 商家流水
+ */
+ IPage getStoreFlow(String id, String type, PageVO pageVO);
+
+ /**
+ * 根据结算单ID获取商家流水
+ *
+ * @param pageVO 分页
+ * @param id 结算单ID
+ * @return 商家流水
+ */
+ IPage getDistributionFlow(String id, PageVO pageVO);
+
+
+ /**
+ * 获取店铺流水
+ *
+ * @param storeFlowQueryDTO 店铺流水查询参数
+ * @return 商家流水集合
+ */
+ List listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO);
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java
index bd857b65..53746d82 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.OperationalJudgment;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.BeanUtil;
@@ -11,11 +12,11 @@ import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.service.GoodsSkuService;
+import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum;
import cn.lili.modules.order.order.entity.dos.OrderComplaint;
import cn.lili.modules.order.order.entity.dos.OrderComplaintCommunication;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dto.OrderComplaintDTO;
-import cn.lili.modules.order.order.entity.enums.ComplaintStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
import cn.lili.modules.order.order.entity.vo.*;
import cn.lili.modules.order.order.mapper.OrderComplaintMapper;
@@ -23,7 +24,6 @@ import cn.lili.modules.order.order.service.OrderComplaintCommunicationService;
import cn.lili.modules.order.order.service.OrderComplaintService;
import cn.lili.modules.order.order.service.OrderItemService;
import cn.lili.modules.order.order.service.OrderService;
-import cn.lili.modules.system.utils.OperationalJudgment;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java
index 7579de46..428ecb95 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java
@@ -9,14 +9,12 @@ import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.service.OrderItemService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Date;
import java.util.List;
/**
@@ -80,4 +78,10 @@ public class OrderItemServiceImpl extends ServiceImpl()
+ .eq(OrderItem::getOrderSn, orderSn)
+ .eq(OrderItem::getSkuId, skuId));
+ }
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java
index 735e8808..ca75fd41 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java
@@ -3,6 +3,7 @@ package cn.lili.modules.order.order.serviceimpl;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
+import cn.lili.common.security.OperationalJudgment;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.modules.order.order.aop.OrderLogPoint;
import cn.lili.modules.order.order.entity.dos.Order;
@@ -15,7 +16,6 @@ import cn.lili.modules.order.order.service.OrderPriceService;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.payment.kit.plugin.bank.BankTransferPlugin;
import cn.lili.modules.system.aspect.annotation.SystemLogPoint;
-import cn.lili.modules.system.utils.OperationalJudgment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
index d92799dd..d3844817 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -12,10 +12,10 @@ import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
+import cn.lili.common.security.OperationalJudgment;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.StringUtils;
-import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage;
import cn.lili.modules.member.entity.dto.MemberAddressDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
@@ -32,6 +32,7 @@ import cn.lili.modules.order.order.entity.enums.*;
import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
import cn.lili.modules.order.order.entity.vo.OrderVO;
+import cn.lili.modules.order.order.entity.vo.PaymentLog;
import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.mapper.OrderMapper;
import cn.lili.modules.order.order.service.*;
@@ -40,23 +41,21 @@ import cn.lili.modules.order.trade.service.OrderLogService;
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.service.PintuanService;
-import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
-import cn.lili.modules.statistics.util.StatisticsDateUtil;
import cn.lili.modules.system.aspect.annotation.SystemLogPoint;
import cn.lili.modules.system.entity.dos.Logistics;
import cn.lili.modules.system.entity.vo.Traces;
import cn.lili.modules.system.service.LogisticsService;
-import cn.lili.modules.system.utils.OperationalJudgment;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.GoodsTagsEnum;
-import cn.lili.rocketmq.tags.MqOrderTagsEnum;
+import cn.lili.rocketmq.tags.OrderTagsEnum;
import cn.lili.trigger.enums.DelayTypeEnums;
import cn.lili.trigger.interfaces.TimeTrigger;
import cn.lili.trigger.message.PintuanOrderMessage;
import cn.lili.trigger.model.TimeExecuteConstant;
import cn.lili.trigger.model.TimeTriggerMsg;
import cn.lili.trigger.util.DelayQueueTools;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -524,7 +523,7 @@ public class OrderServiceImpl extends ServiceImpl implements
@Override
public void sendUpdateStatusMessage(OrderMessage orderMessage) {
- String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name();
+ String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name();
//发送订单变更mq消息
rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(orderMessage), RocketmqSendCallbackBuilder.commonCallback());
}
@@ -544,21 +543,6 @@ public class OrderServiceImpl extends ServiceImpl implements
this.orderItemService.update(orderItemLambdaUpdateWrapper);
}
- @Override
- public IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) {
-
- QueryWrapper queryWrapper = new QueryWrapper<>();
- Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam);
- queryWrapper.between("o.create_time", dates[0], dates[1]);
- queryWrapper.eq(StringUtils.isNotEmpty(statisticsQueryParam.getStoreId()),
- "o.store_id", statisticsQueryParam.getStoreId());
-
- queryWrapper.eq("o.delete_flag", false);
- queryWrapper.groupBy("o.id");
- queryWrapper.orderByDesc("o.id");
- return this.baseMapper.queryByParams(PageUtil.initPage(pageVO), queryWrapper);
- }
-
@Override
public Boolean invoice(String sn) {
//根据订单号查询发票信息
@@ -663,6 +647,11 @@ public class OrderServiceImpl extends ServiceImpl implements
return order.getFlowPrice();
}
+ @Override
+ public IPage queryPaymentLogs(IPage page, Wrapper queryWrapper) {
+ return baseMapper.queryPaymentLogs(page, queryWrapper);
+ }
+
/**
* 循环检查批量发货订单列表
*
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java
index 4659197d..da22d3ab 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java
@@ -1,11 +1,15 @@
package cn.lili.modules.order.order.serviceimpl;
-import cn.lili.common.utils.*;
+import cn.lili.common.utils.BeanUtil;
+import cn.lili.common.utils.CurrencyUtil;
+import cn.lili.common.utils.SnowFlake;
+import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO;
-import cn.lili.modules.order.order.entity.dos.AfterSale;
+import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dos.StoreFlow;
+import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO;
import cn.lili.modules.order.order.entity.enums.FlowTypeEnum;
import cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum;
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
@@ -15,6 +19,10 @@ import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.order.order.service.StoreFlowService;
import cn.lili.modules.payment.entity.RefundLog;
import cn.lili.modules.payment.service.RefundLogService;
+import cn.lili.modules.store.entity.dos.Bill;
+import cn.lili.modules.store.entity.vos.StoreFlowPayDownloadVO;
+import cn.lili.modules.store.entity.vos.StoreFlowRefundDownloadVO;
+import cn.lili.modules.store.service.BillService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -26,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Date;
import java.util.List;
/**
@@ -56,6 +63,9 @@ public class StoreFlowServiceImpl extends ServiceImpl().eq(StoreFlow::getOrderItemSn, afterSale.getOrderItemSn()));
+ StoreFlow payStoreFlow = this.getOne(new LambdaUpdateWrapper().eq(StoreFlow::getOrderItemSn, afterSale.getOrderItemSn())
+ .eq(StoreFlow::getFlowType, FlowTypeEnum.PAY));
storeFlow.setNum(afterSale.getNum());
storeFlow.setCategoryId(payStoreFlow.getCategoryId());
//佣金
@@ -151,20 +162,84 @@ public class StoreFlowServiceImpl extends ServiceImpl().eq(RefundLog::getAfterSaleNo, afterSale.getSn()));
+ RefundLog refundLog = refundLogService.queryByAfterSaleSn(afterSale.getSn());
storeFlow.setTransactionId(refundLog.getReceivableNo());
storeFlow.setPaymentName(refundLog.getPaymentName());
this.save(storeFlow);
}
@Override
- public IPage getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime) {
+ public IPage getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) {
+
+ return this.page(PageUtil.initPage(storeFlowQueryDTO.getPageVO()), generatorQueryWrapper(storeFlowQueryDTO));
+ }
+
+ @Override
+ public StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO) {
+ return this.getOne(generatorQueryWrapper(storeFlowQueryDTO));
+ }
+
+ @Override
+ public List getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) {
+ return baseMapper.getStoreFlowPayDownloadVO(generatorQueryWrapper(storeFlowQueryDTO));
+ }
+
+ @Override
+ public List getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) {
+ return baseMapper.getStoreFlowRefundDownloadVO(generatorQueryWrapper(storeFlowQueryDTO));
+ }
+
+
+ @Override
+ public IPage getStoreFlow(String id, String type, PageVO pageVO) {
+ Bill bill = billService.getById(id);
+ return this.getStoreFlow(StoreFlowQueryDTO.builder().type(type).pageVO(pageVO).bill(bill).build());
+ }
+
+ @Override
+ public IPage getDistributionFlow(String id, PageVO pageVO) {
+ Bill bill = billService.getById(id);
+ return this.getStoreFlow(StoreFlowQueryDTO.builder().pageVO(pageVO).bill(bill).build());
+ }
+
+ @Override
+ public List listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) {
+ return this.list(generatorQueryWrapper(storeFlowQueryDTO));
+ }
+
+ /**
+ * 生成查询wrapper
+ *
+ * @param storeFlowQueryDTO 搜索参数
+ * @return 查询wrapper
+ */
+ private LambdaQueryWrapper generatorQueryWrapper(StoreFlowQueryDTO storeFlowQueryDTO) {
+
LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery();
- lambdaQueryWrapper.eq(StoreFlow::getStoreId, storeId);
- lambdaQueryWrapper.isNotNull(distribution, StoreFlow::getDistributionRebate);
- lambdaQueryWrapper.between(StoreFlow::getCreateTime, startTime, endTime);
- lambdaQueryWrapper.eq(StringUtils.isNotEmpty(type), StoreFlow::getFlowType, type);
- return this.page(PageUtil.initPage(pageVO), lambdaQueryWrapper);
+ //分销订单过滤是否判定
+ lambdaQueryWrapper.isNotNull(storeFlowQueryDTO.getJustDistribution() != null && storeFlowQueryDTO.getJustDistribution(),
+ StoreFlow::getDistributionRebate);
+
+ //流水类型判定
+ lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getType()),
+ StoreFlow::getFlowType, storeFlowQueryDTO.getType());
+
+ //售后编号判定
+ lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getRefundSn()),
+ StoreFlow::getRefundSn, storeFlowQueryDTO.getRefundSn());
+
+ //售后编号判定
+ lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getOrderSn()),
+ StoreFlow::getOrderSn, storeFlowQueryDTO.getOrderSn());
+
+ //结算单非空,则校对结算单参数
+ if (storeFlowQueryDTO.getBill() != null) {
+ Bill bill = storeFlowQueryDTO.getBill();
+ lambdaQueryWrapper.eq(StringUtils.isNotEmpty(bill.getStoreId()), StoreFlow::getStoreId, bill.getStoreId());
+ lambdaQueryWrapper.between(bill.getStartTime() != null && bill.getEndTime() != null,
+ StoreFlow::getCreateTime, bill.getStartTime(), bill.getEndTime());
+ }
+ return lambdaQueryWrapper;
}
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java
index 3a74708e..342a36ed 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java
@@ -1 +1 @@
-package cn.lili.modules.order.order.serviceimpl;
import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.modules.member.entity.dos.MemberAddress;
import cn.lili.modules.member.entity.enums.PointTypeEnum;
import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
import cn.lili.modules.order.cart.entity.vo.CartVO;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dos.Trade;
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
import cn.lili.modules.order.order.mapper.TradeMapper;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.order.order.service.TradeService;
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
import cn.lili.modules.promotion.service.CouponService;
import cn.lili.modules.promotion.service.KanjiaActivityService;
import cn.lili.modules.promotion.service.MemberCouponService;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.MqOrderTagsEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
/**
* 交易业务层实现
*
* @author Chopper
* @date 2020/11/17 7:39 下午
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class TradeServiceImpl extends ServiceImpl implements TradeService {
/**
* 缓存
*/
@Autowired
private Cache