From f12c2e007d8cf951568d04ec9ad3348acac47849 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 26 一月 2026 11:03:42 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java | 15 +
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Aftersale.java | 17 ++
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java | 8
server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java | 75 ++++++++++
server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java | 2
server/dmmall_service/src/main/java/com/doumee/core/wx/SendWxMessage.java | 4
server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java | 27 ++-
server/dmmall_web/src/main/java/com/doumee/api/web/LabelsApi.java | 9
server/dmmall_service/src/main/java/com/doumee/service/business/AftersaleService.java | 3
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 12 -
server/dmmall_service/src/main/java/com/doumee/service/business/LabelsService.java | 2
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 13 -
server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java | 10 +
server/dmmall_service/src/main/java/com/doumee/dao/web/request/CouponNoticeRequest.java | 28 ++++
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java | 184 +++++++++++++++++++++++++-
15 files changed, 354 insertions(+), 55 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
index 711f9bf..cd8d610 100644
--- a/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -623,8 +623,7 @@
DONE(3, "浜ゆ槗瀹屾垚", "浜ゆ槗瀹屾垚"),
CLOSE(4, "宸插叧闂�", "宸插叧闂�"),
PART_DONE(5, "閮ㄥ垎鍙戣揣", "閮ㄥ垎鍙戣揣"),
-
-
+ REFUND(6, "璁㈠崟閫�娆�", "璁㈠崟閫�娆�"),
;
// 鎴愬憳鍙橀噺
private String name;
@@ -881,7 +880,7 @@
*/
public enum IntegralObjType {
REGISTER(0, "娉ㄥ唽绉垎濂栧姳", "娉ㄥ唽鎴愬姛锛岃幏寰�${param}绉垎",0,0),
- INVITENEWUSER(3, "閭�璇峰ソ鍙嬪緱绉垎", "鎺ㄨ崘濂藉弸${param}鎴愬姛锛岃幏寰�${param1}绉垎",0,0),
+ INVITENEWUSER(3, "閭�璇峰ソ鍙嬪緱绉垎", "鎺ㄨ崘濂藉弸${param1}鎴愬姛锛岃幏寰�${param}绉垎",0,0),
SYSTEM_RECHARGE(12,"绉垎鍙戞斁","骞冲彴濂栧姳锛岃幏寰�${param}绉垎",0,0),
SYSTEM_DEDUCT(13,"绉垎鎵i櫎","骞冲彴鎵e噺锛屾秷鑰�${param}绉垎",0,0),
MEMBER_ORDER_CANCEL(14,"鍙栨秷璁㈠崟閫�鍥�","浜ゆ槗閫�娆鹃��鍥烇紝鑾峰緱${param}绉垎",0,0),
@@ -890,17 +889,21 @@
SHOP_YEAR_SETTLEMENT(18,"绉垎杩囨湡","绉垎杩囨湡锛屾秷鑰�${param}绉垎",0,0),
- ORDER_DONE_AMOUNT(16,"璁㈠崟缁撶畻","${param}璁㈠崟缁撶畻鎴愬姛锛岃幏寰楋骏${param1}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
+ ORDER_DONE_AMOUNT(16,"璁㈠崟缁撶畻","${param1}璁㈠崟缁撶畻鎴愬姛锛岃幏寰楋骏${param}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
WITHDRAW_APPLY(17,"浣欓鎻愮幇","浣欓鎻愮幇宸叉彁浜わ紝娑堣�楋骏${param}鍏�",0,1),
WITHDRAW_APPLY_BACK(19,"鎻愮幇閫�鍥�","浣欓鎻愮幇澶辫触锛岃幏寰楋骏${param}鍏�",0,1),
- ORDER_DONE_AMOUNT_BACK(20,"璁㈠崟缁撶畻閫�鍥�","${param}璁㈠崟缁撶畻閫�鍥烇紝娑堣�楋骏${param1}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
+ ORDER_DONE_AMOUNT_BACK(20,"璁㈠崟缁撶畻閫�鍥�","${param1}璁㈠崟缁撶畻閫�鍥烇紝娑堣�楋骏${param}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
- SHOP_ORDER(21,"娑堣垂杩旂Н鍒�","浼氬憳${param}浜ゆ槗鎴愬姛锛岃幏寰�${param1}绉垎",0,0),//${param}鏄电О-鎵嬫満鍙�
+ SHOP_ORDER(21,"娑堣垂杩旂Н鍒�","浼氬憳${param1}浜ゆ槗鎴愬姛锛岃幏寰�${param}绉垎",0,0),//${param}鏄电О-鎵嬫満鍙�
SHOP_ORDER_CANCEL(22,"璁㈠崟鍙栨秷閫�鍥�","璁㈠崟鍙栨秷閫�鍥烇紝閫�鍥�${param}绉垎",0,0),
SHOP_SYSTEM_RECHARGE(23,"绉垎鍙戞斁","骞冲彴濂栧姳锛岃幏寰�${param}绉垎",0,0),
SHOP_SYSTEM_DEDUCT(24,"绉垎鎵i櫎","骞冲彴鎵e噺锛屾秷鑰�${param}绉垎",0,0),
+ SHOP_ORDER_REFUND_CASH(25,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎缁撶畻閲戦${param}鍏�",0,0),
+ SHOP_ORDER_REFUND_INTEGRAL(26,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎璁㈠崟杩旇繕${param}绉垎",0,0),
+ MEMBER_ORDER_REFUND_RETURN(27,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎璁㈠崟杩旇繕${param}绉垎",0,0),
+ MEMBER_ORDER_REFUND(28,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝杩旇繕璁㈠崟娑堣��${param}绉垎",0,0),
//----------------搴熷純-------start---------
SIGNIN(1, "绛惧埌", "绛惧埌",0,0),
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/wx/SendWxMessage.java b/server/dmmall_service/src/main/java/com/doumee/core/wx/SendWxMessage.java
index 2f78583..788c959 100644
--- a/server/dmmall_service/src/main/java/com/doumee/core/wx/SendWxMessage.java
+++ b/server/dmmall_service/src/main/java/com/doumee/core/wx/SendWxMessage.java
@@ -91,11 +91,7 @@
}catch (WxErrorException wxErrorException){
}
-
}
-
-
-
/**
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Aftersale.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Aftersale.java
index b1c2c4a..6e63570 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Aftersale.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Aftersale.java
@@ -79,6 +79,23 @@
@ApiModelProperty(value = "閫�娆鹃噾棰�", example = "1")
@ExcelColumn(name="閫�娆鹃噾棰�")
private BigDecimal money;
+
+ @ApiModelProperty(value = "鎵i櫎宸茶繑缁忛攢鍟嗙Н鍒嗗��", example = "1")
+ @ExcelColumn(name="鎵i櫎宸茶繑缁忛攢鍟嗙Н鍒嗗��")
+ private BigDecimal returnShopIntegral;
+
+ @ApiModelProperty(value = "鎵i櫎缁忛攢鍟嗙粨绠楅噾棰�", example = "1")
+ @ExcelColumn(name="鎵i櫎缁忛攢鍟嗙粨绠楅噾棰�")
+ private BigDecimal returnShopSettlement;
+
+ @ApiModelProperty(value = "鎵i櫎宸茶繑鐢ㄦ埛绉垎鍊�", example = "1")
+ @ExcelColumn(name="鎵i櫎宸茶繑鐢ㄦ埛绉垎鍊�")
+ private BigDecimal returnIntegral;
+
+ @ApiModelProperty(value = "閫�娆鹃厤缃俊鎭�", example = "1")
+ @ExcelColumn(name="閫�娆鹃厤缃俊鎭�")
+ private String returnConfig;
+
@ApiModelProperty(value = "瀹為檯閫�娆鹃噾棰�", example = "1")
@ExcelColumn(name="瀹為檯閫�娆鹃噾棰�")
private BigDecimal actMoney;
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java
index 5d98785..d6aabb7 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java
@@ -80,12 +80,12 @@
@ExcelColumn(name="瀵硅薄缂栫爜")
private Integer objId;
- @ApiModelProperty(value = "瀵硅薄绫诲瀷 0鍜栬眴璁㈠崟 銆佸晢鍩庛�佸挅鍟¤鍒掕鍗� 1娲诲姩銆佹帰搴椼�佽祫璁� 2娲诲姩鎺㈠簵璧勮璇勮", example = "1")
- @ExcelColumn(name="瀵硅薄绫诲瀷 0鍜栬眴璁㈠崟 銆佸晢鍩庛�佸挅鍟¤鍒掕鍗� 1娲诲姩銆佹帰搴椼�佽祫璁� 2娲诲姩鎺㈠簵璧勮璇勮")
+ @ApiModelProperty(value = "瀵硅薄绫诲瀷 0鍟嗗煄璁㈠崟 1绉垎娴佹按 2浜掑姩璇勪环 3浼樻儬鍒� 4鐜伴噾娴佹按", example = "1")
+ @ExcelColumn(name="瀵硅薄绫诲瀷 0鍟嗗煄璁㈠崟 1绉垎娴佹按 2浜掑姩璇勪环 3浼樻儬鍒� 4鐜伴噾娴佹按")
private Integer objType;
- @ApiModelProperty(value = "娑堟伅绫诲瀷 0璁㈠崟閫氱煡 1绯荤粺娑堟伅 2浜掑姩娑堟伅 3浼樻儬鍒告彁閱� 4瀹樻柟瀹㈡湇 5娲诲姩鎺ㄨ崘 6鎴戠殑鍏虫敞", example = "1")
- @ExcelColumn(name="娑堟伅绫诲瀷 0璁㈠崟閫氱煡 1绯荤粺娑堟伅 2浜掑姩娑堟伅 3浼樻儬鍒告彁閱� 4瀹樻柟瀹㈡湇 5娲诲姩鎺ㄨ崘 6鎴戠殑鍏虫敞")
+ @ApiModelProperty(value = "娑堟伅绫诲瀷 0娑堣垂鑰咃紱1=缁忛攢鍟嗙Н鍒嗭紱2=缁忛攢鍟嗙粨绠楅噾棰� ", example = "1")
+ @ExcelColumn(name="娑堟伅绫诲瀷 0娑堣垂鑰咃紱1=缁忛攢鍟嗙Н鍒嗭紱2=缁忛攢鍟嗙粨绠楅噾棰� ")
private Integer type;
@ApiModelProperty(value = "鐘舵�� 0鏈 1宸茶", example = "1")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/CouponNoticeRequest.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/CouponNoticeRequest.java
new file mode 100644
index 0000000..2347415
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/CouponNoticeRequest.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.web.request;
+
+import com.doumee.dao.business.model.MemberCoupon;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.io.Serializable;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/3/23 9:50
+ */
+@Data
+@ApiModel("鍙戦�佷紭鎯犲埜閫氱煡璇锋眰绫�")
+public class CouponNoticeRequest{
+
+
+ @ApiModelProperty(value = "鐢ㄦ埛浼樻儬鍒镐俊鎭�")
+ private MemberCoupon memberCoupon;
+
+ @ApiModelProperty(value = "浼樻儬鍒告暟閲�")
+ private Integer num;
+
+}
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java
index 970e6e1..d939673 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java
@@ -18,22 +18,27 @@
@ApiModel("寰俊鎺堟潈鎵嬫満鍙疯姹傜被")
public class WxPhoneRequest implements Serializable {
- @NotEmpty(message = "encryptedData 涓嶈兘涓虹┖")
- @ApiModelProperty(value = "encryptedData")
- private String encryptedData;
-
- @NotEmpty(message = "iv 涓嶈兘涓虹┖")
- @ApiModelProperty(value = "iv")
- private String iv;
-
- @NotEmpty(message = "sessionKey 涓嶈兘涓虹┖")
- @ApiModelProperty(value = "sessionKey")
- private String sessionKey;
+// @NotEmpty(message = "encryptedData 涓嶈兘涓虹┖")
+// @ApiModelProperty(value = "encryptedData")
+// private String encryptedData;
+//
+// @NotEmpty(message = "iv 涓嶈兘涓虹┖")
+// @ApiModelProperty(value = "iv")
+// private String iv;
+//
+// @NotEmpty(message = "sessionKey 涓嶈兘涓虹┖")
+// @ApiModelProperty(value = "sessionKey")
+// private String sessionKey;
@NotEmpty(message = "openid 涓嶈兘涓虹┖")
@ApiModelProperty(value = "openid")
private String openid;
+ @NotEmpty(message = "code 涓嶈兘涓虹┖")
+ @ApiModelProperty(value = "code")
+ private String code;
+
+
@ApiModelProperty(value = "閭�璇风爜")
private String recId;
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/AftersaleService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/AftersaleService.java
index 1b62ef2..e7b9d51 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/AftersaleService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/AftersaleService.java
@@ -4,6 +4,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.dao.admin.response.AftersaleListResponse;
import com.doumee.dao.business.model.Aftersale;
+import com.doumee.dao.web.request.AfterSaleApplyRequest;
import com.doumee.dao.web.request.goods.AftersaleCancelRequest;
import com.doumee.dao.web.request.goods.AftersaleCreateRequest;
import com.doumee.dao.web.request.goods.AftersalePostRequest;
@@ -114,4 +115,6 @@
void memberPost(AftersalePostRequest aftersale);
void autoDone();
+
+ void afterSaleApply(AfterSaleApplyRequest afterSaleApplyRequest, Integer userId);
}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/LabelsService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/LabelsService.java
index f5480b1..ef0369d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/LabelsService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/LabelsService.java
@@ -135,6 +135,6 @@
*/
List<LabelsResponse> getGoodsLabels(Integer parentId);
- List<LabelsResponse> getGoodsLabelsByType(Integer type);
+ List<LabelsResponse> getGoodsLabelsByType(Integer type,Integer parentId);
}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
index 05105fe..f3be3c6 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
@@ -12,13 +12,11 @@
import com.doumee.core.utils.Utils;
import com.doumee.core.wx.WxMiniUtilService;
import com.doumee.dao.admin.response.AftersaleListResponse;
-import com.doumee.dao.business.AftersaleMapper;
-import com.doumee.dao.business.FundMapper;
-import com.doumee.dao.business.GoodsorderDetailMapper;
-import com.doumee.dao.business.GoodsorderMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.join.AftersaleJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.web.dto.MultiFileDTO;
+import com.doumee.dao.web.request.AfterSaleApplyRequest;
import com.doumee.dao.web.request.DealIntegralRequest;
import com.doumee.dao.web.request.goods.AftersaleCancelRequest;
import com.doumee.dao.web.request.goods.AftersaleCreateRequest;
@@ -43,10 +41,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 鍟嗗搧鍞悗淇℃伅琛⊿ervice瀹炵幇
@@ -64,6 +59,10 @@
@Autowired
private GoodsorderMapper goodsorderMapper;
@Autowired
+ private ShopMapper shopMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
private GoodsorderDetailMapper goodsorderDetailMapper;
@Autowired
private AftersaleJoinMapper aftersaleJoinMapper;
@@ -73,6 +72,9 @@
@Autowired
@Lazy
private IntegralService integralService;
+
+ @Autowired
+ private MemberCouponJoinMapper memberCouponJoinMapper;
@Autowired
private FundMapper fundMapper;
@@ -1004,4 +1006,170 @@
}
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void afterSaleApply(AfterSaleApplyRequest afterSaleApplyRequest, Integer userId){
+ if(Objects.isNull(afterSaleApplyRequest)
+ || Objects.isNull(afterSaleApplyRequest.getOrderId())
+ || Objects.isNull(afterSaleApplyRequest.getReturnUseIntegralStatus())
+ || Objects.isNull(afterSaleApplyRequest.getReturnUseCouponStatus())
+ || Objects.isNull(afterSaleApplyRequest.getReturnShopSettlementStatus())
+ || Objects.isNull(afterSaleApplyRequest.getReturnShopIntegralStatus())
+ || Objects.isNull(afterSaleApplyRequest.getReturnIntegralStatus())
+ || Objects.isNull(afterSaleApplyRequest.getMoney())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+
+ Goodsorder goodsorder = goodsorderMapper.selectById(afterSaleApplyRequest.getOrderId());
+ if(Objects.isNull(goodsorder)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!(Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey())
+ || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.DONE.getKey()))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆锛屾棤娉曡繘琛岃鎿嶄綔锛�");
+ }
+ Aftersale aftersale = new Aftersale();
+ aftersale.setCreateDate(new Date());
+ aftersale.setIsdeleted(Constants.ZERO);
+ aftersale.setOrderId(goodsorder.getId());
+ aftersale.setType(Constants.ZERO);
+ aftersale.setContent(afterSaleApplyRequest.getRemark());
+ aftersale.setStatus(Constants.AftersaleStatus.DONE.getKey());
+ aftersale.setInfo(afterSaleApplyRequest.getRemark());
+ aftersale.setMoney(afterSaleApplyRequest.getMoney());
+ aftersale.setCoupon(goodsorder.getCouponPrice());
+ aftersale.setReturnShopIntegral(BigDecimal.ZERO);
+ aftersale.setReturnIntegral(BigDecimal.ZERO);
+ aftersale.setReturnShopSettlement(BigDecimal.ZERO);
+ aftersale.setCode(getNextInCode());
+
+ //璁㈠崟閫�鍥� 杩斿洖缁欑粡閿�鍟嗙殑绉垎
+ if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnCustomerIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
+ //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
+ if(Objects.nonNull(shop)&&shop.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ //寮�鍚簡鎵i櫎杩旇繕缁忛攢鍟嗙Н鍒�
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopIntegralStatus(),Constants.ONE)){
+ //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
+ aftersale.setReturnShopIntegral(shop.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
+ ?goodsorder.getReturnCustomerIntegral():shop.getIntegral());
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+ dealIntegralRequest.setDealType(Constants.ONE);
+ dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
+ dealIntegralRequest.setObjId(goodsorder.getId());
+ dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
+ integralService.dealShopIntegral(dealIntegralRequest);
+ }
+ }
+ }
+
+ //璁㈠崟閫�鍥� 缁忛攢鍟嗙粨绠椾綑棰�
+ if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getShopSettlement().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
+ //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
+ if(Objects.nonNull(shop)&&shop.getAmount().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ //寮�鍚簡鎵i櫎杩旇繕缁忛攢鍟嗙Н鍒�
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopSettlementStatus(),Constants.ONE)){
+ //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
+ aftersale.setReturnShopSettlement(shop.getAmount().compareTo(goodsorder.getShopSettlement())>Constants.ZERO
+ ?goodsorder.getShopSettlement():shop.getAmount());
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+ dealIntegralRequest.setDealType(Constants.ONE);
+ dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
+ dealIntegralRequest.setObjId(goodsorder.getId());
+ dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_CASH);
+ integralService.dealShopAmount(dealIntegralRequest);
+
+ }
+ }
+ }
+
+ //璁㈠崟閫�鍥� 杩旇繕缁欏鎴风殑绉垎
+ if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnMemberIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ Member member = memberMapper.selectById(goodsorder.getMemberId());
+ //瀹㈡埛瀛樺湪鍓╀綑绉垎
+ if(Objects.nonNull(member)&&member.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ //寮�鍚簡鎵i櫎杩旇繕瀹㈡埛绉垎
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)){
+ //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
+ aftersale.setReturnIntegral(member.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
+ ?goodsorder.getReturnCustomerIntegral():member.getIntegral());
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+ dealIntegralRequest.setDealType(Constants.ONE);
+ dealIntegralRequest.setMemberId(member.getId());
+ dealIntegralRequest.setObjId(goodsorder.getId());
+ dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND_RETURN);
+ integralService.dealIntegral(dealIntegralRequest);
+ }
+ }
+ }
+
+ //璁㈠崟閫�娆� 杩旇繕瀹㈡埛浣跨敤鐨勭Н鍒�
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)
+ && goodsorder.getUseIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+ dealIntegralRequest.setDealType(Constants.ZERO);
+ dealIntegralRequest.setMemberId(goodsorder.getMemberId());
+ dealIntegralRequest.setObjId(goodsorder.getId());
+ dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND);
+ integralService.dealIntegral(dealIntegralRequest);
+ }
+
+ //璁㈠崟閫�娆� 閫�鍥炲鎴蜂娇鐢ㄧ殑浼樻儬鍒�
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnUseCouponStatus(),Constants.ONE)
+ && Objects.nonNull(goodsorder.getCouponId())){
+ memberCouponJoinMapper.update(new UpdateWrapper<MemberCoupon>().lambda()
+ .set(MemberCoupon::getStatus, Constants.ZERO)
+ .eq(MemberCoupon::getId, goodsorder.getCouponId())
+ );
+ }
+
+
+ if(afterSaleApplyRequest.getMoney().compareTo(BigDecimal.ZERO)>Constants.ZERO
+ && afterSaleApplyRequest.getMoney().compareTo(goodsorder.getPrice())<=Constants.ZERO){
+ //璁㈠崟閫�娆�
+ String refundCode = WxMiniUtilService.wxRefund(goodsorder.getCode().toString(), goodsorder.getPrice(), afterSaleApplyRequest.getMoney());
+ Fund fund = new Fund();
+ fund.setOrderCode(refundCode);
+ fund.setCreator(userId);
+ fund.setCreateDate(new Date());
+ fund.setIsdeleted(Constants.ZERO);
+ fund.setRemark(userId.toString());
+ fund.setMemberId(goodsorder.getCreator());
+ fund.setTitle("璁㈠崟閫�娆�");
+ fund.setContent(afterSaleApplyRequest.getRemark());
+ fund.setObjId(goodsorder.getId());
+ fund.setObjType(Constants.ONE);
+ fund.setType(Constants.ZERO);
+ fund.setNum(goodsorder.getPrice());
+ fundMapper.insert(fund);
+ aftersale.setDrawbackNo(refundCode);
+ aftersale.setDrawbackDate(new Date());
+ aftersale.setDrawbackInfo(afterSaleApplyRequest.getRemark());
+ aftersale.setDrawbackNo(refundCode);
+
+ }
+ aftersaleMapper.insert(aftersale);
+
+ goodsorderMapper.update(null,new UpdateWrapper<Goodsorder>().lambda()
+ .set(Goodsorder::getStatus, Constants.OrderStatus.REFUND.getKey())
+ .eq(Goodsorder::getId, goodsorder.getId())
+ );
+
+ }
+
+
+
+
+
}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java
index 8d3ba19..f20fe70 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java
@@ -192,9 +192,11 @@
QueryWrapper<Banner> wrapper = new QueryWrapper<>(banner);
wrapper.lambda().orderByDesc(Banner::getSortnum);
List<Banner> banners = bannerMapper.selectList(wrapper);
+ String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.BANNER_FILE).getCode();
List<BannerDTO> collect = banners.stream().map(s -> {
BannerDTO dto = new BannerDTO();
BeanUtils.copyProperties(s, dto);
+ dto.setImgurl(path + s.getImgurl());
if (Constants.equalsInteger(dto.getType(),Constants.ZERO)){
dto.setContent(null);
}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 1829afe..a90010d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -1367,8 +1367,7 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
if(!(Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_PAY.getKey())
- || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())
- || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey()) )){
+ || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey()) )){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鍙栨秷澶辫触锛氳鍗曠姸鎬佸凡娴佽浆锛�");
}
if(Constants.formatBigdecimal(goodsorder.getPrice()).compareTo(BigDecimal.ZERO)>Constants.ZERO
@@ -1389,7 +1388,9 @@
fund.setNum(goodsorder.getPrice());
fundMapper.insert(fund);
}
- if(goodsorder.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ //璁㈠崟宸叉敮浠樼姸鎬� 锛� 浣跨敤浜嗙Н鍒� 涓旂Н鍒嗕娇鐢ㄥぇ浜�0
+ if(goodsorder.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO
+ &&Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())){
//鏇存柊浣欓淇℃伅 娣诲姞绉垎鍙樺姩璁板綍
DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
dealIntegralRequest.setIntegralNum(goodsorder.getIntegral());
@@ -1433,10 +1434,6 @@
}
}
}
-
-
-
-
public BigDecimal getDeductAmount(List<PayDetailRequest> requestList){
List<MemberCoupon> memberCouponList = new ArrayList<>();
@@ -1950,6 +1947,7 @@
}
}
+
@Override
@Transactional(rollbackFor = Exception.class)
public void orderComment(OrderCommentRequest orderCommentRequest){
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
index 501672f..5e1f2c8 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
@@ -470,16 +470,22 @@
@Override
- public List<LabelsResponse> getGoodsLabelsByType(Integer type) {
+ public List<LabelsResponse> getGoodsLabelsByType(Integer type,Integer parentId) {
LambdaQueryWrapper<Labels> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Labels::getStatus,Constants.ZERO);
+ wrapper.eq(Labels::getStatus,Constants.ONE);
wrapper.eq(Labels::getIsdeleted,Constants.ZERO);
+ wrapper.eq(Objects.nonNull(parentId),Labels::getParentId,parentId);
wrapper.eq(Labels::getType,type);
wrapper.orderByAsc(Labels::getSortnum,Labels::getCreateDate);
List<Labels> labels = labelsMapper.selectList(wrapper);
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS,Constants.LABELS_IMG).getCode();
List<LabelsResponse> collect = labels.stream().map(s -> {
LabelsResponse labelsResponse = new LabelsResponse();
BeanUtils.copyProperties(s, labelsResponse);
+ if(StringUtils.isNotBlank(s.getImgurl())){
+ labelsResponse.setImgUrl(path + s.getImgurl());
+ }
return labelsResponse;
}).collect(Collectors.toList());
return collect;
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 51363f3..75d7051 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -310,15 +310,14 @@
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenId, openId)
.eq(Member::getIsdeleted,Constants.ZERO)
.last(" limit 1"));
- //鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
- String token = JwtTokenUtil.generateToken(payLoad);
AccountResponse accountResponse = new AccountResponse();
- accountResponse.setSessionKey(session.getSessionKey());
if(Objects.nonNull(member)){
memberMapper.updateById(member);
member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl());
+ //鍒涘缓token
+ JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
+ String token = JwtTokenUtil.generateToken(payLoad);
accountResponse.setToken(token);
accountResponse.setMember(member);
}else{
@@ -345,10 +344,8 @@
@Override
public AccountResponse wxPhone(WxPhoneRequest wxPhoneRequest){
try {
- WxMaPhoneNumberInfo userPhoneInfo = WxMiniConfig.wxMaService.getUserService().getPhoneNoInfo(
- wxPhoneRequest.getSessionKey(), wxPhoneRequest.getEncryptedData(), wxPhoneRequest.getIv());
- //鑾峰彇鎵嬫満鍙�
- String phone= userPhoneInfo.getPurePhoneNumber();
+ WxMaPhoneNumberInfo userPhoneInfo = WxMiniConfig.wxMaService.getUserService().getPhoneNumber(wxPhoneRequest.getCode());
+ String phone = userPhoneInfo.getPhoneNumber();
if(Objects.isNull(phone)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈幏鍙栧埌鎵嬫満鍙�");
}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
index 3778d0d..e96861f 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -12,10 +12,12 @@
import com.doumee.dao.business.join.MemberJoinMapper;
import com.doumee.dao.business.join.NoticeJoinMapper;
import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.MemberCoupon;
import com.doumee.dao.business.model.Notice;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.web.dto.NoticeCardDTO;
import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.web.request.CouponNoticeRequest;
import com.doumee.service.business.NoticeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -242,4 +244,77 @@
return pageData;
}
+
+ /**
+ *
+ * @param type 0娑堣垂鑰咃紱1=缁忛攢鍟嗙Н鍒嗭紱2=缁忛攢鍟嗙粨绠楅噾棰�
+ * @param objType 0鍟嗗煄璁㈠崟 1绉垎娴佹按 2浜掑姩璇勪环 3浼樻儬鍒�
+ *
+ */
+
+ public void saveNoticeInfo(Integer type,Integer objType,Integer memberId
+ ,String title,String content,Integer objId){
+ Notice notice = new Notice();
+ notice.setCreateDate(new Date());
+ notice.setIsdeleted(Constants.ZERO);
+ notice.setTitle(title);
+ notice.setContent(content);
+ notice.setType(type);
+ notice.setObjType(objType);
+ notice.setObjId(objId);
+ notice.setMemberId(memberId);
+ noticeMapper.insert(notice);
+ }
+
+
+ /**
+ * 绉垎鍙樺姩娑堟伅绫诲瀷
+ * @param integralObjType 绉垎鍙樺姩绫诲瀷
+ * @param memberId 鐢ㄦ埛涓婚敭/鍟嗘埛涓婚敭
+ * @param integral 鍙樺姩绉垎/鐜伴噾鍊�
+ * @param objId 鍏宠仈瀵硅薄涓婚敭 - 绉垎娴佹按鍙樺姩璁板綍涓婚敭
+ * @param param1 param2
+ */
+ public void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType,Integer type, Integer memberId, Integer integral, Integer objId,String param1){
+ String title = integralObjType.getName();
+ String info = integralObjType.getNoteinfo();
+ info = info.replace("${param}",integral.toString()).replace("${param1}",param1);
+ this.saveNoticeInfo(
+ type,
+ Constants.ONE,
+ memberId,
+ title,
+ info,
+ objId
+ );
+ }
+
+ public void couponNotice(Integer memberId,List<CouponNoticeRequest> couponList){
+ String info = "鎭枩鎮ㄨ幏寰椼�愪紭鎯犺鍒欍�戙�愪紭鎯犲埜绫诲瀷銆�";
+ //鎭枩鎮ㄨ幏寰� 婊�50鍑�10鎶垫墸鍒�
+ for (CouponNoticeRequest c:couponList) {
+ MemberCoupon mc = c.getMemberCoupon();
+ Constants.equalsInteger(mc.getCouponType(),Constants.ZERO)?
+
+
+
+
+ }
+
+
+// this.saveNoticeInfo(
+// type,
+// Constants.ONE,
+// memberId,
+// "鑾峰緱绯荤粺鍙戞斁鐨勪紭鎯犲埜",
+// info,
+// objId
+// );
+//
+
+
+ }
+
+
+
}
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/LabelsApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/LabelsApi.java
index 02f2c10..6cd6f16 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/LabelsApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/LabelsApi.java
@@ -12,6 +12,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@@ -21,7 +22,7 @@
*/
@Api(tags = "鏍囩淇℃伅琛ㄤ笟鍔�")
@Trace(exclude = true)
-//@RestController
+@RestController
@RequestMapping("/web/labels")
@Slf4j
public class LabelsApi extends ApiController{
@@ -48,11 +49,11 @@
@ApiOperation(value = "鑾峰彇鍒嗙被淇℃伅", notes = "灏忕▼搴忕")
@GetMapping("/getGoodsLabelsByType")
@ApiImplicitParams({
- @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "绫诲瀷0鍟嗗搧鍒嗙被 1鍟嗗搧鍝佺墝 2鍟嗗鏍囩 3蹇�� 4閫�璐ч�夐」 5鎹㈣揣閫夐」 6閫�娆鹃�夐」 7鍙栨秷璁㈠崟閫夐」 8鍜栧暋鐧剧鍒嗙被 9鍜� 璇㈠垎绫� 10娲诲姩璧涗簨鍒嗙被 11杈句汉鎺㈠簵鍒嗙被", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "parentId", value = "鐖剁骇涓婚敭", required = false),
})
- public ApiResponse<List<LabelsResponse>> getGoodsLabelsByType(Integer type){
- return ApiResponse.success(labelsService.getGoodsLabelsByType(type));
+ public ApiResponse<List<LabelsResponse>> getGoodsLabelsByType(@RequestParam Integer type,Integer parentId){
+ return ApiResponse.success(labelsService.getGoodsLabelsByType(type,parentId));
}
--
Gitblit v1.9.3