From af5e866853f86d034d1c6ce83bedccac55377417 Mon Sep 17 00:00:00 2001 From: "pikachu1995@126.com" Date: Thu, 13 Jul 2023 16:03:38 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=B8=8D=E5=90=8C=E7=9A=84=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=E5=AD=98=E5=82=A8=E6=B8=A0=E9=81=93=E6=9C=89=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=9A=84=E5=9B=BE=E7=89=87=E5=8E=8B=E7=BC=A9=E8=A7=84?= =?UTF-8?q?=E5=88=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/modules/file/util/FileUtil.java | 24 ------------- .../serviceimpl/GoodsGalleryServiceImpl.java | 36 +++++++++++++++++-- .../logistics/plugin/kdniao/KdniaoPlugin.java | 2 +- .../sms/plugin/impl/HuaweiSmsPlugin.java | 4 +-- .../system/entity/dto/LogisticsSetting.java | 5 +++ .../modules/system/entity/dto/OssSetting.java | 8 ++--- 6 files changed, 46 insertions(+), 33 deletions(-) delete mode 100644 framework/src/main/java/cn/lili/modules/file/util/FileUtil.java 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 deleted file mode 100644 index 46cbf51f..00000000 --- a/framework/src/main/java/cn/lili/modules/file/util/FileUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -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/goods/serviceimpl/GoodsGalleryServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java index 34b71e08..70508ac7 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,12 +1,14 @@ package cn.lili.modules.goods.serviceimpl; import cn.hutool.json.JSONUtil; +import cn.lili.modules.file.entity.enums.OssEnum; 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; import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dto.GoodsSetting; +import cn.lili.modules.system.entity.dto.OssSetting; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -59,9 +61,9 @@ public class GoodsGalleryServiceImpl extends ServiceImpl().eq("goods_id", goodsId)); } + + + /** + * 根据原图生成规定尺寸的图片 + * + * @param url 连接 + * @param width 宽 + * @param height 高 + * @return + */ + private String getUrl(String url, Integer width, Integer height) { + Setting setting = settingService.get(SettingEnum.OSS_SETTING.name()); + OssSetting ossSetting = JSONUtil.toBean(setting.getSettingValue(), OssSetting.class); + switch (OssEnum.valueOf(ossSetting.getType())) { + case MINIO: + //缩略图全路径 + return url + "?x-oss-process=style/" + width + "X" + height; + case ALI_OSS: + //缩略图全路径 + return url + "?x-oss-process=style/" + width + "X" + height; + case HUAWEI_OBS: + //缩略图全路径 + return url + "?image/resize,m_fixed,h_"+height+",w_"+width; + case TENCENT_COS: + //缩略图全路径 + return url + "?imageMogr2/thumbnail/" + width + "x" + height; + } + return url; + } + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/logistics/plugin/kdniao/KdniaoPlugin.java b/framework/src/main/java/cn/lili/modules/logistics/plugin/kdniao/KdniaoPlugin.java index 9e022575..4cdbe6b9 100644 --- a/framework/src/main/java/cn/lili/modules/logistics/plugin/kdniao/KdniaoPlugin.java +++ b/framework/src/main/java/cn/lili/modules/logistics/plugin/kdniao/KdniaoPlugin.java @@ -63,7 +63,7 @@ public class KdniaoPlugin implements LogisticsPlugin { Map params = new HashMap<>(8); params.put("RequestData", urlEncoder(requestData, "UTF-8")); params.put("EBusinessID", logisticsSetting.getKdniaoEbusinessID()); - params.put("RequestType", "1002"); + params.put("RequestType", logisticsSetting.getRequestType()); String dataSign = encrypt(requestData, logisticsSetting.getKdniaoAppKey(), "UTF-8"); params.put("DataSign", urlEncoder(dataSign, "UTF-8")); params.put("DataType", "2"); diff --git a/framework/src/main/java/cn/lili/modules/sms/plugin/impl/HuaweiSmsPlugin.java b/framework/src/main/java/cn/lili/modules/sms/plugin/impl/HuaweiSmsPlugin.java index fa6818c5..90d9f8d4 100644 --- a/framework/src/main/java/cn/lili/modules/sms/plugin/impl/HuaweiSmsPlugin.java +++ b/framework/src/main/java/cn/lili/modules/sms/plugin/impl/HuaweiSmsPlugin.java @@ -48,7 +48,7 @@ public class HuaweiSmsPlugin implements SmsPlugin { @Override public void sendSmsCode(String signName, String mobile, Map param, String templateCode) { try { - this.sendSms(signName, mobile, "[" + param.values() + "]", templateCode); + this.sendSms(signName, mobile, param.values() + "", templateCode); } catch (Exception e) { e.printStackTrace(); } @@ -115,7 +115,7 @@ public class HuaweiSmsPlugin implements SmsPlugin { //条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称 //国际/港澳台短信不用关注该参数 - String signature = signName; //签名名称 + String signature = smsSetting.getHuaweiSignature(); //签名名称 //必填,全局号码格式(包含国家码),示例:+8615123456789,多个号码之间用英文逗号分隔 String receiver = mobile; //短信接收人号码 diff --git a/framework/src/main/java/cn/lili/modules/system/entity/dto/LogisticsSetting.java b/framework/src/main/java/cn/lili/modules/system/entity/dto/LogisticsSetting.java index 3eb5a893..0baa3896 100644 --- a/framework/src/main/java/cn/lili/modules/system/entity/dto/LogisticsSetting.java +++ b/framework/src/main/java/cn/lili/modules/system/entity/dto/LogisticsSetting.java @@ -31,6 +31,11 @@ public class LogisticsSetting implements Serializable { */ private String kdniaoAppKey; + /** + * 调用端口 + */ + private String requestType; + /** * 快递100 授权码,请申请企业版获取 */ diff --git a/framework/src/main/java/cn/lili/modules/system/entity/dto/OssSetting.java b/framework/src/main/java/cn/lili/modules/system/entity/dto/OssSetting.java index 95c225ba..b4c12471 100644 --- a/framework/src/main/java/cn/lili/modules/system/entity/dto/OssSetting.java +++ b/framework/src/main/java/cn/lili/modules/system/entity/dto/OssSetting.java @@ -31,10 +31,10 @@ public class OssSetting implements Serializable { * 阿里云-储存空间 */ private String aliyunOSSBucketName = ""; - /** - * 阿里云-存放路径路径 - */ - private String aliyunOSSPicLocation = ""; +// /** +// * 阿里云-存放路径路径 +// */ +// private String aliyunOSSPicLocation = ""; /** * 阿里云-密钥id */ From ecb330cc57cbee21fb74bfc0c77ac796e556ed51 Mon Sep 17 00:00:00 2001 From: "pikachu1995@126.com" Date: Thu, 13 Jul 2023 16:04:35 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix:=E5=88=A0=E9=99=A4=E9=81=97=E7=95=99?= =?UTF-8?q?=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/file/plugin/impl/HuaweiFilePlugin.java | 10 +++++----- .../modules/file/plugin/impl/TencentFilePlugin.java | 4 +--- .../goods/serviceimpl/GoodsGalleryServiceImpl.java | 3 +-- .../modules/logistics/plugin/kdniao/KdniaoPlugin.java | 6 +++--- .../logistics/plugin/kuaidi100/Kuaidi100Plugin.java | 2 +- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/file/plugin/impl/HuaweiFilePlugin.java b/framework/src/main/java/cn/lili/modules/file/plugin/impl/HuaweiFilePlugin.java index 9e1fb32b..42f01714 100644 --- a/framework/src/main/java/cn/lili/modules/file/plugin/impl/HuaweiFilePlugin.java +++ b/framework/src/main/java/cn/lili/modules/file/plugin/impl/HuaweiFilePlugin.java @@ -5,10 +5,12 @@ import cn.lili.common.exception.ServiceException; import cn.lili.modules.file.entity.enums.OssEnum; import cn.lili.modules.file.plugin.FilePlugin; import cn.lili.modules.system.entity.dto.OssSetting; - import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; -import com.obs.services.model.*; +import com.obs.services.model.DeleteObjectsRequest; +import com.obs.services.model.DeleteObjectsResult; +import com.obs.services.model.ListVersionsResult; +import com.obs.services.model.PutObjectRequest; import lombok.extern.slf4j.Slf4j; import java.io.File; @@ -20,8 +22,6 @@ import java.util.List; * 华为obs 文件操作 * * @author Bulbasaur - * - * */ @Slf4j @@ -72,7 +72,7 @@ public class HuaweiFilePlugin implements FilePlugin { public String inputStreamUpload(InputStream inputStream, String key) { ObsClient obsClient = getObsClient(); try { - PutObjectRequest putObjectRequest=new PutObjectRequest(ossSetting.getHuaweicloudOBSBucketName(), key, inputStream); + PutObjectRequest putObjectRequest = new PutObjectRequest(ossSetting.getHuaweicloudOBSBucketName(), key, inputStream); obsClient.putObject(putObjectRequest); } catch (ObsException obsException) { obsException.printStackTrace(); diff --git a/framework/src/main/java/cn/lili/modules/file/plugin/impl/TencentFilePlugin.java b/framework/src/main/java/cn/lili/modules/file/plugin/impl/TencentFilePlugin.java index e4f69a1d..0ccd9145 100644 --- a/framework/src/main/java/cn/lili/modules/file/plugin/impl/TencentFilePlugin.java +++ b/framework/src/main/java/cn/lili/modules/file/plugin/impl/TencentFilePlugin.java @@ -14,7 +14,6 @@ import com.qcloud.cos.exception.CosServiceException; import com.qcloud.cos.http.HttpProtocol; import com.qcloud.cos.model.DeleteObjectsRequest; import com.qcloud.cos.model.ObjectMetadata; -import com.qcloud.cos.model.PutObjectRequest; import com.qcloud.cos.region.Region; import lombok.extern.slf4j.Slf4j; @@ -66,7 +65,6 @@ public class TencentFilePlugin implements FilePlugin { * @return */ private String getUrlPrefix() { -// return "https://" + ossSetting.getTencentCOSBucket() + "." + ossSetting.getTencentCOSEndPoint() + "/"; return "https://" + ossSetting.getTencentCOSBucket() + ".cos" + ossSetting.getTencentCOSEndPoint() + ".myqcloud.com/"; } @@ -108,7 +106,7 @@ public class TencentFilePlugin implements FilePlugin { try { List delObjects = new ArrayList<>(); - for (String key:keys) { + for (String key : keys) { delObjects.add(new DeleteObjectsRequest.KeyVersion(key)); } cosClient.deleteObjects(new DeleteObjectsRequest(ossSetting.getTencentCOSBucket()).withKeys(delObjects)); 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 70508ac7..edeced2e 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 @@ -2,7 +2,6 @@ package cn.lili.modules.goods.serviceimpl; import cn.hutool.json.JSONUtil; import cn.lili.modules.file.entity.enums.OssEnum; -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; @@ -108,7 +107,7 @@ public class GoodsGalleryServiceImpl extends ServiceImpl labelOrder(LabelOrderDTO labelOrderDTO) { + public Map labelOrder(LabelOrderDTO labelOrderDTO) { try { - Map resultMap = new HashMap(); + Map resultMap = new HashMap(); //订单 Order order = labelOrderDTO.getOrder(); //订单货物 @@ -206,7 +206,7 @@ public class KdniaoPlugin implements LogisticsPlugin { } JSONObject orderJson = JSONObject.parseObject(obj.getString("Order")); - resultMap.put("printTemplate",obj.getString("PrintTemplate")); + resultMap.put("printTemplate", obj.getString("PrintTemplate")); return resultMap; } catch (Exception e) { e.printStackTrace(); diff --git a/framework/src/main/java/cn/lili/modules/logistics/plugin/kuaidi100/Kuaidi100Plugin.java b/framework/src/main/java/cn/lili/modules/logistics/plugin/kuaidi100/Kuaidi100Plugin.java index b66980f8..b935cccb 100644 --- a/framework/src/main/java/cn/lili/modules/logistics/plugin/kuaidi100/Kuaidi100Plugin.java +++ b/framework/src/main/java/cn/lili/modules/logistics/plugin/kuaidi100/Kuaidi100Plugin.java @@ -122,7 +122,7 @@ public class Kuaidi100Plugin implements LogisticsPlugin { } @Override - public Map labelOrder(LabelOrderDTO labelOrderDTO) { + public Map labelOrder(LabelOrderDTO labelOrderDTO) { try { //订单 Order order = labelOrderDTO.getOrder(); From 7b13ae13ad41c908d7df802b2f2a4340dc8310fe Mon Sep 17 00:00:00 2001 From: misworga831 Date: Mon, 17 Jul 2023 17:55:34 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E6=8B=BC=E5=9B=A2?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=B5=81=E7=A8=8B=EF=BC=8C=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4=E5=B0=8F=E4=BA=8E24?= =?UTF-8?q?=E5=B0=8F=E6=97=B6=E5=88=99=E6=8C=89=E7=85=A7=E6=8B=BC=E5=9B=A2?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4=E5=BB=B6=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/serviceimpl/OrderServiceImpl.java | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) 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 cba6ac1e..19c2b285 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 @@ -769,7 +769,9 @@ public class OrderServiceImpl extends ServiceImpl implements this.systemCancel(entry.getKey(), reason); } else { for (Order order : entry.getValue()) { - this.systemCancel(order.getSn(), reason); + if (!CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) { + this.systemCancel(order.getSn(), reason); + } } } } else if (Boolean.TRUE.equals(fictitious)) { @@ -785,7 +787,8 @@ public class OrderServiceImpl extends ServiceImpl implements * @param entry 订单列表 * @param requiredNum 必须参团人数 */ - private void fictitiousPintuan(Map.Entry> entry, Integer requiredNum) { + @Transactional(rollbackFor = Exception.class) + public void fictitiousPintuan(Map.Entry> entry, Integer requiredNum) { Map> listMap = entry.getValue().stream().collect(Collectors.groupingBy(Order::getPayStatus)); //未付款订单 List unpaidOrders = listMap.get(PayStatusEnum.UNPAID.name()); @@ -813,9 +816,15 @@ public class OrderServiceImpl extends ServiceImpl implements paidOrders.add(order); } for (Order paidOrder : paidOrders) { - paidOrder.setOrderStatus(OrderStatusEnum.UNDELIVERED.name()); - this.updateById(paidOrder); - orderStatusMessage(paidOrder); + if (!CharSequenceUtil.equalsAny(paidOrder.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) { + if (OrderTypeEnum.NORMAL.name().equals(paidOrder.getOrderType())) { + paidOrder.setOrderStatus(OrderStatusEnum.UNDELIVERED.name()); + } else if (OrderTypeEnum.VIRTUAL.name().equals(paidOrder.getOrderType())) { + paidOrder.setOrderStatus(OrderStatusEnum.TAKE.name()); + } + this.updateById(paidOrder); + orderStatusMessage(paidOrder); + } } } } @@ -871,7 +880,8 @@ public class OrderServiceImpl extends ServiceImpl implements * @param pintuanId 拼团活动ID * @param parentOrderSn 拼团父订单编号 */ - private void checkPintuanOrder(String pintuanId, String parentOrderSn) { + @Transactional(rollbackFor = Exception.class) + public void checkPintuanOrder(String pintuanId, String parentOrderSn) { //获取拼团配置 Pintuan pintuan = pintuanService.getById(pintuanId); List list = this.getPintuanOrder(pintuanId, parentOrderSn); @@ -881,6 +891,9 @@ public class OrderServiceImpl extends ServiceImpl implements PintuanOrderMessage pintuanOrderMessage = new PintuanOrderMessage(); //开团结束时间 long startTime = DateUtil.offsetHour(new Date(), 24).getTime(); + if (DateUtil.compare(DateUtil.offsetHour(pintuan.getStartTime(), 24), pintuan.getEndTime()) > 0) { + startTime = pintuan.getEndTime().getTime(); + } pintuanOrderMessage.setOrderSn(parentOrderSn); pintuanOrderMessage.setPintuanId(pintuanId); TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.PROMOTION_EXECUTOR, @@ -923,7 +936,8 @@ public class OrderServiceImpl extends ServiceImpl implements * * @param orderList 需要更新拼团状态为成功的拼团订单列表 */ - private void pintuanOrderSuccess(List orderList) { + @Transactional(rollbackFor = Exception.class) + public void pintuanOrderSuccess(List orderList) { for (Order order : orderList) { if (order.getOrderType().equals(OrderTypeEnum.VIRTUAL.name())) { this.virtualOrderConfirm(order.getSn()); From c73204a8283bbef2824af3c1e1a2427c848b6d7c Mon Sep 17 00:00:00 2001 From: misworga831 Date: Wed, 19 Jul 2023 11:10:19 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=B1=BB=E5=9E=8B=EF=BC=8Cvideo=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/lili/controller/common/UploadController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-api/src/main/java/cn/lili/controller/common/UploadController.java b/common-api/src/main/java/cn/lili/controller/common/UploadController.java index 767db2fa..027b66ae 100644 --- a/common-api/src/main/java/cn/lili/controller/common/UploadController.java +++ b/common-api/src/main/java/cn/lili/controller/common/UploadController.java @@ -75,7 +75,7 @@ public class UploadController { } - if (!CharSequenceUtil.containsAny(file.getContentType().toLowerCase(), "image")) { + if (!CharSequenceUtil.containsAny(Objects.requireNonNull(file.getContentType()).toLowerCase(), "image", "video")) { throw new ServiceException(ResultCode.FILE_TYPE_NOT_SUPPORT); } From 89f3e8f980b5a01f14abf5466d8aa1645ecf5072 Mon Sep 17 00:00:00 2001 From: chc <1501738723@qq.com> Date: Thu, 20 Jul 2023 14:23:12 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fix:=20sku=E7=9A=84=E5=95=86=E5=93=81?= =?UTF-8?q?=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java index 0c89fdc1..309fea1a 100644 --- a/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java +++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java @@ -189,7 +189,7 @@ public class GoodsSku extends BaseEntity { this.goodsId = goods.getId(); this.goodsName = goods.getGoodsName(); this.goodsType = goods.getGoodsType(); - + this.goodsVideo = goods.getGoodsVideo(); this.selfOperated = goods.getSelfOperated(); this.sellingPoint = goods.getSellingPoint(); this.categoryPath = goods.getCategoryPath();