From 5d3b86a4d0032836c782e5e1319179eced5e5647 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 23 一月 2026 17:35:24 +0800
Subject: [PATCH] 经销商管理
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 69 insertions(+), 42 deletions(-)
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 0fa21e1..1829afe 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
@@ -388,7 +388,7 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),ResponseStatus.DATA_EMPTY.getMessage());
}
- cancelOrder( query.getId(), user.getId(),goodsorder.getCancelInfo() );
+ cancelOrderNew( query.getId(), user.getId(),goodsorder.getCancelInfo() );
}
@@ -411,17 +411,27 @@
.selectAs(Member::getNickname,Goodsorder::getNickName)
.selectAs(Member::getPhone,Goodsorder::getPhone)
.selectAs(Member::getName,Goodsorder::getMemberName)
- .selectAs(SystemUser::getRealname,Goodsorder::getKdUserName)
+ .selectAs(MemberCoupon::getName,Goodsorder::getCouponName)
+ .select("t4.realname",Goodsorder::getKdUserName)
+ .select("t5.realname",Goodsorder::getCancelUserName)
+ .select("t6.realname",Goodsorder::getRefundUserName)
.selectAs(Shop::getName,Goodsorder::getShopName)
+ .leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId)
.leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId)
.leftJoin(Member.class,Member::getId,Goodsorder::getMemberId)
.leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getKdUser)
+ .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getCancelUser)
+ .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getRefundUserId)
.eq(Goodsorder::getId,id);
Goodsorder result=goodsorderJoinMapper.selectJoinOne(Goodsorder.class,q);
if(Objects.nonNull(result)){
MPJLambdaWrapper<GoodsorderDetail> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(GoodsorderDetail.class)
+ .selectAs(Labels::getName,GoodsorderDetail::getCategoryName)
.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO)
+ .leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId)
+ .leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId)
+ .leftJoin(Labels.class,Labels::getId,Goods::getCategoryId)
.eq(GoodsorderDetail::getOrderId,result.getId()) ;
List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailMapper.selectList(queryWrapper);
String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
@@ -430,6 +440,8 @@
if(StringUtils.isNotBlank(model.getImgurl())){
model.setImgurl(path+ model.getImgurl());
}
+ //灏忚
+ model.setTotalPrice(Constants.formatBigdecimal(model.getPrice()).multiply(new BigDecimal(Constants.formatIntegerNum(model.getGoodsNum()))));
}
result.setGoodsorderDetailList(goodsorderDetailList);
}
@@ -456,6 +468,8 @@
queryWrapper.selectAll(Goodsorder.class);
queryWrapper.selectAs(Shop::getName,Goodsorder::getShopName);
initPageQueryWrapper(queryWrapper,pageWrap);
+ queryWrapper.selectAs(MemberCoupon::getName,Goodsorder::getCouponName);
+ queryWrapper.leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId);
queryWrapper.eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus());
queryWrapper.orderByDesc(Goodsorder::getCreateDate);
@@ -469,7 +483,7 @@
dealOrderDetailsBiz(idList,result);//鏌ヨ璁㈠崟鏄庣粏
}
PageData<Goodsorder> rr = PageData.from(result);
- if(pageWrap.getPage() == 1){
+ if(pageWrap.getPage() == 1 && pageWrap.getModel().getNeedCount()!=null&& pageWrap.getModel().getNeedCount()){
//濡傛灉鏌ヨ绗竴椤碉紝鍋氭暟鎹粺璁�
rr.setCountData(dealCountOrderNum(pageWrap));
}
@@ -646,41 +660,42 @@
@Override
- public List<Goodsorder> exportExcel(Goodsorder pageWrap) {
-
- MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
-
-
- queryWrapper.selectAll(Goodsorder.class);
- queryWrapper.selectAs(GoodsorderDetail::getName,Goodsorder::getGoodsName);
- queryWrapper.selectAs(GoodsorderDetail::getSkuName,Goodsorder::getSkuName);
- queryWrapper.selectAs(GoodsorderDetail::getGoodsNum,Goodsorder::getGoodsNum);
- queryWrapper.selectAs(GoodsorderDetail::getPrice,Goodsorder::getGoodsPrice);
- queryWrapper.selectAs(Member::getNickname,Goodsorder::getNickName);
- queryWrapper.selectAs(Member::getPhone,Goodsorder::getPhone);
- queryWrapper.selectAs(Addr::getAddr,Goodsorder::getAddr);
- queryWrapper.select("(select CREATE_DATE from order_urge where ORDER_ID=t.id and ISDELETED=0 ORDER BY CREATE_DATE desc limit 1) as urgeCreateDate ");
- queryWrapper.leftJoin(Member.class,Member::getId,Goodsorder::getMemberId);
- queryWrapper.leftJoin(Addr.class,Addr::getMemberId,Member::getId);
- queryWrapper.leftJoin(GoodsorderDetail.class,GoodsorderDetail::getOrderId,Goodsorder::getId);
- queryWrapper.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
- queryWrapper.eq(Addr::getIsDefault,Constants.ONE);
-
- queryWrapper.eq(pageWrap.getCode()!=null,Goodsorder::getCode,pageWrap.getCode());
- queryWrapper.and(StringUtils.isNotBlank(pageWrap.getNickName()),ms->ms.like(Goodsorder::getLinkname,pageWrap.getNickName())
- .or().like(Goodsorder::getLinkphone,pageWrap.getNickName())
- );
- queryWrapper.ge(pageWrap.getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getStarttime());
- queryWrapper.le(pageWrap.getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getEndtime());
-
- queryWrapper.eq(pageWrap.getStatus()!=null,Goodsorder::getStatus,pageWrap.getStatus());
- queryWrapper.eq(pageWrap.getIsdeleted()==null,Goodsorder::getIsdeleted,Constants.ZERO);
- queryWrapper.eq(pageWrap.getIsdeleted()!=null,Goodsorder::getIsdeleted,pageWrap.getIsdeleted());
- queryWrapper.orderByDesc(Goodsorder::getCreateDate);
-
- List<Goodsorder> result = goodsorderJoinMapper.selectJoinList(Goodsorder.class, queryWrapper);
-
-
+ public List<GoodsorderExport> exportExcel(PageWrap<Goodsorder> pageWrap) {
+ pageWrap.getModel().setNeedCount(false);
+ PageData<Goodsorder> list = findPage(pageWrap);
+ List<GoodsorderExport> result = new ArrayList<>();
+ if(list!=null && list.getRecords()!=null){
+ for(Goodsorder order: list.getRecords()){
+ GoodsorderExport param = new GoodsorderExport();
+ param.setCode(order.getCode());
+ String goodsInfo = "";
+ int goodsNum= 0;
+ if(order.getGoodsorderDetailList()!=null && order.getGoodsorderDetailList().size()>0){
+ for(GoodsorderDetail detail:order.getGoodsorderDetailList()){
+ goodsNum += Constants.formatIntegerNum(detail.getGoodsNum());
+ goodsInfo+= StringUtils.defaultString(detail.getName(),"")+"/"+Constants.formatBigdecimal(detail.getGoodsWeight())+"kg"
+ +"("+Constants.formatBigdecimal(detail.getPrice())+" x "+Constants.formatIntegerNum(detail.getGoodsNum())+")锛沑n";
+ }
+ }
+ param.setTotalNum(goodsNum);
+ param.setGoodsName(goodsInfo);
+ param.setTotalPrice(order.getTotalPrice());
+ param.setIntegralPrice(order.getIntegral());
+ param.setCouponPrice(order.getCouponPrice());
+ param.setMailPrice(order.getMailPrice());
+ param.setPrice(order.getPrice());
+ param.setShopName(order.getShopName());
+ param.setShopSettlement(order.getShopSettlement());
+ param.setReceiveType(order.getReceiveType());
+ param.setLinkname(order.getLinkname());
+ param.setLinkphone(order.getLinkphone());
+ param.setAddr(order.getLinkaddr());
+ param.setKdInfo(StringUtils.defaultString(order.getKdName(),"")+StringUtils.defaultString(order.getKdCode(),""));
+ param.setStatus(order.getStatus());
+ param.setCreateDate(order.getCreateDate());
+ result.add(param);
+ }
+ }
return result;
}
@@ -1352,11 +1367,12 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
if(!(Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_PAY.getKey())
- || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())
- || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey()) )){
+ || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())
+ || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey()) )){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鍙栨秷澶辫触锛氳鍗曠姸鎬佸凡娴佽浆锛�");
}
- if(goodsorder.getPrice().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ if(Constants.formatBigdecimal(goodsorder.getPrice()).compareTo(BigDecimal.ZERO)>Constants.ZERO
+ && Constants.equalsObject(goodsorder.getPayStatus(),Constants.ONE) ){
//寰俊鐜伴噾閫�娆�
String refundCode = WxMiniUtilService.wxRefund(goodsorder.getCode().toString(), goodsorder.getPrice(), goodsorder.getPrice());
Fund fund = new Fund();
@@ -1934,7 +1950,6 @@
}
}
-
@Override
@Transactional(rollbackFor = Exception.class)
public void orderComment(OrderCommentRequest orderCommentRequest){
@@ -1973,6 +1988,18 @@
goodsorder.setIsComment(Constants.ONE);
goodsorderMapper.updateById(goodsorder);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void orderRefund(Goodsorder param){
+ Goodsorder goodsorder = goodsorderMapper.selectById(param.getId());
+ if(!goodsorder.getMemberId().equals(goodsorder.getMemberId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氱敤鎴蜂俊鎭尮閰嶅け璐ワ紒");
+ }
+ if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氳鍗曟湭瀹屾垚锛屾棤娉曢��娆撅紒");
+ }
+
+ }
@Override
--
Gitblit v1.9.3