From b5f8660e06bb79d125019b4883e2b4807f095530 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 16 四月 2026 20:09:30 +0800
Subject: [PATCH] ~~~
---
server/services/src/main/java/com/doumee/dao/vo/ShopCenterVO.java | 33 ++
server/services/src/main/java/com/doumee/dao/business/OtherOrdersMapper.java | 7
server/admin/src/main/java/com/doumee/api/business/OtherOrdersController.java | 82 +++++
server/services/src/main/java/com/doumee/dao/business/model/OrderComment.java | 68 ++++
server/services/src/main/java/com/doumee/dao/dto/CommentOrderDTO.java | 44 ++
server/services/src/main/java/com/doumee/service/business/OtherOrdersService.java | 98 ++++++
server/services/src/main/java/com/doumee/service/business/impl/OtherOrdersServiceImpl.java | 131 ++++++++
server/services/src/main/java/com/doumee/dao/dto/StoreOutDTO.java | 31 ++
/dev/null | 201 -------------
server/services/src/main/java/com/doumee/dao/vo/PlatformAboutVO.java | 28 +
server/services/src/main/java/com/doumee/dao/business/OrderCommentMapper.java | 12
server/web/src/main/java/com/doumee/api/web/WalletApi.java | 6
server/services/src/main/java/com/doumee/dao/vo/RevenueStatisticsVO.java | 27 +
server/services/src/main/java/com/doumee/dao/business/model/OtherOrders.java | 90 ++++++
14 files changed, 657 insertions(+), 201 deletions(-)
diff --git a/server/admin/src/main/java/com/doumee/api/business/OtherOrdersController.java b/server/admin/src/main/java/com/doumee/api/business/OtherOrdersController.java
new file mode 100644
index 0000000..81b0bc1
--- /dev/null
+++ b/server/admin/src/main/java/com/doumee/api/business/OtherOrdersController.java
@@ -0,0 +1,82 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.OtherOrders;
+import com.doumee.service.business.OtherOrdersService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍏朵粬璁㈠崟绠$悊
+ * @author rk
+ * @date 2026/04/16
+ */
+@Api(tags = "鍏朵粬璁㈠崟")
+@RestController
+@RequestMapping("/business/otherOrders")
+public class OtherOrdersController extends BaseController {
+
+ @Autowired
+ private OtherOrdersService otherOrdersService;
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:otherOrders:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ otherOrdersService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:otherOrders:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String[] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ otherOrdersService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:otherOrders:update")
+ public ApiResponse updateById(@RequestBody OtherOrders otherOrders) {
+ otherOrdersService.updateById(otherOrders);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:otherOrders:query")
+ public ApiResponse<PageData<OtherOrders>> findPage(@RequestBody PageWrap<OtherOrders> pageWrap) {
+ return ApiResponse.success(otherOrdersService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:otherOrders:exportExcel")
+ public void exportExcel(@RequestBody PageWrap<OtherOrders> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(OtherOrders.class).export(otherOrdersService.findPage(pageWrap).getRecords(), "鍏朵粬璁㈠崟", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:otherOrders:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(otherOrdersService.findById(id));
+ }
+}
diff --git a/server/services/src/main/java/com/doumee/core/utils/huaweiOBS/ObsUtil.java b/server/services/src/main/java/com/doumee/core/utils/huaweiOBS/ObsUtil.java
deleted file mode 100644
index e7911c4..0000000
--- a/server/services/src/main/java/com/doumee/core/utils/huaweiOBS/ObsUtil.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package com.doumee.core.utils.huaweiOBS;
-
-import com.azure.storage.blob.BlobContainerClient;
-import com.azure.storage.blob.BlobServiceClient;
-import com.azure.storage.blob.BlobServiceClientBuilder;
-import com.doumee.core.utils.azure.AzureBlobUtil;
-import com.obs.services.BasicObsCredentialsProvider;
-import com.obs.services.ObsClient;
-import com.obs.services.exception.ObsException;
-import com.obs.services.model.*;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-/**
- * @date 2020/4/28
- */
-public class ObsUtil {
-
- public ObsClient obsClient;
- public String accessKey;
- public String accessId;
- public String endpoint;
-
- public BlobContainerClient blobContainerClient ;
-
- public ObsUtil(String accessId, String accessKey, String endpoint){
- try {
- this.accessId = accessId;
- this.accessKey = accessKey;
- this.endpoint = endpoint;
- this.obsClient = new ObsClient(new BasicObsCredentialsProvider(accessId, accessKey), this.endpoint);
- }catch (Exception e) {
- e.printStackTrace();
- }
-
- }
- private void initClient() {
- this.obsClient = new ObsClient(new BasicObsCredentialsProvider(this.accessId, this.accessKey), this.endpoint);
- }
- private void uploadLocalFile(File file,String bucket,String key) {
- try {
- if(this.obsClient == null){
- initClient();
- }
- // 鏂囦欢涓婁紶
- // localfile 涓哄緟涓婁紶鐨勬湰鍦版枃浠惰矾寰勶紝闇�瑕佹寚瀹氬埌鍏蜂綋鐨勬枃浠跺悕
- PutObjectRequest request = new PutObjectRequest();
- request.setBucketName(bucket);
- request.setObjectKey(key);
- request.setFile(file);
- obsClient.putObject(request);
- System.out.println("putObject successfully");
- } catch (ObsException e) {
- System.out.println("putObject failed");
- // 璇锋眰澶辫触,鎵撳嵃http鐘舵�佺爜
- System.out.println("HTTP Code:" + e.getResponseCode());
- // 璇锋眰澶辫触,鎵撳嵃鏈嶅姟绔敊璇爜
- System.out.println("Error Code:" + e.getErrorCode());
- // 璇锋眰澶辫触,鎵撳嵃璇︾粏閿欒淇℃伅
- System.out.println("Error Message:" + e.getErrorMessage());
- // 璇锋眰澶辫触,鎵撳嵃璇锋眰id
- System.out.println("Request ID:" + e.getErrorRequestId());
- System.out.println("Host ID:" + e.getErrorHostId());
- e.printStackTrace();
- } catch (Exception e) {
- System.out.println("putObject failed");
- // 鍏朵粬寮傚父淇℃伅鎵撳嵃
- e.printStackTrace();
- }
- }
-
-
- /**
- * 涓婁紶鏂囦欢
- * @param is
- * @param objectKey
- * @return
- * @throws IOException
- */
- public boolean uploadFile(String bucketName,InputStream is, String objectKey) throws Exception {
- if(this.obsClient == null){
- initClient();
- }
-
- try {
- // 涓婁紶瀛楃涓诧紙byte鏁扮粍锛�
- obsClient.putObject(bucketName, objectKey, is);
- System.out.println("putObject successfully");
- } catch (ObsException e) {
- System.out.println("putObject failed");
- // 璇锋眰澶辫触,鎵撳嵃http鐘舵�佺爜
- System.out.println("HTTP Code:" + e.getResponseCode());
- // 璇锋眰澶辫触,鎵撳嵃鏈嶅姟绔敊璇爜
- System.out.println("Error Code:" + e.getErrorCode());
- // 璇锋眰澶辫触,鎵撳嵃璇︾粏閿欒淇℃伅
- System.out.println("Error Message:" + e.getErrorMessage());
- // 璇锋眰澶辫触,鎵撳嵃璇锋眰id
- System.out.println("Request ID:" + e.getErrorRequestId());
- System.out.println("Host ID:" + e.getErrorHostId());
- return false;
- } catch (Exception e) {
- System.out.println("putObject failed");
- // 鍏朵粬寮傚父淇℃伅鎵撳嵃
- e.printStackTrace();
- return false;
- }finally {
- if(this.obsClient!=null){
- this.obsClient.close();
- }
- }
-
- return true;
- }
-
- public static void main(String[] args) {
- ObsUtil blobUtil = new ObsUtil("HPUAQVBRXX9A9TLZ3RTA","uHC2uoFh42Z2xgQmCBBtG8rNZ4Caf85qQ2DQqZZf","obs.cn-south-1.myhuaweicloud.com");
- blobUtil.uploadLocalFile(new File("D://static/1.png"),"jinkuai","orders/1.png");
- blobUtil.uploadLocalFile(new File("D://static/2.png"),"jinkuai","orders/2.png");
- blobUtil.uploadLocalFile(new File("D://static/3.png"),"jinkuai","orders/3.png");
- blobUtil.uploadLocalFile(new File("D://static/4.png"),"jinkuai","orders/4.png");
- }
- public static Integer uploadNetFile(ObsClient obsClient,String bucketName,String url, String objectKey) throws IOException {
- InputStream is = new URL(url).openStream();
- if(is != null){
- Boolean flag = obsClient.doesObjectExist(bucketName, objectKey);
- PutObjectResult result = null;
- result = obsClient.putObject(bucketName, objectKey, is);
- obsClient.close();
- return result.getStatusCode();
- }
- //鍚屽悕鏂囦欢鍙兘琚鐩�
- return null;
- }
-
- /**
- * 鑾峰緱鎵�鏈夋枃浠�
- * @return
- * @throws IOException
- */
- public List<ObsObject> getAllFileInfo( ObsClient obsClient,String bucketName) throws IOException {
- ObjectListing objectList = obsClient.listObjects(bucketName);
- List<ObsObject> list = objectList.getObjects();
- obsClient.close();
- return list;
- }
-
- /**
- * 鍒犻櫎鏂囦欢
- * @param objectKey
- * @return
- * @throws IOException
- */
- public Boolean removeFile(ObsClient obsClient,String bucketName,String objectKey) throws IOException {
- boolean exist = obsClient.doesObjectExist(bucketName, objectKey);
- DeleteObjectResult result = null;
- if (exist) {
- result = obsClient.deleteObject(bucketName, objectKey);
- }
- obsClient.close();
- //鏄惁鍙互琚爣璁颁负鍒犻櫎
- return result.isDeleteMarker();
- }
-
- /**
- * 鑾峰彇鏂囦欢瀵硅薄-涓嬭浇
- * @param objectKey
- * @return
- */
- public ObsObject getFile(ObsClient obsClient,String bucketName,String objectKey) {
- boolean exist = obsClient.doesObjectExist(bucketName, objectKey);
- if (exist) {
- ObsObject object = obsClient.getObject(bucketName, objectKey);
- return object;
- }
- return null;
- }
-
- /**
- * 棰勮鎺堟潈璁块棶-鏀寔娴佸紡鏂囦欢
- * 濡傛灉鏄祦寮忔枃浠讹紝杩斿洖鐨勯摼鎺ュ彲浠ュ湪娴忚鍣ㄩ瑙�
- * 濡傛灉鏄潪娴佸紡鏂囦欢锛岃繑鍥炵殑閾炬帴鍙互鍦ㄦ祻瑙堝櫒閲屼笅杞芥枃浠�
- * @param objectKey
- * @return
- * @throws IOException
- */
- public String preview(ObsClient obsClient,String bucketName,String objectKey) throws IOException {
- //300鏈夋晥鏃堕棿
- TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, 300);
- request.setBucketName(bucketName);
- request.setObjectKey(objectKey);
- TemporarySignatureResponse response = obsClient.createTemporarySignature(request);
- obsClient.close();
- return response.getSignedUrl();
- }
-
-}
diff --git a/server/services/src/main/java/com/doumee/dao/business/OrderCommentMapper.java b/server/services/src/main/java/com/doumee/dao/business/OrderCommentMapper.java
new file mode 100644
index 0000000..42cad7d
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/OrderCommentMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.doumee.dao.business.model.OrderComment;
+import com.github.yulichang.base.MPJBaseMapper;
+
+/**
+ * 璁㈠崟璇勪环璁板綍Mapper
+ * @author rk
+ * @date 2026/04/16
+ */
+public interface OrderCommentMapper extends MPJBaseMapper<OrderComment> {
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/OtherOrdersMapper.java b/server/services/src/main/java/com/doumee/dao/business/OtherOrdersMapper.java
new file mode 100644
index 0000000..4f1247b
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/OtherOrdersMapper.java
@@ -0,0 +1,7 @@
+package com.doumee.dao.business;
+
+import com.doumee.dao.business.model.OtherOrders;
+import com.github.yulichang.base.MPJBaseMapper;
+
+public interface OtherOrdersMapper extends MPJBaseMapper<OtherOrders> {
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/OrderComment.java b/server/services/src/main/java/com/doumee/dao/business/model/OrderComment.java
new file mode 100644
index 0000000..70f3d51
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/model/OrderComment.java
@@ -0,0 +1,68 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 璁㈠崟璇勪环璁板綍
+ * @author rk
+ * @date 2026/04/16
+ */
+@Data
+@ApiModel("璁㈠崟璇勪环璁板綍")
+@TableName("`order_comment`")
+public class OrderComment {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ private Integer id;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "0")
+ private Integer deleted;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鍏宠仈璁㈠崟涓婚敭", example = "1")
+ private Integer orderId;
+
+ @ApiModelProperty(value = "璁㈠崟缂栧彿")
+ private String orderCode;
+
+ @ApiModelProperty(value = "璇勪环浜�(浼氬憳)涓婚敭", example = "1")
+ private Integer memberId;
+
+ @ApiModelProperty(value = "璇勪环瀵硅薄绫诲瀷锛�1=瀛樹欢闂ㄥ簵锛�2=鍙栦欢闂ㄥ簵锛�3=鍙告満", example = "1")
+ private Integer targetType;
+
+ @ApiModelProperty(value = "璇勪环瀵硅薄涓婚敭(shop_info.id鎴杁river_info.id)", example = "1")
+ private Integer targetId;
+
+ @ApiModelProperty(value = "璇勫垎1-5", example = "5")
+ private Integer score;
+
+ @ApiModelProperty(value = "璇勪环鍐呭")
+ private String content;
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/OtherOrders.java b/server/services/src/main/java/com/doumee/dao/business/model/OtherOrders.java
new file mode 100644
index 0000000..95119c2
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/model/OtherOrders.java
@@ -0,0 +1,90 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鍏朵粬璁㈠崟璁板綍
+ * @author rk
+ * @date 2026/04/16
+ */
+@Data
+@ApiModel("鍏朵粬璁㈠崟璁板綍")
+@TableName("`other_orders`")
+public class OtherOrders {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name = "涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "0")
+ @ExcelColumn(name = "鏄惁宸插垹闄�")
+ private Integer deleted;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name = "鍒涘缓浜虹紪鐮�")
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ExcelColumn(name = "鍒涘缓鏃堕棿", width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name = "鏇存柊浜虹紪鐮�")
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "璁㈠崟绫诲瀷锛�0=搴楅摵鎶奸噾璁㈠崟;1=鍙告満鎶奸噾璁㈠崟;2=閫炬湡璐圭敤璁㈠崟", example = "0")
+ @ExcelColumn(name = "璁㈠崟绫诲瀷", valueMapping = "0=搴楅摵鎶奸噾璁㈠崟;1=鍙告満鎶奸噾璁㈠崟;2=閫炬湡璐圭敤璁㈠崟;")
+ private Integer type;
+
+ @ApiModelProperty(value = "鍏宠仈浼氬憳涓婚敭", example = "1")
+ @ExcelColumn(name = "鍏宠仈浼氬憳涓婚敭")
+ private Integer memberId;
+
+ @ApiModelProperty(value = "瀹為檯鏀粯璐圭敤")
+ @ExcelColumn(name = "瀹為檯鏀粯璐圭敤")
+ private Long payAccount;
+
+ @ApiModelProperty(value = "鏀粯鐘舵�侊細0=鏈敮浠�;1=宸叉敮浠�", example = "0")
+ @ExcelColumn(name = "鏀粯鐘舵��", valueMapping = "0=鏈敮浠�;1=宸叉敮浠�;")
+ private Integer payStatus;
+
+ @ApiModelProperty(value = "鏀粯鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ExcelColumn(name = "鏀粯鏃堕棿", width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ private Date payTime;
+
+ @ApiModelProperty(value = "璁㈠崟缂栧彿")
+ @ExcelColumn(name = "璁㈠崟缂栧彿")
+ private String code;
+
+ @ApiModelProperty(value = "寰俊骞冲彴浜ゆ槗璁㈠崟鍙�")
+ @ExcelColumn(name = "寰俊骞冲彴浜ゆ槗璁㈠崟鍙�")
+ private String wxExternalNo;
+
+ @ApiModelProperty(value = "鍏宠仈瀵勫瓨璁㈠崟涓婚敭", example = "1")
+ @ExcelColumn(name = "鍏宠仈瀵勫瓨璁㈠崟涓婚敭")
+ private Integer orderId;
+
+ @ApiModelProperty(value = "涓夋柟璁㈠崟鍙�")
+ @ExcelColumn(name = "涓夋柟璁㈠崟鍙�")
+ private String outTradeNo;
+}
diff --git a/server/services/src/main/java/com/doumee/dao/dto/CommentOrderDTO.java b/server/services/src/main/java/com/doumee/dao/dto/CommentOrderDTO.java
new file mode 100644
index 0000000..d9e0059
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/dto/CommentOrderDTO.java
@@ -0,0 +1,44 @@
+package com.doumee.dao.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 璁㈠崟璇勪环璇锋眰
+ *
+ * @author rk
+ * @date 2026/04/16
+ */
+@Data
+@ApiModel("璁㈠崟璇勪环璇锋眰")
+public class CommentOrderDTO {
+
+ @NotNull(message = "璁㈠崟涓婚敭涓嶈兘涓虹┖")
+ @ApiModelProperty(value = "璁㈠崟涓婚敭", required = true)
+ private Integer orderId;
+
+ @NotNull(message = "瀛樹欢闂ㄥ簵璇勫垎涓嶈兘涓虹┖")
+ @Min(value = 1, message = "璇勫垎鏈�浣�1鏄�")
+ @Max(value = 5, message = "璇勫垎鏈�楂�5鏄�")
+ @ApiModelProperty(value = "瀛樹欢闂ㄥ簵璇勫垎1-5", required = true, example = "5")
+ private Integer depositScore;
+
+ @Min(value = 1, message = "璇勫垎鏈�浣�1鏄�")
+ @Max(value = 5, message = "璇勫垎鏈�楂�5鏄�")
+ @ApiModelProperty(value = "鍙栦欢闂ㄥ簵璇勫垎1-5锛堝紓鍦板瘎瀛樹笖鏈夊彇浠堕棬搴楁椂蹇呭~锛�", example = "5")
+ private Integer takeScore;
+
+ @Min(value = 1, message = "璇勫垎鏈�浣�1鏄�")
+ @Max(value = 5, message = "璇勫垎鏈�楂�5鏄�")
+ @ApiModelProperty(value = "鍙告満璇勫垎1-5锛堝紓鍦板瘎瀛樿鍗曞繀濉級", example = "5")
+ private Integer driverScore;
+
+ @ApiModelProperty(value = "璇勪环鍐呭")
+ private String content;
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/dto/StoreOutDTO.java b/server/services/src/main/java/com/doumee/dao/dto/StoreOutDTO.java
new file mode 100644
index 0000000..b5b3c0f
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/dto/StoreOutDTO.java
@@ -0,0 +1,31 @@
+package com.doumee.dao.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.util.List;
+
+/**
+ * 闂ㄥ簵纭鍑哄簱璇锋眰
+ *
+ * @author rk
+ * @date 2026/04/16
+ */
+@Data
+@ApiModel("闂ㄥ簵纭鍑哄簱璇锋眰")
+public class StoreOutDTO {
+
+ @NotNull(message = "璁㈠崟涓婚敭涓嶈兘涓虹┖")
+ @ApiModelProperty(value = "璁㈠崟涓婚敭", required = true)
+ private Integer orderId;
+
+ @Size(max = 3, message = "鏈�澶氫笂浼�3寮犲浘鐗�")
+ @ApiModelProperty(value = "鍑哄簱鍥剧墖鍦板潃鍒楄〃锛屾渶澶�3寮�")
+ private List<String> images;
+
+ @ApiModelProperty(value = "鍑哄簱澶囨敞")
+ private String remark;
+}
diff --git a/server/services/src/main/java/com/doumee/dao/vo/PlatformAboutVO.java b/server/services/src/main/java/com/doumee/dao/vo/PlatformAboutVO.java
new file mode 100644
index 0000000..a4dd10c
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/vo/PlatformAboutVO.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 骞冲彴淇℃伅锛堝叧浜庢垜浠�佸崗璁瓑锛�
+ *
+ * @author rk
+ * @date 2026/04/16
+ */
+@Data
+@ApiModel("骞冲彴淇℃伅")
+public class PlatformAboutVO {
+
+ @ApiModelProperty(value = "鍏充簬鎴戜滑")
+ private String aboutUs;
+
+ @ApiModelProperty(value = "鐢ㄦ埛鍗忚")
+ private String userAgreement;
+
+ @ApiModelProperty(value = "闅愮鍗忚")
+ private String privacyAgreement;
+
+ @ApiModelProperty(value = "鏈嶅姟浠嬬粛")
+ private String serverIntroduce;
+}
diff --git a/server/services/src/main/java/com/doumee/dao/vo/RevenueStatisticsVO.java b/server/services/src/main/java/com/doumee/dao/vo/RevenueStatisticsVO.java
new file mode 100644
index 0000000..732e06e
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/vo/RevenueStatisticsVO.java
@@ -0,0 +1,27 @@
+package com.doumee.dao.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 鏀剁泭缁熻VO
+ * @author rk
+ * @date 2026/04/16
+ */
+@Data
+@ApiModel("鏀剁泭缁熻")
+public class RevenueStatisticsVO {
+
+ @ApiModelProperty(value = "褰撳墠璐︽埛浣欓锛堝垎锛�")
+ private Long balance;
+
+ @ApiModelProperty(value = "寰呯粨绠楅噾棰濓紙鍒嗭級")
+ private Long pendingAmount;
+
+ @ApiModelProperty(value = "绱鎻愮幇閲戦锛堝垎锛�")
+ private Long totalWithdrawn;
+
+ @ApiModelProperty(value = "鎻愮幇涓噾棰濓紙鍒嗭級")
+ private Long withdrawingAmount;
+}
diff --git a/server/services/src/main/java/com/doumee/dao/vo/ShopCenterVO.java b/server/services/src/main/java/com/doumee/dao/vo/ShopCenterVO.java
new file mode 100644
index 0000000..c129682
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/vo/ShopCenterVO.java
@@ -0,0 +1,33 @@
+package com.doumee.dao.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ShopCenterVO {
+
+ @ApiModelProperty(value = "闂ㄥ簵澶村儚鍏ㄨ矾寰�")
+ private String fullCoverImg;
+
+ @ApiModelProperty(value = "闂ㄥ簵澶村儚鍗婅矾寰�")
+ private String coverImg;
+
+ @ApiModelProperty(value = "闂ㄥ簵鍚嶇О")
+ private String shopName;
+
+ @ApiModelProperty(value = "鑱旂郴浜哄悕绉�")
+ private String linkName;
+
+ @ApiModelProperty(value = "闂ㄥ簵绫诲瀷锛�0=涓汉锛�1=浼佷笟")
+ private Integer companyType;
+
+ @ApiModelProperty(value = "鏄惁鏈夋秷鎭�")
+ private Boolean hasMessage;
+
+ @ApiModelProperty(value = "寰呮牳楠岃鍗曟暟閲�")
+ private Integer waitDepositCount;
+
+ @ApiModelProperty(value = "寰呮敹璐ц鍗曟暟閲�")
+ private Integer waitReceiveCount;
+
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/OtherOrdersService.java b/server/services/src/main/java/com/doumee/service/business/OtherOrdersService.java
new file mode 100644
index 0000000..3a22baf
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/OtherOrdersService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.OtherOrders;
+
+import java.util.List;
+
+/**
+ * 鍏朵粬璁㈠崟璁板綍Service瀹氫箟
+ * @author rk
+ * @date 2026/04/16
+ */
+public interface OtherOrdersService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param otherOrders 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(OtherOrders otherOrders);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param otherOrders 瀹炰綋瀵硅薄
+ */
+ void delete(OtherOrders otherOrders);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param otherOrders 瀹炰綋瀵硅薄
+ */
+ void updateById(OtherOrders otherOrders);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param otherOrdersList 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<OtherOrders> otherOrdersList);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return OtherOrders
+ */
+ OtherOrders findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param otherOrders 瀹炰綋瀵硅薄
+ * @return OtherOrders
+ */
+ OtherOrders findOne(OtherOrders otherOrders);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param otherOrders 瀹炰綋瀵硅薄
+ * @return List<OtherOrders>
+ */
+ List<OtherOrders> findList(OtherOrders otherOrders);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<OtherOrders>
+ */
+ PageData<OtherOrders> findPage(PageWrap<OtherOrders> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param otherOrders 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(OtherOrders otherOrders);
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/OtherOrdersServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/OtherOrdersServiceImpl.java
new file mode 100644
index 0000000..9d06292
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/impl/OtherOrdersServiceImpl.java
@@ -0,0 +1,131 @@
+package com.doumee.service.business.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.core.constants.Constants;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.OtherOrdersMapper;
+import com.doumee.dao.business.model.OtherOrders;
+import com.doumee.service.business.OtherOrdersService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 鍏朵粬璁㈠崟璁板綍Service瀹炵幇
+ * @author rk
+ * @date 2026/04/16
+ */
+@Service
+public class OtherOrdersServiceImpl implements OtherOrdersService {
+
+ @Autowired
+ private OtherOrdersMapper otherOrdersMapper;
+
+ @Override
+ public Integer create(OtherOrders otherOrders) {
+ otherOrdersMapper.insert(otherOrders);
+ return otherOrders.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ otherOrdersMapper.update(new UpdateWrapper<OtherOrders>().lambda()
+ .set(OtherOrders::getDeleted, Constants.ONE)
+ .eq(OtherOrders::getId, id));
+ }
+
+ @Override
+ public void delete(OtherOrders otherOrders) {
+ UpdateWrapper<OtherOrders> deleteWrapper = new UpdateWrapper<>(otherOrders);
+ otherOrdersMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (ids == null || ids.isEmpty()) {
+ return;
+ }
+ otherOrdersMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(OtherOrders otherOrders) {
+ otherOrdersMapper.updateById(otherOrders);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<OtherOrders> otherOrdersList) {
+ if (otherOrdersList == null || otherOrdersList.isEmpty()) {
+ return;
+ }
+ for (OtherOrders otherOrders : otherOrdersList) {
+ this.updateById(otherOrders);
+ }
+ }
+
+ @Override
+ public OtherOrders findById(Integer id) {
+ OtherOrders otherOrders = otherOrdersMapper.selectById(id);
+ if (Objects.isNull(otherOrders)) {
+ throw new BusinessException(com.doumee.core.constants.ResponseStatus.DATA_EMPTY);
+ }
+ return otherOrders;
+ }
+
+ @Override
+ public OtherOrders findOne(OtherOrders otherOrders) {
+ QueryWrapper<OtherOrders> wrapper = new QueryWrapper<>(otherOrders);
+ return otherOrdersMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<OtherOrders> findList(OtherOrders otherOrders) {
+ QueryWrapper<OtherOrders> wrapper = new QueryWrapper<>(otherOrders);
+ return otherOrdersMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<OtherOrders> findPage(PageWrap<OtherOrders> pageWrap) {
+ IPage<OtherOrders> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<OtherOrders> queryWrapper = new MPJLambdaWrapper<OtherOrders>()
+ .selectAll(OtherOrders.class);
+ Utils.MP.blankToNull(pageWrap.getModel());
+ pageWrap.getModel().setDeleted(Constants.ZERO);
+ OtherOrders model = pageWrap.getModel();
+ if (model.getType() != null) {
+ queryWrapper.eq(OtherOrders::getType, model.getType());
+ }
+ if (model.getMemberId() != null) {
+ queryWrapper.eq(OtherOrders::getMemberId, model.getMemberId());
+ }
+ if (model.getPayStatus() != null) {
+ queryWrapper.eq(OtherOrders::getPayStatus, model.getPayStatus());
+ }
+ if (model.getOrderId() != null) {
+ queryWrapper.eq(OtherOrders::getOrderId, model.getOrderId());
+ }
+ for (PageWrap.SortData sortData : pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(otherOrdersMapper.selectJoinPage(page, OtherOrders.class, queryWrapper));
+ }
+
+ @Override
+ public long count(OtherOrders otherOrders) {
+ QueryWrapper<OtherOrders> wrapper = new QueryWrapper<>(otherOrders);
+ return otherOrdersMapper.selectCount(wrapper);
+ }
+}
diff --git a/server/web/src/main/java/com/doumee/api/web/WalletApi.java b/server/web/src/main/java/com/doumee/api/web/WalletApi.java
new file mode 100644
index 0000000..72cb49c
--- /dev/null
+++ b/server/web/src/main/java/com/doumee/api/web/WalletApi.java
@@ -0,0 +1,6 @@
+package com.doumee.api.web;/**
+* Created by IntelliJ IDEA.
+* @Author : Rk
+* @create 2026/4/16 18:05
+*/public class WalletApi {
+}
--
Gitblit v1.9.3