Merge remote-tracking branch 'origin/dev' into share-stock
This commit is contained in:
@@ -428,11 +428,12 @@ public class SummaryServiceImpl implements SummaryService {
|
||||
map.put("商品名称", all.getProductName());
|
||||
map.put("单 位", all.getUnitName());
|
||||
map.put("商品规格", StringUtils.isBlank(all.getProductSkuName()) ? "" : all.getProductSkuName());
|
||||
map.put("销 售 额", all.getSalesAmount());
|
||||
map.put("销 量", all.getSalesNum());
|
||||
map.put("退单量", all.getRefNum());
|
||||
map.put("销售额", all.getSalesAmount());
|
||||
map.put("退单额", all.getRefAmount());
|
||||
map.put("总 量", all.getNum());
|
||||
map.put("单 价", all.getPrice());
|
||||
map.put("退 单 量", all.getRefNum());
|
||||
map.put("退 单 额", all.getRefAmount().compareTo(BigDecimal.ZERO)==0?all.getRefAmount():"-"+all.getRefAmount());
|
||||
map.put("总 量", all.getNum()-all.getRefNum());
|
||||
list.add(map);
|
||||
}
|
||||
}
|
||||
@@ -464,8 +465,8 @@ public class SummaryServiceImpl implements SummaryService {
|
||||
list.add(refCount);
|
||||
|
||||
TbOrderSalesCountByDayVo numCount = detailRepository.queryTbOrderSalesCount(Integer.valueOf(shopId), startTime, endTime);
|
||||
TbOrderPayCountVo salesNum =new TbOrderPayCountVo("el-icon-goods","销售量","0",numCount.getSalesNum());
|
||||
TbOrderPayCountVo refNum =new TbOrderPayCountVo("el-icon-goods","销售量","0",numCount.getRefNum());
|
||||
TbOrderPayCountVo salesNum =new TbOrderPayCountVo("el-icon-goods","销售量","0",numCount.getSalesNum()-numCount.getRefNum());
|
||||
TbOrderPayCountVo refNum =new TbOrderPayCountVo("el-icon-goods","退单量","0",numCount.getRefNum());
|
||||
list.add(salesNum);
|
||||
list.add(refNum);
|
||||
return list;
|
||||
|
||||
@@ -78,7 +78,6 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
|
||||
criteria.setOrderType(null);
|
||||
}
|
||||
}
|
||||
// Page<TbOrderInfo> page = tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
|
||||
Page<TbOrderInfo> page = tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
|
||||
Predicate predicate = QueryHelp.getPredicate(root, criteria, criteriaBuilder);
|
||||
// 追加校验参数 status不为空 且 source不为空 不查询状态为 "refund" 的
|
||||
@@ -91,16 +90,29 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
|
||||
List<TbOrderInfoVo> orderInfoVoList = new ArrayList<>();
|
||||
for (TbOrderInfo tbOrderInfo : page.getContent()) {
|
||||
TbOrderInfoVo orderInfoVo = new TbOrderInfoVo();
|
||||
List<TbOrderDetail> details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId());
|
||||
BigDecimal refundAmount = BigDecimal.ZERO;
|
||||
for (TbOrderDetail detail : details) {
|
||||
if (tbOrderInfo.getStatus().equals("refund")) {
|
||||
refundAmount = refundAmount.add(detail.getPriceAmount());
|
||||
List<TbOrderDetail> details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId());
|
||||
if (!tbOrderInfo.getOrderType().equals("return")) {
|
||||
List<TbOrderInfo> tbOrderInfos = tbOrderInfoRepository.selTbOrdersBysource(tbOrderInfo.getId(), tbOrderInfo.getShopId());
|
||||
Map<Integer, Integer> map;
|
||||
if (!CollectionUtils.isEmpty(tbOrderInfos)) {
|
||||
List<Integer> ids = tbOrderInfos.stream().map(TbOrderInfo::getId).collect(Collectors.toList());
|
||||
List<TbOrderDetail> refundOrderDetail = tbOrderDetailRepository.searchDetailByOrderIds(ids);
|
||||
map = refundOrderDetail.stream().collect(Collectors.groupingBy(TbOrderDetail::getProductSkuId, Collectors.summingInt(TbOrderDetail::getNum)));
|
||||
refundAmount = tbOrderInfos.stream().map(TbOrderInfo::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
} else {
|
||||
if (detail.getStatus().equals("refund")) {
|
||||
refundAmount = refundAmount.add(detail.getPriceAmount());
|
||||
}
|
||||
map = new HashMap<>();
|
||||
}
|
||||
details.parallelStream().forEach(detail -> {
|
||||
Integer refundNumber = map.get(detail.getProductSkuId());
|
||||
if (refundNumber != null) {
|
||||
detail.setRefundNumber(refundNumber);
|
||||
}
|
||||
});
|
||||
}else {
|
||||
details.parallelStream().forEach(detail -> {
|
||||
detail.setRefundNumber(detail.getNum());
|
||||
});
|
||||
}
|
||||
orderInfoVo.setDetailList(details);
|
||||
BeanUtils.copyProperties(tbOrderInfo, orderInfoVo);
|
||||
@@ -127,7 +139,9 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
|
||||
}
|
||||
}
|
||||
List<TbOrderPayCountVo> payCountVoList = tbOrderInfoRepository.queryTbOrderPayCount(criteria.getShopId(), start, end);
|
||||
BigDecimal totalPayAmount = BigDecimal.ZERO;
|
||||
for (TbOrderPayCountVo payCount : payCountVoList) {
|
||||
totalPayAmount = totalPayAmount.add(new BigDecimal(payCount.getPayAmount().toString()));
|
||||
if (StringUtils.isNotBlank(payCount.getPayType())) {
|
||||
TbShopPayType byPayType = payTypeRepository.findByPayType(payCount.getPayType(), criteria.getShopId());
|
||||
if (byPayType != null) {
|
||||
@@ -143,10 +157,12 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
|
||||
}
|
||||
TbOrderPayCountVo payRufund = tbOrderInfoRepository.queryTbOrderRefund(criteria.getShopId(), start, end);
|
||||
if (payRufund != null) {
|
||||
totalPayAmount = totalPayAmount.subtract(new BigDecimal(payRufund.getPayAmount().toString()));
|
||||
payRufund.setPayType("退单");
|
||||
payRufund.setIcon("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240319/5741608662244b878762c61bb37c95c9.png");
|
||||
result.add(payRufund);
|
||||
}
|
||||
result.add(0, new TbOrderPayCountVo("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240625/fa0e5b24884d4ac2a18973b3855e5309.png", "总金额", null, totalPayAmount));
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -189,28 +205,19 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
|
||||
dto.setPayType(tbOrderInfo.getSendType());
|
||||
break;
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
if (dto.getStatus().equals("refund")) {
|
||||
dto.setPayType("退单");
|
||||
}
|
||||
}
|
||||
List<TbOrderDetail> details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId());
|
||||
dto.setIsRefund(0);
|
||||
BigDecimal refundAmount = BigDecimal.ZERO;
|
||||
for (TbOrderDetail detail : details) {
|
||||
if (tbOrderInfo.getStatus().equals("refund")) {
|
||||
refundAmount = refundAmount.add(detail.getPriceAmount());
|
||||
} else {
|
||||
if (detail.getStatus().equals("refund")) {
|
||||
refundAmount = refundAmount.add(detail.getPriceAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
int refund = tbOrderInfoRepository.isRefund(id, tbOrderInfo.getShopId());
|
||||
if (refund > 0) {
|
||||
dto.setRefundAmount(BigDecimal.ZERO);
|
||||
List<TbOrderInfo> tbOrderInfos = tbOrderInfoRepository.selTbOrdersBysource(tbOrderInfo.getId(), tbOrderInfo.getShopId());
|
||||
if(!CollectionUtils.isEmpty(tbOrderInfos)){
|
||||
dto.setIsRefund(1);
|
||||
dto.setRefundAmount(tbOrderInfos.stream().map(TbOrderInfo::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
}
|
||||
dto.setRefundAmount(refundAmount);
|
||||
dto.setDetailList(details);
|
||||
return dto;
|
||||
}
|
||||
|
||||
@@ -1,26 +1,9 @@
|
||||
/*
|
||||
* Copyright 2019-2020 Zheng Jie
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.ysk.cashier.service.impl.shopimpl;
|
||||
|
||||
import cn.ysk.cashier.dto.shop.TbShopUserDto;
|
||||
import cn.ysk.cashier.dto.shop.TbShopUserQueryCriteria;
|
||||
import cn.ysk.cashier.mapper.shop.TbShopUserMapper;
|
||||
import cn.ysk.cashier.mybatis.entity.TbUserStorage;
|
||||
import cn.ysk.cashier.mybatis.mapper.ShopUserMapper;
|
||||
import cn.ysk.cashier.mybatis.mapper.TagProductDeptsMapper;
|
||||
import cn.ysk.cashier.pojo.shop.TbShopUser;
|
||||
import cn.ysk.cashier.repository.shop.TbShopUserRepository;
|
||||
import cn.ysk.cashier.service.shop.TbShopUserService;
|
||||
@@ -29,7 +12,6 @@ import cn.ysk.cashier.utils.PageUtil;
|
||||
import cn.ysk.cashier.utils.QueryHelp;
|
||||
import cn.ysk.cashier.utils.ValidationUtil;
|
||||
import cn.ysk.cashier.vo.ShopUserInfoVo;
|
||||
import com.alipay.api.domain.PageInfo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -1,26 +1,8 @@
|
||||
/*
|
||||
* Copyright 2019-2020 Zheng Jie
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.ysk.cashier.service.shop;
|
||||
|
||||
import cn.ysk.cashier.pojo.shop.TbShopUser;
|
||||
import cn.ysk.cashier.dto.shop.TbShopUserDto;
|
||||
import cn.ysk.cashier.dto.shop.TbShopUserQueryCriteria;
|
||||
import cn.ysk.cashier.vo.ShopUserInfoVo;
|
||||
import com.alipay.api.domain.PageInfo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
Reference in New Issue
Block a user