From 15ec9481bb9768378a512530a8facb4dccdd62f6 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 18 二月 2025 14:51:07 +0800
Subject: [PATCH] 111
---
server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java | 10 +
server/services/src/main/java/com/doumee/dao/business/vo/DiscountGoodsorderExportVO.java | 66 ++++++++
server/services/src/main/java/com/doumee/dao/business/web/request/DiscountMemberDTO.java | 52 ++++++
server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java | 7
server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java | 5
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java | 8
server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java | 3
server/services/src/main/java/com/doumee/core/utils/DateUtil.java | 9 +
server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java | 21 ++
server/web/src/main/java/com/doumee/api/web/HomeApi.java | 4
server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java | 125 +++++++++++++++
server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java | 4
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java | 29 +++
server/services/src/main/java/com/doumee/dao/business/web/response/GoodsorderDetailVO.java | 32 ++++
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 49 +++++-
15 files changed, 412 insertions(+), 12 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java b/server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java
index c429612..26f53d2 100644
--- a/server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.model.DiscountMember;
+import com.doumee.dao.business.web.request.DiscountMemberDTO;
import com.doumee.service.business.DiscountMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -85,6 +86,24 @@
@GetMapping("/{id}")
@RequiresPermissions("business:discountmember:query")
public ApiResponse findById(@PathVariable String id) {
- return ApiResponse.success(discountMemberService.findById(id));
+ return ApiResponse.success(discountMemberService.getDetail(id));
}
+
+ @ApiOperation("濂楅鍗℃姤搴�")
+ @PostMapping("/cancel")
+ @RequiresPermissions("business:discountmember:update")
+ public ApiResponse cancel(@RequestBody DiscountMemberDTO model) {
+ discountMemberService.cancel(model);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("濂楅鍗¤皟鏁�")
+ @PostMapping("/adjust")
+ @RequiresPermissions("business:discountmember:update")
+ public ApiResponse adjust(@RequestBody DiscountMemberDTO model) {
+ discountMemberService.adjust(model);
+ return ApiResponse.success(null);
+ }
+
+
}
diff --git a/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java b/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
index de885c8..7f564cc 100644
--- a/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -10,11 +10,13 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.model.WxBillDetail;
+import com.doumee.dao.business.vo.DiscountGoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.request.GoodsorderBackDTO;
import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
+import com.doumee.dao.business.web.response.GoodsorderDetailVO;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.RefundService;
@@ -22,6 +24,7 @@
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.checkerframework.checker.units.qual.C;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -103,8 +106,26 @@
@RequiresPermissions("business:goodsorder:exportExcel")
public void exportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
ExcelExporter.build(Goodsorder.class).exportWithFirstAndEnd(goodsorderService.findPage(pageWrap).getRecords(), "璁㈠崟鍒楄〃_"+System.currentTimeMillis(),"璁㈠崟鍒楄〃_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
-
}
+
+
+ @ApiOperation("濂楅鍗¤鍗曞垪琛�-瀵煎嚭Excel")
+ @PostMapping("/discountExportExcel")
+ @RequiresPermissions("business:goodsorder:exportExcel")
+ public void discountExportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
+ List<Goodsorder> goodsorders = goodsorderService.findPage(pageWrap).getRecords();
+ List<DiscountGoodsorderExportVO> discountGoodsorderExportVOList = new ArrayList<>();
+ for (Goodsorder goodsorder:goodsorders) {
+ DiscountGoodsorderExportVO discountGoodsorderExportVO = new DiscountGoodsorderExportVO();
+ BeanUtils.copyProperties(goodsorder,discountGoodsorderExportVO);
+ discountGoodsorderExportVO.setPayMoney(discountGoodsorderExportVO.getPayMoney());
+ discountGoodsorderExportVOList.add(discountGoodsorderExportVO);
+ }
+ ExcelExporter.build(DiscountGoodsorderExportVO.class).exportWithFirstAndEnd(discountGoodsorderExportVOList, "璁㈠崟鍒楄〃_"+System.currentTimeMillis(),"璁㈠崟鍒楄〃_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
+ }
+
+
+
@ApiOperation("鏀舵鏄庣粏锛堝井淇″璐︽槑缁嗭級_鍒嗛〉鏌ヨ")
@PostMapping("/pageAccountDetail")
@RequiresPermissions("business:goodsorder:query")
@@ -124,6 +145,12 @@
return ApiResponse.success(goodsorderService.getGoodsorderDetailDTO(id));
}
+ @ApiOperation("璁㈠崟璇︽儏-濂楅鍗�")
+ @GetMapping("/discountOrderDetail")
+ @RequiresPermissions("business:goodsorder:query")
+ public ApiResponse<GoodsorderDetailVO> discountOrderDetail(@RequestParam String id) {
+ return ApiResponse.success(goodsorderService.getGoodsorderDetailForDisCount(id));
+ }
/**
* 寮哄埗缁撶畻璁㈠崟
diff --git a/server/services/src/main/java/com/doumee/core/utils/DateUtil.java b/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
index 689c112..8f8188e 100644
--- a/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -68,6 +68,15 @@
return dt1;
}
+ public static String getXDaysAfter(Date date, Integer days){
+ Timestamp currentTimestamp = new Timestamp(date.getTime());
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(currentTimestamp);
+ calendar.add(Calendar.DAY_OF_YEAR, days-1); // 鍦ㄥ綋鍓嶆椂闂村熀纭�涓婃坊鍔犳寚瀹氱殑澶╂暟
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ return formatter.format(calendar.getTime());
+ }
+
/**
* @author Pablo Descrption:取锟矫碉拷前锟斤拷锟斤拷getgetg get Date format
* Example锛�2008-05-15
diff --git a/server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java b/server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java
index 471c3b1..4a47c86 100644
--- a/server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java
+++ b/server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.DiscountLog;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
/**
* @author 姹熻箘韫�
* @date 2025/02/17 09:43
*/
-public interface DiscountLogMapper extends BaseMapper<DiscountLog> {
+public interface DiscountLogMapper extends MPJJoinMapper<DiscountLog> {
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java b/server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java
index ff473bf..5de1fdd 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -79,4 +80,8 @@
@ExcelColumn(name="鍏宠仈璁㈠崟缂栫爜(鍏宠仈goodsorder锛�")
private String goodsorderId;
+ @ApiModelProperty(value = "鍒涘缓浜哄悕绉�")
+ @TableField(exist = false)
+ private String creatorName;
+
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java b/server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java
index b333480..893616e 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java
@@ -11,6 +11,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.math.BigDecimal;
+import java.util.List;
/**
* 鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃
@@ -144,4 +145,13 @@
@ExcelColumn(name="浣跨敤娆℃暟",index = 4,width = 20)
@TableField(exist = false)
private Integer useTimes;
+
+ @ApiModelProperty(value = "楠戣璁板綍")
+ @TableField(exist = false)
+ private List<DiscountLog> discountLogList;
+
+
+ @ApiModelProperty(value = "鎿嶄綔璁板綍")
+ @TableField(exist = false)
+ private List<DiscountLog> optLogList;
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
index 0034c79..8af42cf 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -136,6 +136,10 @@
@TableField(exist = false)
private Integer closeStatus;
+ @ApiModelProperty(value = "鎿嶄綔浜�")
+ @ExcelColumn(name="鎿嶄綔浜�",index = 9,width = 10,align = HorizontalAlignment.CENTER)
+ @TableField(exist = false)
+ private String refundUserName;
@ApiModelProperty(value = "濂楅鍚嶇О", example = "2023-10-01 15:12:01")
@TableField(exist = false)
diff --git a/server/services/src/main/java/com/doumee/dao/business/vo/DiscountGoodsorderExportVO.java b/server/services/src/main/java/com/doumee/dao/business/vo/DiscountGoodsorderExportVO.java
new file mode 100644
index 0000000..72855ff
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/vo/DiscountGoodsorderExportVO.java
@@ -0,0 +1,66 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 璁㈠崟淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2023/09/27 18:06
+ */
+@Data
+@ApiModel("濂楅璁㈠崟瀵煎嚭瀵硅薄")
+public class DiscountGoodsorderExportVO {
+
+ @ApiModelProperty(value = "璁㈠崟缂栫爜")
+ @ExcelColumn(name="璁㈠崟缂栧彿",width = 10,index = 1,align = HorizontalAlignment.CENTER)
+ private String code;
+
+ @ApiModelProperty(value = "濂楅鍗″悕绉�")
+ @ExcelColumn(name="濂楅鍗�",width = 10,index = 2,align = HorizontalAlignment.CENTER)
+ private String discountName;
+
+ @ApiModelProperty(value = "鍚堣锛堝厓锛�")
+ @ExcelColumn(name="鍚堣锛堝厓锛�",width = 10,index = 3,align = HorizontalAlignment.CENTER)
+ private BigDecimal money;
+
+ @ApiModelProperty(value = "瀹炰粯锛堝厓锛�")
+ @ExcelColumn(name="瀹炰粯锛堝厓锛�",width = 10,index = 4,align = HorizontalAlignment.CENTER)
+ private BigDecimal payMoney;
+
+ @ApiModelProperty(value = "宸查��閲戦锛堝厓锛�")
+ @ExcelColumn(name="宸查��閲戦锛堝厓锛�",width = 10,index = 5,align = HorizontalAlignment.CENTER)
+ private BigDecimal refundMoney;
+
+ @ApiModelProperty(value = "鐢ㄦ埛openid" )
+ @TableField(exist = false)
+ @ExcelColumn(name="鐢ㄦ埛淇℃伅",index = 6 ,width = 10,align = HorizontalAlignment.CENTER)
+ private String openid;
+
+ @ApiModelProperty(value = "鏀粯鏂瑰紡 0寰俊 1鏀粯瀹�")
+ @ExcelColumn(name="鏀粯鏂瑰紡",index = 7 ,width = 10,valueMapping = "0=寰俊锛�1=鏀粯瀹濓紱",align = HorizontalAlignment.CENTER)
+ private Integer payWay;
+
+ @ApiModelProperty(value = "璁㈠崟鏉ユ簮")
+ @ExcelColumn(name="璁㈠崟鏉ユ簮",index = 8 ,width = 10,valueMapping = "0=灏忕▼搴忕锛�",align = HorizontalAlignment.CENTER)
+ private Integer origin;
+
+
+ @ApiModelProperty(value = "鎿嶄綔浜�")
+ @ExcelColumn(name="鎿嶄綔浜�",index = 9,width = 10,align = HorizontalAlignment.CENTER)
+ private String refundUserName;
+
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿",index = 10,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss",align = HorizontalAlignment.CENTER)
+ private Date createDate;
+
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/request/DiscountMemberDTO.java b/server/services/src/main/java/com/doumee/dao/business/web/request/DiscountMemberDTO.java
new file mode 100644
index 0000000..948d31f
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/web/request/DiscountMemberDTO.java
@@ -0,0 +1,52 @@
+package com.doumee.dao.business.web.request;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Data
+public class DiscountMemberDTO {
+
+ @ApiModelProperty(value = "缂栫爜")
+ private String id;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String info;
+
+ @ApiModelProperty(value = "绁ㄥ彿")
+ private String code;
+
+ @ApiModelProperty(value = "鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "鐢ㄦ埛opneid")
+ private String openid;
+
+ @ApiModelProperty(value = "鐘舵�� 0姝e父 1浣滃簾 2杩囨湡鎴栫敤瀹�", example = "1")
+ private Integer status;
+
+ @ApiModelProperty(value = "澧炲姞澶╂暟")
+ private Integer addDays;
+
+ @ApiModelProperty(value = "閫変腑鏁版嵁")
+ private List<String> choseIdList;
+
+
+
+
+
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/response/GoodsorderDetailVO.java b/server/services/src/main/java/com/doumee/dao/business/web/response/GoodsorderDetailVO.java
new file mode 100644
index 0000000..b196782
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/web/response/GoodsorderDetailVO.java
@@ -0,0 +1,32 @@
+package com.doumee.dao.business.web.response;
+
+import com.doumee.dao.business.model.DiscountMember;
+import com.doumee.dao.business.model.Goodsorder;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Refund;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author T14
+ */
+@Data
+@ApiModel("璁㈠崟璇︽儏")
+public class GoodsorderDetailVO {
+
+ @ApiModelProperty(value = "璁㈠崟淇℃伅")
+ private Goodsorder goodsOrder;
+
+ @ApiModelProperty(value = "涔板淇℃伅")
+ private Member member;
+
+ @ApiModelProperty(value = "濂楅淇℃伅")
+ private DiscountMember discountMember;
+
+ @ApiModelProperty(value = "閫�娆捐褰�")
+ private List<Refund> refundList;
+
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java b/server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java
index 2849dc7..5d56463 100644
--- a/server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java
+++ b/server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.DiscountMember;
+import com.doumee.dao.business.web.request.DiscountMemberDTO;
+
import java.util.List;
/**
@@ -63,6 +65,7 @@
*/
DiscountMember findById(String id);
+ DiscountMember getDetail(String id);
/**
* 鏉′欢鏌ヨ鍗曟潯璁板綍
*
@@ -94,4 +97,8 @@
* @return long
*/
long count(DiscountMember discountMember);
+
+ void cancel(DiscountMemberDTO model);
+
+ void adjust(DiscountMemberDTO model);
}
diff --git a/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java b/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
index d7bd238..452593d 100644
--- a/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
+++ b/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
@@ -12,6 +12,7 @@
import com.doumee.dao.business.web.request.BackElecBikeRequest;
import com.doumee.dao.business.web.request.GoodsorderBackDTO;
import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
+import com.doumee.dao.business.web.response.GoodsorderDetailVO;
import com.doumee.dao.business.web.response.HomeResponse;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
import com.doumee.dao.business.web.response.RidesDetailResponse;
@@ -143,7 +144,12 @@
*/
GoodsorderDetailDTO getGoodsorderDetailDTO(String id);
-
+ /**
+ * 濂楅鍗¤鍗曡鎯�
+ * @param id
+ * @return
+ */
+ GoodsorderDetailVO getGoodsorderDetailForDisCount(String id);
/**
* 寮哄埗缁撶畻璁㈠崟
* @param id
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java
index a67d18e..f22b329 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java
@@ -1,13 +1,22 @@
package com.doumee.service.business.impl;
+import com.doumee.core.constants.Constants;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.DiscountLogMapper;
import com.doumee.dao.business.DiscountMemberMapper;
import com.doumee.dao.business.join.DiscountMemberJoinMapper;
import com.doumee.dao.business.model.Discount;
+import com.doumee.dao.business.model.DiscountLog;
import com.doumee.dao.business.model.DiscountMember;
import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.web.request.DiscountMemberDTO;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.DiscountMemberService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -15,13 +24,16 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃Service瀹炵幇
@@ -36,6 +48,10 @@
@Autowired
private DiscountMemberJoinMapper discountMemberJoinMapper;
+
+ @Autowired
+ private DiscountLogMapper discountLogMapper;
+
@Override
public String create(DiscountMember discountMember) {
@@ -83,6 +99,27 @@
}
@Override
+ public DiscountMember getDetail(String id) {
+ DiscountMember discountMember = discountMemberMapper.selectById(id);
+ if(Objects.isNull(discountMember)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ List<DiscountLog> discountLogList = discountLogMapper.selectJoinList(DiscountLog.class,new MPJLambdaWrapper<DiscountLog>()
+ .selectAll(DiscountLog.class)
+ .selectAs(SystemUser::getRealname,DiscountLog::getCreatorName)
+ .eq(DiscountLog::getDiscountMemberId,discountMember.getId())
+ .eq(DiscountLog::getIsdeleted,Constants.ZERO)
+ .orderByDesc(DiscountLog::getId)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(discountLogList)){
+ discountMember.setDiscountLogList(discountLogList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList()));
+ discountMember.setOptLogList(discountLogList.stream().filter(i->!Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList()));
+ discountMember.setUseTimes(discountMember.getDiscountLogList().size());
+ }
+ return discountMember;
+ }
+
+ @Override
public DiscountMember findOne(DiscountMember discountMember) {
QueryWrapper<DiscountMember> wrapper = new QueryWrapper<>(discountMember);
return discountMemberMapper.selectOne(wrapper);
@@ -110,6 +147,94 @@
return PageData.from(discountMemberJoinMapper.selectJoinPage(page, DiscountMember.class,queryWrapper));
}
+
+ @Override
+ public void cancel(DiscountMemberDTO model){
+ LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ MPJLambdaWrapper<DiscountMember> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(DiscountMember.class)
+ .leftJoin(Member.class,Member::getId,DiscountMember::getMemberId)
+ .eq(DiscountMember::getStatus,Constants.ZERO)
+ .like(StringUtils.isNotBlank(model.getCode()),DiscountMember::getCode,model.getCode())
+ .like(StringUtils.isNotBlank(model.getName()),DiscountMember::getName,model.getName())
+ .like(StringUtils.isNotBlank(model.getOpenid()),Member::getOpenid,model.getOpenid())
+ .eq(Objects.nonNull(model.getId()),DiscountMember::getId,model.getId())
+ .in(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(model.getChoseIdList())
+ ,DiscountMember::getId,model.getChoseIdList())
+ .orderByDesc(DiscountMember::getId);
+ List<DiscountMember> list = discountMemberJoinMapper.selectJoinList(DiscountMember.class,queryWrapper);
+ if(CollectionUtils.isEmpty(list)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌鍙姤搴熺殑濂楅鍗′俊鎭�");
+ }
+ for (DiscountMember discountMember:list) {
+ discountMemberMapper.update(null,new UpdateWrapper<DiscountMember>().lambda()
+ .set(DiscountMember::getStatus,Constants.ONE)
+ .eq(DiscountMember::getId,discountMember.getId())
+ );
+ //鎿嶄綔鏃ュ織
+ DiscountLog discountLog = new DiscountLog();
+ discountLog.setIsdeleted(Constants.ZERO);
+ discountLog.setCreator(principal.getId());
+ discountLog.setCreateDate(new Date());
+ discountLog.setDiscountMemberId(discountMember.getId());
+ discountLog.setType(Constants.ONE);
+ discountLog.setInfo(model.getInfo());
+ discountLog.setEditInfo("閫�璐ч��鍗�");
+ discountLog.setGoodsorderId(discountMember.getGoodsorderId());
+ discountLogMapper.insert(discountLog);
+ }
+ }
+
+
+
+ @Override
+ public void adjust(DiscountMemberDTO model){
+ if(Objects.isNull(model)
+ || Objects.isNull(model.getAddDays())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ MPJLambdaWrapper<DiscountMember> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(DiscountMember.class)
+ .leftJoin(Member.class,Member::getId,DiscountMember::getMemberId)
+ .eq(DiscountMember::getStatus,Constants.ZERO)
+ .like(StringUtils.isNotBlank(model.getCode()),DiscountMember::getCode,model.getCode())
+ .like(StringUtils.isNotBlank(model.getName()),DiscountMember::getName,model.getName())
+ .like(StringUtils.isNotBlank(model.getOpenid()),Member::getOpenid,model.getOpenid())
+ .eq(Objects.nonNull(model.getId()),DiscountMember::getId,model.getId())
+ .in(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(model.getChoseIdList())
+ ,DiscountMember::getId,model.getChoseIdList())
+ .orderByDesc(DiscountMember::getId);
+ List<DiscountMember> list = discountMemberJoinMapper.selectJoinList(DiscountMember.class,queryWrapper);
+ if(CollectionUtils.isEmpty(list)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌鍙皟鏁寸殑濂楅鍗′俊鎭�");
+ }
+ for (DiscountMember discountMember:list) {
+ if(!Constants.equalsInteger(discountMember.getStatus(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+discountMember.getCode()+"銆戝椁愬崱宸蹭綔搴燂紝鏃犳硶杩涜璇ユ搷浣�");
+ }
+ String useEndDate = DateUtil.getXDaysAfter(discountMember.getUseEndDate(),model.getAddDays());
+ discountMemberMapper.update(null,new UpdateWrapper<DiscountMember>().lambda()
+ //.setSql(" use_end_date = use_end_date::date + " + model.getAddDays() )
+ .set(DiscountMember::getUseEndDate,useEndDate)
+ .eq(DiscountMember::getId,discountMember.getId())
+ );
+ //鎿嶄綔鏃ュ織
+ DiscountLog discountLog = new DiscountLog();
+ discountLog.setIsdeleted(Constants.ZERO);
+ discountLog.setCreator(principal.getId());
+ discountLog.setCreateDate(new Date());
+ discountLog.setDiscountMemberId(discountMember.getId());
+ discountLog.setType(Constants.TWO);
+ discountLog.setGoodsorderId(discountMember.getGoodsorderId());
+ discountLog.setEditInfo(model.getInfo());
+ discountLog.setEditDays(model.getAddDays());
+ discountLog.setInfo("灏嗘湁鏁堟湡澧炲姞"+model.getAddDays()+"澶�, 璋冩暣鍚庢湁鏁堟湡鑷�"+useEndDate);
+ discountLogMapper.insert(discountLog);
+ }
+ }
+
+
@Override
public long count(DiscountMember discountMember) {
QueryWrapper<DiscountMember> wrapper = new QueryWrapper<>(discountMember);
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 43b7c48..bc917a3 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -34,6 +34,7 @@
import com.doumee.dao.business.web.response.*;
import com.doumee.dao.business.join.MemberRidesJoinMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.MemberRidesService;
import com.doumee.service.business.PricingRuleService;
@@ -200,13 +201,6 @@
if (Objects.nonNull(model.getEndDate())){
queryWrapper.le( Goodsorder::getPayDate, Utils.Date.getEnd(model.getEndDate()));
}
-
-// queryWrapper.eq(model.getPayStatus() !=null,Goodsorder::getPayStatus,model.getPayStatus());
-// queryWrapper.like(model.getCode() !=null,Goodsorder::getCode,model.getCode());
-// queryWrapper.like(model.getId() !=null,Goodsorder::getId,model.getId());
-// queryWrapper.eq(model.getStatus() !=null,Goodsorder::getStatus,model.getStatus());
-// queryWrapper.like(model.getOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getOnlineOrderid());
-// queryWrapper.like(model.getOpenid() !=null,Member::getOpenid,model.getOpenid());
queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
queryWrapper.eq(Goodsorder::getPayStatus,Constants.ONE);
queryWrapper.orderByAsc(Goodsorder::getPayDate);
@@ -328,6 +322,7 @@
queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Goodsorder::getType,pageWrap.getModel().getType());
queryWrapper.select("(select sum(er.discount_price) from member_rides er where er.ordre_id=t.id and er.isdeleted=0) as discountMoney," +
"(select er.status from member_rides er where er.ordre_id=t.id order by er.create_date desc limit 1) as memberRidesStatus");
+ queryWrapper.select("( select s.realname from refund r left join system_user s on r.creator = s.id where r.obj_id = t.id order by r.id desc limit 1 ) ",Goodsorder::getRefundUserName);
if(Objects.nonNull(pageWrap.getModel().getCloseStatus()) && pageWrap.getModel().getCloseStatus().equals(Constants.ZERO)){
queryWrapper.ne(Goodsorder::getStatus,Constants.GOODSORDER_STATUS.CLOSE.getKey());
}
@@ -446,7 +441,6 @@
@Override
public GoodsorderDetailDTO getGoodsorderDetailDTO(String id) {
-
List<PayOrderDTO> payOrderDTOList = new ArrayList<>();
Goodsorder goodsorder = goodsorderMapper.selectById(id);
if(goodsorder == null){
@@ -495,6 +489,45 @@
goodsorderDetailDTO.setModel(goodsorder);//璁㈠崟瀵硅薄
return goodsorderDetailDTO;
}
+
+
+
+ @Override
+ public GoodsorderDetailVO getGoodsorderDetailForDisCount(String id){
+ GoodsorderDetailVO goodsorderDetailVO = new GoodsorderDetailVO();
+ Goodsorder goodsorder = goodsorderMapper.selectById(id);
+ if(goodsorder == null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY );
+ }
+ if(Constants.equalsInteger(goodsorder.getType(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED);
+ }
+ goodsorderDetailVO.setGoodsOrder(goodsorder);
+ Member member = memberMapper.selectById(goodsorder.getMemberId());
+ if(Objects.nonNull(member)){
+ goodsorderDetailVO.setMember(member);
+ }
+ //鏌ヨ鍟嗗搧淇℃伅
+ DiscountMember discountMember = discountMemberMapper.selectById(goodsorder.getObjId());
+ if(Objects.nonNull(discountMember)){
+ goodsorderDetailVO.setDiscountMember(discountMember);
+ }
+ //鏌ヨ鎵�鏈夋湁閫�娆捐褰�
+ List<Refund> refunds = refundJoinMapper.selectJoinList(Refund.class,
+ new MPJLambdaWrapper<Refund>()
+ .selectAll(Refund.class)
+ .selectAs(SystemUser::getRealname,Refund::getCreatorName)
+ .leftJoin(SystemUser.class,SystemUser::getId,Refund::getCreator)
+ .eq(Refund::getObjId,goodsorder.getId())
+ .orderByDesc(Refund::getId)
+ );
+ goodsorderDetailVO.setRefundList(refunds);
+
+ return goodsorderDetailVO;
+ }
+
+
+
@Override
public void forceCloseGoodsorder(String orderId) {
//鏌ヨ璁㈠崟 淇℃伅
diff --git a/server/web/src/main/java/com/doumee/api/web/HomeApi.java b/server/web/src/main/java/com/doumee/api/web/HomeApi.java
index ff2fafa..8392c58 100644
--- a/server/web/src/main/java/com/doumee/api/web/HomeApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/HomeApi.java
@@ -49,6 +49,10 @@
HomeResponse homeResponse = goodsorderService.getHome(getMemberId());
return ApiResponse.success("鏌ヨ鎴愬姛",homeResponse);
}
+
+
+
+
@ApiOperation(value = "娴嬭瘯鐢垫睜鎺у埗", notes = "娴嬭瘯鐢垫睜鎺у埗")
@PostMapping("/testControl")
public ApiResponse<APIResult<T0201_0500>> testControl(@RequestBody T8500 param) {
--
Gitblit v1.9.3