From e39dda2f25df9680e66c9e0dd3a606149e21bcc5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 22 四月 2026 20:06:37 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java | 156 +++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 136 insertions(+), 20 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java
index bf5a84a..efd4e45 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java
@@ -32,6 +32,7 @@
import com.doumee.dao.vo.ShopCenterVO;
import com.doumee.dao.vo.ShopLoginVO;
import com.doumee.dao.vo.ShopNearbyVO;
+import com.doumee.dao.vo.ShopSalesStatsVO;
import com.doumee.dao.vo.ShopWebDetailVO;
import com.doumee.service.business.AreasService;
import com.doumee.service.business.ShopInfoService;
@@ -236,11 +237,9 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public void applyShop(ShopApplyDTO request, Member member) {
- Integer memberId = member.getId();
+ public void applyShop(ShopApplyDTO request) {
+ Member member = memberMapper.selectById(request.getMemberId());
- // 1. 鏍¢獙闂ㄥ簵鎵嬫満鍙峰敮涓�鎬э紙shop_info.telephone锛�
- checkTelephoneUnique(request.getTelephone(), null);
// 2. 鏍规嵁绫诲瀷鏍¢獙闄勪欢
if (Constants.equalsInteger(request.getCompanyType(), Constants.ZERO)) {
@@ -275,7 +274,7 @@
// 3. 鏌ヨ璇ヤ細鍛樻槸鍚﹀凡鏈夐棬搴楄褰�
QueryWrapper<ShopInfo> existQw = new QueryWrapper<>();
existQw.lambda()
- .eq(ShopInfo::getRegionMemberId, memberId)
+ .eq(ShopInfo::getRegionMemberId, member.getId())
.eq(ShopInfo::getDeleted, Constants.ZERO)
.last("limit 1");
ShopInfo existing = shopInfoMapper.selectOne(existQw);
@@ -315,15 +314,17 @@
existing.setPassword(encryptedPassword);
existing.setSalt(salt);
existing.setAliAccount(request.getAliAccount());
- existing.setAuditStatus(Constants.ZERO);
+ existing.setAliName(request.getAliName());
existing.setUpdateTime(now);
- existing.setUpdateUser(memberId);
existing.setAuditRemark(null);
existing.setAuditTime(null);
existing.setAuditUserId(null);
+ existing.setAuditStatus(Constants.ZERO);
shopInfoMapper.updateById(existing);
shopId = existing.getId();
} else {
+ // 1. 鏍¢獙闂ㄥ簵鎵嬫満鍙峰敮涓�鎬э紙shop_info.telephone锛�
+ checkTelephoneUnique(request.getTelephone(), null);
// 鏂板缓
ShopInfo shopInfo = new ShopInfo();
shopInfo.setCompanyType(request.getCompanyType());
@@ -345,14 +346,12 @@
shopInfo.setPassword(encryptedPassword);
shopInfo.setSalt(salt);
shopInfo.setAliAccount(request.getAliAccount());
- shopInfo.setOpenid(member.getOpenid());
- shopInfo.setAuditStatus(Constants.ZERO);
+ shopInfo.setAliName(request.getAliName());
shopInfo.setStatus(Constants.ZERO);
shopInfo.setDeleted(Constants.ZERO);
shopInfo.setCreateTime(now);
shopInfo.setUpdateTime(now);
- shopInfo.setCreateUser(memberId);
- shopInfo.setRegionMemberId(memberId);
+ shopInfo.setRegionMemberId(member.getId());
shopInfoMapper.insert(shopInfo);
shopId = shopInfo.getId();
}
@@ -554,6 +553,8 @@
shopInfo.setLegalPersonName(request.getLegalPersonName());
shopInfo.setLegalPersonPhone(request.getLegalPersonPhone());
shopInfo.setLegalPersonCard(request.getLegalPersonCard());
+ shopInfo.setAliAccount(request.getAliAccount());
+ shopInfo.setAliName(request.getAliName());
shopInfo.setUpdateTime(now);
shopInfoMapper.updateById(shopInfo);
@@ -657,12 +658,15 @@
vo.setPayStatus(shopInfo.getPayStatus());
vo.setScore(shopInfo.getScore());
vo.setCreateTime(shopInfo.getCreateTime());
+ vo.setAliAccount(shopInfo.getAliAccount());
+ vo.setAliName(shopInfo.getAliName());
+ vo.setDepositAmount(shopInfo.getDepositAmount());
// 鎷兼帴鍥剧墖鍓嶇紑
String imgPrefix = "";
try {
imgPrefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
- + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.SHOP_FILES).getCode();
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILES).getCode();
} catch (Exception e) {
// 鏈厤缃椂蹇界暐
}
@@ -720,7 +724,7 @@
String memberPrefix = "";
try {
memberPrefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
- + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.MEMBER_FILES).getCode();
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILES).getCode();
} catch (Exception e) {
// 鏈厤缃椂蹇界暐
}
@@ -761,6 +765,12 @@
qw.lambda().like(ShopInfo::getName, dto.getName());
}
+ // 鍩庡競绛涢�夛紙areaId鏄尯鍘匡紝闇�鍖归厤鍏秔arentId绛変簬鍩庡競ID锛�
+ if (dto.getCityId() != null) {
+ qw.inSql("AREA_ID",
+ "SELECT id FROM areas WHERE parent_id = " + dto.getCityId() + " AND isdeleted = 0");
+ }
+
// 璺濈绛涢�夛紙鍗曚綅锛氱背 鈫� 杞崲涓簁m姣旇緝锛�
if (distanceMeter != null && distanceMeter > 0) {
double maxKm = distanceMeter / 1000.0;
@@ -793,6 +803,8 @@
vo.setShopHours(shop.getShopHours());
vo.setAddress(shop.getAddress());
vo.setScore(shop.getScore());
+ vo.setLatitude(shop.getLatitude());
+ vo.setLongitude(shop.getLongitude());
// 闂ㄥご鐓х涓�寮�
vo.setCoverImg(getFirstImage(shop.getId(), Constants.FileType.STORE_FRONT.getKey(), imgPrefix));
// 璺濈
@@ -823,6 +835,10 @@
vo.setName(shop.getName());
vo.setAddress(shop.getAddress());
vo.setContent(shop.getContent());
+ vo.setDepositTypes(shop.getDepositTypes());
+ vo.setFeeStandard(shop.getFeeStandard());
+ vo.setLatitude(shop.getLatitude());
+ vo.setLongitude(shop.getLongitude());
// 闂ㄥご鐓� + 鍐呴儴鐓� 鍏ㄨ矾寰勯泦鍚�
String imgPrefix = getShopPrefix();
@@ -911,7 +927,7 @@
private String getShopPrefix() {
try {
return systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
- + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.SHOP_FILES).getCode();
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILES).getCode();
} catch (Exception e) {
return "";
}
@@ -965,7 +981,7 @@
vo.setCoverImg(shop.getCoverImg());
if (StringUtils.isNotBlank(shop.getCoverImg())) {
String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
- + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.SHOP_FILES).getCode();
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILES).getCode();
vo.setFullCoverImg(path + shop.getCoverImg());
}
vo.setHasMessage(false);
@@ -981,6 +997,106 @@
.eq(Orders::getDeleted, Constants.ZERO)
.in(Orders::getStatus, Constants.OrderStatus.delivering.getStatus(), Constants.OrderStatus.arrived.getStatus()));
vo.setWaitReceiveCount(waitReceiveCount.intValue());
+ // 鏀粯瀹濇彁鐜拌处鍙�
+ vo.setAliAccount(shop.getAliAccount());
+ vo.setAliName(shop.getAliName());
+ return vo;
+ }
+
+ @Override
+ public ShopSalesStatsVO getShopSalesStats(Integer shopId, Integer period) {
+ // 璁$畻鏃堕棿鑼冨洿 0=浠婃棩 1=鏈湀 2=涓婃湀
+ Calendar cal = Calendar.getInstance();
+ Date startTime;
+ Date endTime;
+
+ if (Constants.equalsInteger(period, 2)) {
+ // 涓婃湀锛氫笂鏈�1鍙�00:00:00 ~ 鏈湀1鍙�00:00:00
+ cal.set(Calendar.DAY_OF_MONTH, 1);
+ cal.set(Calendar.HOUR_OF_DAY, 0);
+ cal.set(Calendar.MINUTE, 0);
+ cal.set(Calendar.SECOND, 0);
+ cal.set(Calendar.MILLISECOND, 0);
+ endTime = cal.getTime();
+ cal.add(Calendar.MONTH, -1);
+ startTime = cal.getTime();
+ } else if (Constants.equalsInteger(period, 1)) {
+ // 鏈湀锛氭湰鏈�1鍙�00:00:00 ~ 涓嬫湀1鍙�00:00:00
+ cal.set(Calendar.DAY_OF_MONTH, 1);
+ cal.set(Calendar.HOUR_OF_DAY, 0);
+ cal.set(Calendar.MINUTE, 0);
+ cal.set(Calendar.SECOND, 0);
+ cal.set(Calendar.MILLISECOND, 0);
+ startTime = cal.getTime();
+ cal.add(Calendar.MONTH, 1);
+ endTime = cal.getTime();
+ } else {
+ // 浠婃棩锛氫粖澶�00:00:00 ~ 鏄庡ぉ00:00:00
+ cal.set(Calendar.HOUR_OF_DAY, 0);
+ cal.set(Calendar.MINUTE, 0);
+ cal.set(Calendar.SECOND, 0);
+ cal.set(Calendar.MILLISECOND, 0);
+ startTime = cal.getTime();
+ cal.add(Calendar.DAY_OF_MONTH, 1);
+ endTime = cal.getTime();
+ }
+
+ ShopSalesStatsVO vo = new ShopSalesStatsVO();
+
+ // 1. 閿�鍞 + 璁㈠崟鏁帮細鎸夎鍗曞垱寤烘椂闂达紝瀛樹欢闂ㄥ簵鎴栧彇浠堕棬搴楁槸鏈棬搴�
+ // 瀛樹欢闂ㄥ簵
+ List<Orders> depositSalesOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .ge(Orders::getCreateTime, startTime)
+ .lt(Orders::getCreateTime, endTime)
+ .eq(Orders::getDepositShopId, shopId));
+ // 鍙栦欢闂ㄥ簵
+ List<Orders> takeSalesOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .ge(Orders::getCreateTime, startTime)
+ .lt(Orders::getCreateTime, endTime)
+ .eq(Orders::getTakeShopId, shopId));
+ long salesAmount = depositSalesOrders.stream().mapToLong(o -> o.getTotalAmount() != null ? o.getTotalAmount() : 0L).sum()
+ + takeSalesOrders.stream().mapToLong(o -> o.getTotalAmount() != null ? o.getTotalAmount() : 0L).sum();
+ vo.setSalesAmount(salesAmount);
+ vo.setOrderCount(depositSalesOrders.size() + takeSalesOrders.size());
+
+ // 2. 缁撶畻鍒╂鼎锛氭寜缁撶畻鏃堕棿锛屾牴鎹棬搴楄鑹插彇depositShopFee鎴杢akeShopFee
+ // 瀛樹欢闂ㄥ簵 = 鏈棬搴� 鐨勮鍗曪紝鍙� depositShopFee
+ List<Orders> depositSettleOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .eq(Orders::getSettlementStatus, Constants.ONE)
+ .ge(Orders::getSettlementTime, startTime)
+ .lt(Orders::getSettlementTime, endTime)
+ .eq(Orders::getDepositShopId, shopId));
+ // 鍙栦欢闂ㄥ簵 = 鏈棬搴� 鐨勮鍗曪紝鍙� takeShopFee
+ List<Orders> takeSettleOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .eq(Orders::getSettlementStatus, Constants.ONE)
+ .ge(Orders::getSettlementTime, startTime)
+ .lt(Orders::getSettlementTime, endTime)
+ .eq(Orders::getTakeShopId, shopId));
+ long depositFee = depositSettleOrders.stream()
+ .mapToLong(o -> o.getDepositShopFee() != null ? o.getDepositShopFee() : 0L).sum();
+ long takeFee = takeSettleOrders.stream()
+ .mapToLong(o -> o.getTakeShopFee() != null ? o.getTakeShopFee() : 0L).sum();
+ vo.setSettlementProfit(depositFee + takeFee);
+
+ // 3. 鍦ㄥ簱璁㈠崟鏁�
+ // 3.1 瀛樹欢闂ㄥ簵=鏈棬搴楋紝status in (2宸插瘎瀛�, 5寰呭彇浠�)
+ Long depositStorageCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .eq(Orders::getDepositShopId, shopId)
+ .in(Orders::getStatus,
+ Constants.OrderStatus.deposited.getStatus(),
+ Constants.OrderStatus.arrived.getStatus()));
+ // 3.2 鍙栦欢闂ㄥ簵=鏈棬搴楋紝status = 5寰呭彇浠�
+ Long takeStorageCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .eq(Orders::getTakeShopId, shopId)
+ .eq(Orders::getStatus, Constants.OrderStatus.arrived.getStatus()));
+ vo.setStorageCount(depositStorageCount.intValue() + takeStorageCount.intValue());
+
return vo;
}
@@ -1044,18 +1160,18 @@
}
@Override
- public ShopLoginVO shopSilentLogin(String openid) {
- if (StringUtils.isBlank(openid)) {
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "openid涓嶈兘涓虹┖");
+ public ShopLoginVO shopSilentLogin(Integer memberId) {
+ Member member = memberMapper.selectById(memberId);
+ if(Objects.isNull(member)||StringUtils.isBlank(member.getOpenid())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "褰撳墠鐧诲綍浼氬憳韬唤寮傚父,璇疯仈绯荤鐞嗗憳!");
}
ShopInfo shop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
- .eq(ShopInfo::getOpenid, openid)
+ .eq(ShopInfo::getOpenid, member.getOpenid())
.eq(ShopInfo::getDeleted, Constants.ZERO)
.last("limit 1"));
if (shop == null) {
return null;
}
-
// 鍒涘缓token锛坓enerateTokenForRedis 宸茶嚜鍔ㄦ竻闄よ鐢ㄦ埛鏃oken锛屼繚璇佸敮涓�鏈夋晥锛�
String token = JwtTokenUtil.generateTokenForRedis(shop.getId(), Constants.TWO, JSONObject.toJSONString(shop), redisTemplate);
--
Gitblit v1.9.3