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)); } } server/services/src/main/java/com/doumee/core/utils/huaweiOBS/ObsUtil.java
ÎļþÒÑɾ³ý 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> { } 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> { } 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ædriver_info.id)", example = "1") private Integer targetId; @ApiModelProperty(value = "è¯å1-5", example = "5") private Integer score; @ApiModelProperty(value = "è¯ä»·å 容") private String content; } 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; } 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; } 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; } 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; } 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; } 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; } 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); } 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); } } 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 { }