From b1dbef13075c3a6fea62e41db4cdcd7334e1e92b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 02 三月 2026 13:42:55 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java | 5
server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java | 1
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java | 4
server/dmmall_service/src/main/java/com/doumee/core/utils/UniqueVerificationCodeGenerator.java | 255 ++++++++++++++++++++++++++++++++++++
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AddrServiceImpl.java | 22 +++
server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java | 3
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 49 ++++++
server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java | 4
server/dmmall_service/src/main/java/com/doumee/task/ScheduleTool.java | 1
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 11 +
server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java | 16 +-
server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java | 2
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java | 4
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java | 7 -
14 files changed, 359 insertions(+), 25 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 0957b51..a884c7f 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
@@ -168,6 +168,7 @@
public static final String ACTIVITY_SIGN_KEY = "actcode_";
public static final String AFTERSALE_KEY = "salecode_";
public static final String WITHDRAW_KEY = "withdraw_";
+ public static final String EXCHANGE_KEY = "exchange_";
}
/**
* 浼佷笟鏁版嵁鏉ユ簮 0骞冲彴娉ㄥ唽 1鍚庡彴瀵煎叆
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/utils/UniqueVerificationCodeGenerator.java b/server/dmmall_service/src/main/java/com/doumee/core/utils/UniqueVerificationCodeGenerator.java
new file mode 100644
index 0000000..8ae73ed
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/core/utils/UniqueVerificationCodeGenerator.java
@@ -0,0 +1,255 @@
+package com.doumee.core.utils;
+
+import java.security.SecureRandom;
+import java.util.HashSet;
+import java.util.Random;
+import java.util.Set;
+import java.util.concurrent.ThreadLocalRandom;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * 涓嶉噸澶嶆牳閿�鐮佺敓鎴愬櫒
+ * 鐢ㄤ簬鐢熸垚鍞竴涓旀槗浜庤瘑鍒殑鏍搁攢鐮�
+ */
+public class UniqueVerificationCodeGenerator {
+
+ private final Set<String> usedCodes;
+ private final int codeLength;
+ private final String prefix;
+ private final String suffix;
+ private final Random random;
+ private final boolean useSecureRandom;
+ private final CodeFormat format;
+
+ // 鏍搁攢鐮佹牸寮忔灇涓�
+ public enum CodeFormat {
+ NUMERIC_ONLY("0123456789"),
+ ALPHANUMERIC("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"),
+ LETTERS_ONLY("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+
+ private final String characters;
+
+ CodeFormat(String characters) {
+ this.characters = characters;
+ }
+
+ public String getCharacters() {
+ return characters;
+ }
+ }
+
+ /**
+ * 鏋勯�犲嚱鏁� - 榛樿鏁板瓧鏍煎紡
+ * @param codeLength 鏍搁攢鐮侀暱搴�
+ */
+ public UniqueVerificationCodeGenerator(int codeLength) {
+ this(codeLength, "", "", CodeFormat.NUMERIC_ONLY, false);
+ }
+
+ /**
+ * 鏋勯�犲嚱鏁� - 瀹屾暣閰嶇疆
+ * @param codeLength 鏍搁攢鐮侀暱搴�
+ * @param prefix 鍓嶇紑
+ * @param suffix 鍚庣紑
+ * @param format 鏍搁攢鐮佹牸寮�
+ * @param useSecureRandom 鏄惁浣跨敤瀹夊叏闅忔満鏁扮敓鎴愬櫒
+ */
+ public UniqueVerificationCodeGenerator(int codeLength, String prefix, String suffix,
+ CodeFormat format, boolean useSecureRandom) {
+ if (codeLength < 1) {
+ throw new IllegalArgumentException("鏍搁攢鐮侀暱搴﹀繀椤诲ぇ浜�0");
+ }
+
+ this.codeLength = codeLength;
+ this.prefix = prefix != null ? prefix : "";
+ this.suffix = suffix != null ? suffix : "";
+ this.format = format;
+ this.usedCodes = new HashSet<>();
+ this.useSecureRandom = useSecureRandom;
+ this.random = useSecureRandom ? new SecureRandom() : ThreadLocalRandom.current();
+ }
+
+ /**
+ * 鐢熸垚涓嬩竴涓笉閲嶅鐨勬牳閿�鐮�
+ * @return 鏍搁攢鐮侊紝濡傛灉娌℃湁鍙敤缁勫悎鍒欒繑鍥瀗ull
+ */
+ public String nextUniqueCode() {
+ int maxAttempts = 1000;
+ int attempts = 0;
+
+ while (attempts < maxAttempts) {
+ String code = generateCode();
+ if (!usedCodes.contains(code)) {
+ usedCodes.add(code);
+ return code;
+ }
+ attempts++;
+ }
+
+ // 濡傛灉闅忔満鐢熸垚澶辫触锛屽皾璇曢『搴忕敓鎴�
+ return generateSequentialCode();
+ }
+
+ /**
+ * 鐢熸垚鎸囧畾鏁伴噺鐨勪笉閲嶅鏍搁攢鐮�
+ * @param count 鏁伴噺
+ * @return 鏍搁攢鐮佸垪琛�
+ */
+ public List<String> nextUniqueCodes(int count) {
+ List<String> result = new ArrayList<>();
+ for (int i = 0; i < count; i++) {
+ String code = nextUniqueCode();
+ if (code == null) {
+ break; // 娌℃湁鏇村鍙敤缁勫悎
+ }
+ result.add(code);
+ }
+ return result;
+ }
+
+ /**
+ * 鐢熸垚鍗曚釜鏍搁攢鐮侊紙涓嶆鏌ラ噸澶嶏級
+ * @return 鏍搁攢鐮�
+ */
+ private String generateCode() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(prefix);
+
+ String characters = format.getCharacters();
+ for (int i = 0; i < codeLength; i++) {
+ int index = random.nextInt(characters.length());
+ sb.append(characters.charAt(index));
+ }
+
+ sb.append(suffix);
+ return sb.toString();
+ }
+
+ /**
+ * 椤哄簭鐢熸垚鏍搁攢鐮侊紙浣滀负澶囬�夋柟妗堬級
+ */
+ private String generateSequentialCode() {
+ String characters = format.getCharacters();
+ long totalCombinations = (long) Math.pow(characters.length(), codeLength);
+
+ if (usedCodes.size() >= totalCombinations) {
+ return null; // 鎵�鏈夊彲鑳界粍鍚堥兘宸蹭娇鐢�
+ }
+
+ // 瀵绘壘涓嬩竴涓湭浣跨敤鐨勭粍鍚�
+ for (long i = 0; i < totalCombinations; i++) {
+ String code = convertToCode(i, characters);
+ String fullCode = prefix + code + suffix;
+ if (!usedCodes.contains(fullCode)) {
+ usedCodes.add(fullCode);
+ return fullCode;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * 灏嗘暟瀛楄浆鎹负鎸囧畾瀛楃闆嗙殑缂栫爜
+ */
+ private String convertToCode(long number, String characters) {
+ StringBuilder sb = new StringBuilder();
+ long base = characters.length();
+
+ for (int i = 0; i < codeLength; i++) {
+ sb.append(characters.charAt((int) (number % base)));
+ number /= base;
+ }
+
+ return sb.reverse().toString();
+ }
+
+ /**
+ * 閲嶇疆鐢熸垚鍣�
+ */
+ public void reset() {
+ usedCodes.clear();
+ }
+
+ /**
+ * 鑾峰彇宸蹭娇鐢ㄧ殑鏍搁攢鐮佹暟閲�
+ */
+ public int getUsedCount() {
+ return usedCodes.size();
+ }
+
+ /**
+ * 妫�鏌ユ槸鍚﹁繕鏈夊彲鐢ㄧ殑鏍搁攢鐮佺粍鍚�
+ */
+ public boolean hasMoreCodes() {
+ String characters = format.getCharacters();
+ long totalCombinations = (long) Math.pow(characters.length(), codeLength);
+ return usedCodes.size() < totalCombinations;
+ }
+
+ // ==================== 闈欐�佷究鎹锋柟娉� ====================
+
+ /**
+ * 鐢熸垚鏁板瓧鍨嬫牳閿�鐮侊紙榛樿6浣嶏級
+ */
+ public static String generateNumericCode() {
+ return generateNumericCode(6);
+ }
+
+ /**
+ * 鐢熸垚鎸囧畾闀垮害鐨勬暟瀛楀瀷鏍搁攢鐮�
+ */
+ public static String generateNumericCode(int length) {
+ UniqueVerificationCodeGenerator generator =
+ new UniqueVerificationCodeGenerator(length, "", "", CodeFormat.NUMERIC_ONLY, true);
+ return generator.nextUniqueCode();
+ }
+
+ /**
+ * 鎵归噺鐢熸垚鏁板瓧鍨嬫牳閿�鐮�
+ */
+ public static List<String> generateNumericCodes(int length, int count) {
+ UniqueVerificationCodeGenerator generator =
+ new UniqueVerificationCodeGenerator(length, "", "", CodeFormat.NUMERIC_ONLY, true);
+ return generator.nextUniqueCodes(count);
+ }
+
+ /**
+ * 鐢熸垚甯﹀墠缂�鐨勬牳閿�鐮�
+ */
+ public static String generatePrefixedCode(String prefix, int length) {
+ UniqueVerificationCodeGenerator generator =
+ new UniqueVerificationCodeGenerator(length, prefix, "", CodeFormat.NUMERIC_ONLY, true);
+ return generator.nextUniqueCode();
+ }
+
+ /**
+ * 鐢熸垚瀛楁瘝鏁板瓧娣峰悎鏍搁攢鐮�
+ */
+ public static String generateAlphanumericCode(int length) {
+ UniqueVerificationCodeGenerator generator =
+ new UniqueVerificationCodeGenerator(length, "", "", CodeFormat.ALPHANUMERIC, true);
+ return generator.nextUniqueCode();
+ }
+
+ /**
+ * 鐢熸垚璁㈠崟鍙锋牸寮忕殑鏍搁攢鐮侊紙濡傦細ORD20241201XXXXXX锛�
+ */
+ public static String generateOrderCode(String prefix) {
+ String datePart = java.time.LocalDateTime.now().format(
+ java.time.format.DateTimeFormatter.ofPattern("yyyyMMdd"));
+ UniqueVerificationCodeGenerator generator =
+ new UniqueVerificationCodeGenerator(6, prefix + datePart, "", CodeFormat.NUMERIC_ONLY, true);
+ return generator.nextUniqueCode();
+ }
+
+ /**
+ * 鐢熸垚浼樻儬鍒哥爜鏍煎紡锛堝锛欳OUPON-XXXXXX锛�
+ */
+ public static String generateCouponCode() {
+ UniqueVerificationCodeGenerator generator =
+ new UniqueVerificationCodeGenerator(8, "COUPON-", "", CodeFormat.ALPHANUMERIC, true);
+ return generator.nextUniqueCode();
+ }
+}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java
index a37c8c9..f47066a 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java
@@ -239,4 +239,7 @@
void orderRefund(Goodsorder goodsorder);
+
+ String createExchangeCode();
+
}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java
index 10742fd..ee20e5d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -130,7 +130,7 @@
AccountResponse wxLogin(String code);
-// AccountResponse wxLoginTest( Integer recId);
+ AccountResponse wxLoginTest( Integer memberId);
/**
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
index 0470ffd..218c342 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
@@ -1117,8 +1117,9 @@
.eq(Activity::getStatus,Constants.ZERO)
.eq(Objects.nonNull(model.getLabelId()),Activity::getLabelId,model.getLabelId())
.eq(Objects.nonNull(model.getBrandId()),Activity::getBrandId,model.getBrandId())
- .like(StringUtils.isNotBlank(model.getInfo()),Activity::getContent,model.getInfo())
- .orderByDesc(Labels::getId)
+ .and(StringUtils.isNotBlank(model.getInfo()),i->i.like(Activity::getContent,model.getInfo()).or()
+ .like(Activity::getName,model.getInfo()))
+ .orderByDesc(Activity::getId)
;
queryWrapper.orderByDesc(Activity::getCreateDate);
IPage<Activity> activityIPage = activityJoinMapper.selectJoinPage(page, Activity.class, queryWrapper);
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AddrServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AddrServiceImpl.java
index 808a33c..e70f2cc 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AddrServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AddrServiceImpl.java
@@ -1,5 +1,7 @@
package com.doumee.service.business.impl;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -41,7 +43,15 @@
@Override
public Integer create(AddrDTO addrDTO,Integer memberId) {
-
+ if(Objects.isNull(addrDTO)
+ || StringUtils.isBlank(addrDTO.getAddr())
+ || StringUtils.isBlank(addrDTO.getName())
+ || StringUtils.isBlank(addrDTO.getPhone())
+ || Objects.isNull(addrDTO.getAreaId())
+ || Objects.isNull(addrDTO.getIsDefault())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
Addr addr = new Addr();
addr.setMemberId(memberId);
addr.setIsDefault(addrDTO.getIsDefault());
@@ -165,6 +175,16 @@
@Override
public void update(AddrDTO addrDTO) {
+ if(Objects.isNull(addrDTO)
+ || StringUtils.isBlank(addrDTO.getAddr())
+ || StringUtils.isBlank(addrDTO.getName())
+ || StringUtils.isBlank(addrDTO.getPhone())
+ || Objects.isNull(addrDTO.getAreaId())
+ || Objects.isNull(addrDTO.getIsDefault())
+ || Objects.isNull(addrDTO.getId())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
//瀛樺湪璁剧疆
if (Objects.nonNull(addrDTO.getIsDefault())
&& Constants.equalsInteger(addrDTO.getIsDefault(),Constants.ONE)){
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 4d1003d..38747e8 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
@@ -1173,6 +1173,10 @@
.eq(Goodsorder::getId, goodsorder.getId())
);
+ //閲婃斁鏍搁攢鐮�
+ if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)&&StringUtils.isNotBlank(goodsorder.getExchangeCode())){
+ RedisUtil.deleteObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+goodsorder.getExchangeCode());
+ }
}
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 42dc97c..057ce21 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
@@ -1205,6 +1205,10 @@
goodsorder.setCancelInfo(cancelInfo);
goodsorder.setCancelUser(optUserId);
goodsorderMapper.updateById(goodsorder);
+ if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)){
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
+ }
String goodsName = "";
List<GoodsorderDetail> goodsorderDetailList = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().eq("ORDER_ID",goodsorder.getId()));
if(!Objects.isNull(goodsorderDetailList)&&goodsorderDetailList.size()>Constants.ZERO){
@@ -1282,6 +1286,10 @@
goodsorder.setCancelInfo(StringUtils.isBlank(cancelInfo)?"鐢ㄦ埛涓诲姩鍙栨秷":cancelInfo);
goodsorder.setCancelUser(optUserId);
goodsorderMapper.updateById(goodsorder);
+ if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)){
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
+ }
String goodsName = "";
List<GoodsorderDetail> goodsorderDetailList = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().eq("ORDER_ID",goodsorder.getId()));
if(!Objects.isNull(goodsorderDetailList)&&goodsorderDetailList.size()>Constants.ZERO){
@@ -1311,8 +1319,6 @@
memberCouponMapper.updateById(memberCoupon);
}
}
-
-
}
public BigDecimal getDeductAmount(List<PayDetailRequest> requestList){
@@ -1777,6 +1783,8 @@
goodsorder.setStatus(Constants.OrderStatus.DONE.getKey());
goodsorder.setDoneDate(new Date());
goodsorderMapper.updateById(goodsorder);
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
//瀛樺湪鐜伴噾鏀粯 璧犻�� 绉垎
if(Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ZERO)){
//璧犻�佹秷璐硅�呯Н鍒�
@@ -1911,8 +1919,6 @@
if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氳鍗曟湭瀹屾垚锛屾棤娉曢��娆撅紒");
}
-
-
}
@@ -2222,4 +2228,39 @@
+ @Override
+ public String createExchangeCode(){
+ List<Goodsorder> goodsorderList = goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
+ .eq(Goodsorder::getIsdeleted,Constants.ZERO)
+ .eq(Goodsorder::getReceiveType,Constants.ONE)
+ .in(Goodsorder::getStatus,Constants.OrderStatus.WAIT_RECEIVE.getKey(),
+ Constants.OrderStatus.WAIT_PAY.getKey(),
+ Constants.OrderStatus.PAY_DONE.getKey())
+ );
+ String exchangeCode = UniqueVerificationCodeGenerator.generateNumericCode();
+ if(CollectionUtils.isNotEmpty(goodsorderList)){
+ Boolean flag = true;
+ while (flag){
+ String finalExchangeCode = exchangeCode;
+ flag = goodsorderList.stream().filter(i->i.getExchangeCode().equals(finalExchangeCode)).count()>0L?true:false;
+ if(flag){
+ exchangeCode = UniqueVerificationCodeGenerator.generateNumericCode();
+ }
+ }
+ }
+ RedisUtil.addObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+exchangeCode,exchangeCode);
+ return exchangeCode;
+ }
+
+
+ /**
+ * 閲婃斁鏍搁攢鐮�
+ * @param code
+ */
+ public void releaseExchangeCode(String code){
+ if(StringUtils.isNotBlank(code)){
+ RedisUtil.deleteObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+code);
+ }
+ }
+
}
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 217c3c1..e7949b5 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
@@ -339,6 +339,17 @@
@Override
+ public AccountResponse wxLoginTest(Integer memberId){
+ Member member = memberMapper.selectById(memberId);
+ AccountResponse accountResponse = new AccountResponse();
+ String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
+ accountResponse.setToken(token);
+ accountResponse.setMember(member);
+ return accountResponse;
+ }
+
+
+ @Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public AccountResponse wxPhone(WxPhoneRequest wxPhoneRequest){
try {
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
index 263d5f3..61c08ad 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -712,7 +712,9 @@
.selectAll(Shop.class)
.select(" CONVERT( ST_Distance_Sphere ( POINT ( LONGITUDE, LATITUDE ), POINT ( '"+dto.getLgt()+"' , '"+dto.getLat()+"' )) /1000,DECIMAL(15,2))",Shop::getDistance)
.leftJoin(SystemUser.class,SystemUser::getId,Shop::getCreator)
- .like(StringUtils.isNotBlank(dto.getCityName()),Shop::getAddr,dto.getCityName())
+ .leftJoin("areas a1 on a1.id=t.area_id")
+ .leftJoin("areas a2 on a2.id=a1.parent_id")
+ .like(StringUtils.isNotBlank(dto.getCityName()),"a2.name",dto.getCityName())
.like(StringUtils.isNotBlank(dto.getShopName()),Shop::getName,dto.getShopName())
.orderByDesc(!isArea,Shop::getId)
.orderByAsc(isArea," distance ")
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java
index 8bc2f8a..e8b89d8 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java
@@ -234,13 +234,6 @@
.eq("MEMBER_ID",addCartGoodsRequest.getMemberId())
.eq("GOODS_SKU_ID",addCartGoodsRequest.getGoodsSkuId())
);
-// Goods goods = goodsMapper.selectById(addCartGoodsRequest.getGoodsId());
-// if(Objects.isNull(goods)){
-// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍟嗗搧淇℃伅");
-// }
-// if(!goods.getType().equals(Constants.ZERO)){
-// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闈炲晢鍩庡晢鍝佹棤娉曞姞鍏ヨ喘鐗╄溅");
-// }
GoodsSku goodsSku = goodsSkuMapper.selectById(addCartGoodsRequest.getGoodsSkuId());
if(Objects.isNull(goodsSku)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍟嗗搧SKU淇℃伅");
diff --git a/server/dmmall_service/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmmall_service/src/main/java/com/doumee/task/ScheduleTool.java
index 3a35880..b19a90e 100644
--- a/server/dmmall_service/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmmall_service/src/main/java/com/doumee/task/ScheduleTool.java
@@ -40,6 +40,7 @@
@Autowired
private AreasService areasService;
+
// @Autowired
// private AftersaleService aftersaleService;
//
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
index 28b6fc6..8269a4a 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
@@ -59,14 +59,14 @@
return ApiResponse.success(memberService.wxPhone(wxPhoneRequest));
}
-// @ApiOperation(value = "娴嬭瘯鐧婚檰鎺ュ彛", notes = "灏忕▼搴忕")
-// @GetMapping("/testLogin")
-// @ApiImplicitParams({
-// @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "memberId", value = "鐢ㄦ埛缂栫爜", required = false)
-// })
-// public ApiResponse testLogin(@RequestParam Integer memberId) {
-// return ApiResponse.success(memberService.wxLoginTest(memberId));
-// }
+ @ApiOperation(value = "娴嬭瘯鐧婚檰鎺ュ彛", notes = "灏忕▼搴忕")
+ @GetMapping("/testLogin")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "memberId", value = "鐢ㄦ埛缂栫爜", required = false)
+ })
+ public ApiResponse testLogin(@RequestParam Integer memberId) {
+ return ApiResponse.success(memberService.wxLoginTest(memberId));
+ }
@ApiOperation(value = "鑾峰彇绯荤粺閰嶇疆", notes = "灏忕▼搴忕")
@GetMapping("/getPlatformAboutUs")
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
index 8de04d0..0aae790 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
@@ -115,7 +115,9 @@
goodsOrder.setPayOrderId(paymentNo);
goodsOrder.setStatus(Constants.OrderStatus.PAY_DONE.getKey());
//鐢熸垚鏍搁攢鐮�
- goodsOrder.setExchangeCode(Constants.equalsInteger(goodsOrder.getReceiveType(),Constants.ZERO)?null:Constants.getRandomNumber());
+ if(Constants.equalsInteger(goodsOrder.getReceiveType(),Constants.ONE)){
+ goodsOrder.setExchangeCode(goodsorderService.createExchangeCode());
+ }
goodsOrder.setPayMethod(Constants.ZERO);
goodsorderService.updateById(goodsOrder);
if(Objects.nonNull(goodsOrder.getPickUpShopId())){
--
Gitblit v1.9.3