字典管理
资源管理 资源类型管理 团购卷订单管理 团购卷订单退款 团购卷商品(套餐商品修改与保存)
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package cn.ysk.cashier.service;
|
||||
|
||||
import cn.ysk.cashier.dto.TbPlatformDictTypeDto;
|
||||
import cn.ysk.cashier.dto.TbPlatformDictTypeQueryCriteria;
|
||||
import cn.ysk.cashier.pojo.TbPlatformDictType;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ww
|
||||
* @date 2024-05-11
|
||||
**/
|
||||
public interface TbPlatformDictTypeService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param criteria 条件
|
||||
* @param pageable 分页参数
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
Map<String,Object> queryAll(TbPlatformDictTypeQueryCriteria criteria, Pageable pageable);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
* @param criteria 条件参数
|
||||
* @return List<TbPlatformDictTypeDto>
|
||||
*/
|
||||
List<TbPlatformDictTypeDto> queryAll(TbPlatformDictTypeQueryCriteria criteria);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
* @param id ID
|
||||
* @return TbPlatformDictTypeDto
|
||||
*/
|
||||
TbPlatformDictTypeDto findById(Integer id);
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param resources /
|
||||
* @return TbPlatformDictTypeDto
|
||||
*/
|
||||
TbPlatformDictTypeDto create(TbPlatformDictType resources);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param resources /
|
||||
*/
|
||||
void update(TbPlatformDictType resources);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Integer[] ids);
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import cn.ysk.cashier.exception.BadRequestException;
|
||||
import cn.ysk.cashier.mapper.TbPlatformDictMapper;
|
||||
import cn.ysk.cashier.pojo.TbPlatformDict;
|
||||
import cn.ysk.cashier.repository.TbPlatformDictRepository;
|
||||
import cn.ysk.cashier.repository.TbPlatformDictTypeRepository;
|
||||
import cn.ysk.cashier.service.TbPlatformDictService;
|
||||
import cn.ysk.cashier.utils.PageUtil;
|
||||
import cn.ysk.cashier.utils.QueryHelp;
|
||||
@@ -27,16 +28,23 @@ import java.util.Map;
|
||||
@RequiredArgsConstructor
|
||||
public class TbPlatformDictServiceImpl implements TbPlatformDictService {
|
||||
private final TbPlatformDictRepository tbPlatformDictRepository;
|
||||
private final TbPlatformDictTypeRepository dictTypeRepository;
|
||||
private final TbPlatformDictMapper tbPlatformDictMapper;
|
||||
|
||||
@Override
|
||||
public Map<String,Object> queryAllPage(TbPlatformDictQueryCriteria criteria){
|
||||
Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getPageSize(), Sort.by("sort"));
|
||||
// Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getPageSize(), Sort.by("type").and(Sort.by("sort")));
|
||||
Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getPageSize(), Sort.by("type","sort"));
|
||||
Page<TbPlatformDict> page = tbPlatformDictRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
|
||||
return PageUtil.toPage(page.map(tbPlatformDictMapper::toDto));
|
||||
Page<TbPlatformDictDto> map = page.map(tbPlatformDictMapper::toDto);
|
||||
for (TbPlatformDictDto tbPlatformDictDto : map.getContent()) {
|
||||
if (StringUtils.isNotBlank(tbPlatformDictDto.getType())) {
|
||||
tbPlatformDictDto.setType(dictTypeRepository.queryNameByKey(tbPlatformDictDto.getType()));
|
||||
}
|
||||
}
|
||||
return PageUtil.toPage(map);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<TbPlatformDictDto> queryAll(TbPlatformDictQueryCriteria criteria){
|
||||
return tbPlatformDictMapper.toDto(tbPlatformDictRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
|
||||
@@ -47,7 +55,11 @@ public class TbPlatformDictServiceImpl implements TbPlatformDictService {
|
||||
public TbPlatformDictDto findById(Integer id) {
|
||||
TbPlatformDict tbPlatformDict = tbPlatformDictRepository.findById(id).orElseGet(TbPlatformDict::new);
|
||||
ValidationUtil.isNull(tbPlatformDict.getId(),"TbPlatformDict","id",id);
|
||||
return tbPlatformDictMapper.toDto(tbPlatformDict);
|
||||
TbPlatformDictDto dto = tbPlatformDictMapper.toDto(tbPlatformDict);
|
||||
if (StringUtils.isNotBlank(dto.getType())) {
|
||||
dto.setType(dictTypeRepository.queryNameByKey(dto.getType()));
|
||||
}
|
||||
return dto;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -71,9 +83,11 @@ public class TbPlatformDictServiceImpl implements TbPlatformDictService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(TbPlatformDict resources) {
|
||||
TbPlatformDict tbPlatformDict = tbPlatformDictRepository.findById(resources.getId()).orElseGet(TbPlatformDict::new);
|
||||
String type = tbPlatformDict.getType();
|
||||
resources.setUpdatedAt(Instant.now().toEpochMilli());
|
||||
ValidationUtil.isNull( tbPlatformDict.getId(),"TbPlatformDict","id",resources.getId());
|
||||
tbPlatformDict.copy(resources);
|
||||
tbPlatformDict.setType(type);
|
||||
tbPlatformDictRepository.save(tbPlatformDict);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
package cn.ysk.cashier.service.impl;
|
||||
import cn.ysk.cashier.dto.TbPlatformDictTypeDto;
|
||||
import cn.ysk.cashier.dto.TbPlatformDictTypeQueryCriteria;
|
||||
import cn.ysk.cashier.mapper.TbPlatformDictTypeMapper;
|
||||
import cn.ysk.cashier.pojo.TbPlatformDictType;
|
||||
import cn.ysk.cashier.utils.PageUtil;
|
||||
import cn.ysk.cashier.utils.QueryHelp;
|
||||
import cn.ysk.cashier.utils.ValidationUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import cn.ysk.cashier.repository.TbPlatformDictTypeRepository;
|
||||
import cn.ysk.cashier.service.TbPlatformDictTypeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @website https://eladmin.vip
|
||||
* @description 服务实现
|
||||
* @author ww
|
||||
* @date 2024-05-11
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TbPlatformDictTypeServiceImpl implements TbPlatformDictTypeService {
|
||||
|
||||
private final TbPlatformDictTypeRepository tbPlatformDictTypeRepository;
|
||||
private final TbPlatformDictTypeMapper tbPlatformDictTypeMapper;
|
||||
|
||||
@Override
|
||||
public Map<String,Object> queryAll(TbPlatformDictTypeQueryCriteria criteria, Pageable pageable){
|
||||
Page<TbPlatformDictType> page = tbPlatformDictTypeRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
|
||||
return PageUtil.toPage(page.map(tbPlatformDictTypeMapper::toDto));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TbPlatformDictTypeDto> queryAll(TbPlatformDictTypeQueryCriteria criteria){
|
||||
return tbPlatformDictTypeMapper.toDto(tbPlatformDictTypeRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public TbPlatformDictTypeDto findById(Integer id) {
|
||||
TbPlatformDictType tbPlatformDictType = tbPlatformDictTypeRepository.findById(id).orElseGet(TbPlatformDictType::new);
|
||||
ValidationUtil.isNull(tbPlatformDictType.getId(),"TbPlatformDictType","id",id);
|
||||
return tbPlatformDictTypeMapper.toDto(tbPlatformDictType);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public TbPlatformDictTypeDto create(TbPlatformDictType resources) {
|
||||
return tbPlatformDictTypeMapper.toDto(tbPlatformDictTypeRepository.save(resources));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(TbPlatformDictType resources) {
|
||||
TbPlatformDictType tbPlatformDictType = tbPlatformDictTypeRepository.findById(resources.getId()).orElseGet(TbPlatformDictType::new);
|
||||
ValidationUtil.isNull( tbPlatformDictType.getId(),"TbPlatformDictType","id",resources.getId());
|
||||
tbPlatformDictType.copy(resources);
|
||||
tbPlatformDictTypeRepository.save(tbPlatformDictType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAll(Integer[] ids) {
|
||||
for (Integer id : ids) {
|
||||
tbPlatformDictTypeRepository.deleteById(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package cn.ysk.cashier.service.impl.order;
|
||||
|
||||
import cn.ysk.cashier.pojo.order.TbGroupOrderCoupon;
|
||||
import cn.ysk.cashier.repository.order.TbGroupOrderCouponRepository;
|
||||
import cn.ysk.cashier.service.order.TbGroupOrderCouponService;
|
||||
import cn.ysk.cashier.utils.ValidationUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TbGroupOrderCouponServiceImpl implements TbGroupOrderCouponService {
|
||||
private final TbGroupOrderCouponRepository tbGroupOrderCouponRepository;
|
||||
|
||||
@Override
|
||||
public List<TbGroupOrderCoupon> queryAll(Integer orderId){
|
||||
return tbGroupOrderCouponRepository.queryByOrderId(orderId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TbGroupOrderCoupon> queryNoRefundByOrderId(Integer orderId) {
|
||||
return tbGroupOrderCouponRepository.queryByOrderIdAndAndIsRefund(orderId,0);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(TbGroupOrderCoupon resources) {
|
||||
TbGroupOrderCoupon tbGroupOrderCoupon = tbGroupOrderCouponRepository.findById(resources.getId()).orElseGet(TbGroupOrderCoupon::new);
|
||||
ValidationUtil.isNull( tbGroupOrderCoupon.getId(),"TbGroupOrderCoupon","id",resources.getId());
|
||||
tbGroupOrderCoupon.copy(resources);
|
||||
tbGroupOrderCouponRepository.save(tbGroupOrderCoupon);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
package cn.ysk.cashier.service.impl.order;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.ysk.cashier.dto.order.ReturnGroupOrderDto;
|
||||
import cn.ysk.cashier.dto.order.TbGroupOrderInfoDto;
|
||||
import cn.ysk.cashier.dto.order.TbGroupOrderInfoQueryCriteria;
|
||||
import cn.ysk.cashier.dto.shop.TbMerchantThirdApplyDto;
|
||||
import cn.ysk.cashier.exception.BadRequestException;
|
||||
import cn.ysk.cashier.mapper.order.TbGroupOrderInfoMapper;
|
||||
import cn.ysk.cashier.model.ReturnOrderReq;
|
||||
import cn.ysk.cashier.pojo.order.TbGroupOrderCoupon;
|
||||
import cn.ysk.cashier.pojo.order.TbGroupOrderInfo;
|
||||
import cn.ysk.cashier.pojo.shop.TbMerchantThirdApply;
|
||||
import cn.ysk.cashier.repository.order.TbGroupOrderInfoRepository;
|
||||
import cn.ysk.cashier.service.order.TbGroupOrderCouponService;
|
||||
import cn.ysk.cashier.service.order.TbGroupOrderInfoService;
|
||||
import cn.ysk.cashier.service.shop.TbMerchantThirdApplyService;
|
||||
import cn.ysk.cashier.utils.*;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import java.util.Objects;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @description 服务实现
|
||||
* @author ww
|
||||
* @date 2024-05-07
|
||||
**/
|
||||
@Service
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class TbGroupOrderInfoServiceImpl implements TbGroupOrderInfoService {
|
||||
|
||||
private final TbGroupOrderInfoRepository tbGroupOrderInfoRepository;
|
||||
private final TbGroupOrderInfoMapper tbGroupOrderInfoMapper;
|
||||
private final TbGroupOrderCouponService orderCouponService;
|
||||
private final TbMerchantThirdApplyService thirdApplyService;
|
||||
|
||||
@Override
|
||||
public Map<String,Object> queryAll(TbGroupOrderInfoQueryCriteria criteria, Pageable pageable){
|
||||
Page<TbGroupOrderInfo> page = tbGroupOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
|
||||
return PageUtil.toPage(page.map(tbGroupOrderInfoMapper::toDto));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TbGroupOrderInfoDto> queryAll(TbGroupOrderInfoQueryCriteria criteria){
|
||||
return tbGroupOrderInfoMapper.toDto(tbGroupOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public TbGroupOrderInfoDto findById(Integer id) {
|
||||
TbGroupOrderInfo tbGroupOrderInfo = tbGroupOrderInfoRepository.findById(id).orElseGet(TbGroupOrderInfo::new);
|
||||
ValidationUtil.isNull(tbGroupOrderInfo.getId(),"TbGroupOrderInfo","id",id);
|
||||
TbGroupOrderInfoDto dto = tbGroupOrderInfoMapper.toDto(tbGroupOrderInfo);
|
||||
dto.setCoupons(orderCouponService.queryAll(dto.getId()));
|
||||
return dto;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public TbGroupOrderInfoDto create(TbGroupOrderInfo resources) {
|
||||
return tbGroupOrderInfoMapper.toDto(tbGroupOrderInfoRepository.save(resources));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(TbGroupOrderInfo resources) {
|
||||
TbGroupOrderInfo tbGroupOrderInfo = tbGroupOrderInfoRepository.findById(resources.getId()).orElseGet(TbGroupOrderInfo::new);
|
||||
ValidationUtil.isNull( tbGroupOrderInfo.getId(),"TbGroupOrderInfo","id",resources.getId());
|
||||
tbGroupOrderInfo.copy(resources);
|
||||
tbGroupOrderInfoRepository.save(tbGroupOrderInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAll(Integer[] ids) {
|
||||
for (Integer id : ids) {
|
||||
tbGroupOrderInfoRepository.deleteById(id);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void download(List<TbGroupOrderInfoDto> all, HttpServletResponse response) throws IOException {
|
||||
// List<Map<String, Object>> list = new ArrayList<>();
|
||||
// for (TbGroupOrderInfoDto tbGroupOrderInfo : all) {
|
||||
// Map<String,Object> map = new LinkedHashMap<>();
|
||||
// map.put("订单编号", tbGroupOrderInfo.getOrderNo());
|
||||
// map.put(" merchantId", tbGroupOrderInfo.getMerchantId());
|
||||
// map.put("商户Id", tbGroupOrderInfo.getShopId());
|
||||
// map.put("用户id", tbGroupOrderInfo.getUserId());
|
||||
// map.put("商品id", tbGroupOrderInfo.getProId());
|
||||
// map.put("商品图", tbGroupOrderInfo.getProImg());
|
||||
// map.put("商品名称", tbGroupOrderInfo.getProName());
|
||||
// map.put("团购卷到期日期", tbGroupOrderInfo.getExpDate());
|
||||
// map.put("订单类型 预留字段", tbGroupOrderInfo.getOrderType());
|
||||
// map.put("支付方式 wechatPay微信支付,aliPay支付宝支付", tbGroupOrderInfo.getPayType());
|
||||
// map.put("订单金额", tbGroupOrderInfo.getOrderAmount());
|
||||
// map.put("优惠金额", tbGroupOrderInfo.getSaveAmount());
|
||||
// map.put("实付金额", tbGroupOrderInfo.getPayAmount());
|
||||
// map.put("退单金额", tbGroupOrderInfo.getRefundAmount());
|
||||
// map.put("退单数量", tbGroupOrderInfo.getRefundNumber());
|
||||
// map.put("数量", tbGroupOrderInfo.getNumber());
|
||||
// map.put("订单状态
|
||||
// 状态: unpaid-待付款;unused-待使用;closed-已完成;refunding-退款中;refund-已退款;cancelled-已取消;", tbGroupOrderInfo.getStatus());
|
||||
// map.put("备注", tbGroupOrderInfo.getRemark());
|
||||
// map.put("手机号", tbGroupOrderInfo.getPhone());
|
||||
// map.put("付款时间", tbGroupOrderInfo.getPayTime());
|
||||
// map.put("是否支持退款 0:不支持 1:支持", tbGroupOrderInfo.getRefundAble());
|
||||
// map.put("创建时间", tbGroupOrderInfo.getCreateTime());
|
||||
// map.put("卷码核销员", tbGroupOrderInfo.getVerifier());
|
||||
// map.put("更新时间", tbGroupOrderInfo.getUpdateTime());
|
||||
// map.put("支付订单号", tbGroupOrderInfo.getPayOrderNo());
|
||||
// map.put("交易日期", tbGroupOrderInfo.getTradeDay());
|
||||
// map.put("原订单id 退单", tbGroupOrderInfo.getSource());
|
||||
// list.add(map);
|
||||
// }
|
||||
// FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResponseEntity<Object> returnOrder(ReturnGroupOrderDto param) {
|
||||
TbGroupOrderInfo groupOrderInfo = tbGroupOrderInfoRepository.getById(param.getOrderId());
|
||||
List<TbGroupOrderCoupon> tbGroupOrderCoupons = orderCouponService.queryNoRefundByOrderId(param.getOrderId());
|
||||
if (param.getNum() >= tbGroupOrderCoupons.size()) {
|
||||
throw new BadRequestException("可退数量不足");
|
||||
}
|
||||
for (int i = 0; i < param.getNum(); i++) {
|
||||
TbGroupOrderCoupon coupon = tbGroupOrderCoupons.get(i);
|
||||
coupon.setIsRefund(1);
|
||||
coupon.setRefundAmount(param.getRefundAmount());
|
||||
coupon.setRefundDesc(param.getRefundDesc());
|
||||
coupon.setRefundReason(param.getRefundReason());
|
||||
orderCouponService.update(coupon);
|
||||
}
|
||||
TbMerchantThirdApplyDto thirdApply = thirdApplyService.findById(groupOrderInfo.getMerchantId());
|
||||
if(Objects.isNull(thirdApply)){
|
||||
throw new BadRequestException("支付参数配置错误");
|
||||
}
|
||||
ReturnOrderReq req = new ReturnOrderReq();
|
||||
req.setAppId(thirdApply.getAppId());
|
||||
req.setTimestamp(System.currentTimeMillis());
|
||||
req.setOrderNumber(groupOrderInfo.getPayOrderNo());
|
||||
req.setAmount(param.getRefundAmount().toString());
|
||||
req.setMercRefundNo(groupOrderInfo.getOrderNo());
|
||||
req.setRefundReason("团购卷:退货");
|
||||
req.setPayPassword(thirdApply.getPayPassword());
|
||||
Map<String, Object> map = BeanUtil.transBean2Map(req);
|
||||
req.setSign(MD5Utils.encrypt(map, thirdApply.getAppToken(), true));
|
||||
log.info("groupOrderReturn req:{}", JSONUtil.toJsonStr(req));
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
ResponseEntity<String> response = restTemplate.postForEntity("https://gatewaytestapi.sxczgkj.cn/gate-service/merchantOrder/returnOrder", req, String.class);
|
||||
log.info("groupOrderReturn:{}", response.getBody());
|
||||
if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) {
|
||||
JSONObject object = JSONObject.parseObject(response.getBody());
|
||||
if (!object.get("code").equals("0")) {
|
||||
throw new BadRequestException("退款渠道调用失败");
|
||||
}
|
||||
}
|
||||
groupOrderInfo.setRefundNumber(groupOrderInfo.getRefundNumber() + param.getNum());
|
||||
groupOrderInfo.setRefundAmount(groupOrderInfo.getRefundAmount().add(param.getRefundAmount()));
|
||||
if (groupOrderInfo.getNumber().equals(groupOrderInfo.getRefundNumber())) {
|
||||
groupOrderInfo.setRefundAble(0);
|
||||
groupOrderInfo.setStatus("refund");
|
||||
}
|
||||
tbGroupOrderInfoRepository.save(groupOrderInfo);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.bean.copier.CopyOptions;
|
||||
import cn.ysk.cashier.dto.product.TbProductDto;
|
||||
import cn.ysk.cashier.dto.product.TbProductQueryCriteria;
|
||||
import cn.ysk.cashier.dto.shop.TbCouponCategoryDto;
|
||||
import cn.ysk.cashier.exception.BadRequestException;
|
||||
import cn.ysk.cashier.mapper.product.TbProductMapper;
|
||||
import cn.ysk.cashier.pojo.product.*;
|
||||
@@ -27,11 +28,13 @@ import cn.ysk.cashier.repository.product.*;
|
||||
import cn.ysk.cashier.repository.shop.TbShopUnitRepository;
|
||||
import cn.ysk.cashier.repository.shop.TbShopUserDutyDetailRepository;
|
||||
import cn.ysk.cashier.service.product.TbProductService;
|
||||
import cn.ysk.cashier.service.shop.TbCouponCategoryService;
|
||||
import cn.ysk.cashier.utils.*;
|
||||
import cn.ysk.cashier.vo.TbProductVo;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@@ -40,7 +43,6 @@ import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
@@ -69,6 +71,7 @@ public class TbProductServiceImpl implements TbProductService {
|
||||
private final TbProductSkuResultRepository tbProductSkuResultRepository;
|
||||
private final TbShopCategoryRepository tbShopCategoryRepository;
|
||||
private final TbShopUserDutyDetailRepository tbShopUserDutyDetailRe;
|
||||
private final TbCouponCategoryService tbCouponCategoryService;
|
||||
|
||||
private final RedisUtils redisUtils;
|
||||
|
||||
@@ -241,6 +244,15 @@ public class TbProductServiceImpl implements TbProductService {
|
||||
Optional<TbProductSkuResult> skuResult = tbProductSkuResultRepository.findById(tbProductVo.getId());
|
||||
tbProductVo.setSkuSnap(skuResult.get().getTagSnap());
|
||||
}
|
||||
if ("group".equals(tbProductVo.getTypeEnum())) {
|
||||
if (StringUtils.isNotBlank(tbProduct.getGroupCategoryId())) {
|
||||
JSONArray objects = ListUtil.stringChangeList(tbProduct.getGroupCategoryId());
|
||||
for (Object groupCategoryId : objects) {
|
||||
TbCouponCategoryDto byId = tbCouponCategoryService.findById(Integer.valueOf(groupCategoryId.toString()));
|
||||
tbProductVo.getGroupCategoryId().add(byId);
|
||||
}
|
||||
}
|
||||
}
|
||||
return tbProductVo;
|
||||
}
|
||||
|
||||
@@ -294,16 +306,19 @@ public class TbProductServiceImpl implements TbProductService {
|
||||
product.setStatus(1);
|
||||
product.setCreatedAt(Instant.now().toEpochMilli());
|
||||
product.setUpdatedAt(Instant.now().toEpochMilli());
|
||||
if (!resources.getGroupSnap().isEmpty()) {
|
||||
ListUtil.JSONArrayChangeString(resources.getGroupSnap());
|
||||
}
|
||||
if (resources.getUnitId() != null) {
|
||||
product.setUnitId(resources.getUnitId());
|
||||
}
|
||||
//套餐内容
|
||||
if (!resources.getGroupSnap().isEmpty()) {
|
||||
product.setGroupSnap(ListUtil.JSONArrayChangeString(resources.getGroupSnap()));
|
||||
product.setIsCombo(1);
|
||||
if("group".equals(resources.getTypeEnum())){
|
||||
//套餐内容
|
||||
if (!resources.getGroupSnap().isEmpty()) {
|
||||
product.setGroupSnap(ListUtil.JSONArrayChangeString(resources.getGroupSnap()));
|
||||
product.setIsCombo(1);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(resources.getGroupCategoryId())){
|
||||
List<Integer> collect = resources.getGroupCategoryId().stream().map(TbCouponCategoryDto::getId).collect(Collectors.toList());
|
||||
product.setGroupCategoryId(collect.toString());
|
||||
}
|
||||
}
|
||||
TbProduct save = tbProductRepository.save(product);
|
||||
|
||||
@@ -351,8 +366,16 @@ public class TbProductServiceImpl implements TbProductService {
|
||||
product.setUpdatedAt(Instant.now().toEpochMilli());
|
||||
product.setCategoryId(resources.getCategoryId().toString());
|
||||
product.setImages(resources.getImages().toString());
|
||||
if (!resources.getGroupSnap().isEmpty()) {
|
||||
ListUtil.JSONArrayChangeString(resources.getGroupSnap());
|
||||
if("group".equals(resources.getTypeEnum())){
|
||||
//套餐内容
|
||||
if (!resources.getGroupSnap().isEmpty()) {
|
||||
product.setGroupSnap(ListUtil.JSONArrayChangeString(resources.getGroupSnap()));
|
||||
product.setIsCombo(1);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(resources.getGroupCategoryId())){
|
||||
List<Integer> collect = resources.getGroupCategoryId().stream().map(TbCouponCategoryDto::getId).collect(Collectors.toList());
|
||||
product.setGroupCategoryId(collect.toString());
|
||||
}
|
||||
}
|
||||
TbProduct save = tbProductRepository.save(product);
|
||||
|
||||
|
||||
@@ -90,12 +90,6 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
|
||||
Sort sort = Sort.by(Sort.Direction.DESC, "id");
|
||||
Pageable pageables = PageRequest.of(criteria.getPage(), criteria.getSize(), sort);
|
||||
Page<TbShopInfo> page = tbShopInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageables);
|
||||
List<TbShopInfo> content = page.getContent();
|
||||
for (TbShopInfo data: content){
|
||||
if (data.getProfiles() == null){
|
||||
data.setProfiles("");
|
||||
}
|
||||
}
|
||||
return PageUtil.toPage(page);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package cn.ysk.cashier.service.order;
|
||||
|
||||
import cn.ysk.cashier.pojo.order.TbGroupOrderCoupon;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ww
|
||||
* @date 2024-05-07
|
||||
**/
|
||||
public interface TbGroupOrderCouponService {
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
*/
|
||||
List<TbGroupOrderCoupon> queryAll(Integer orderId);
|
||||
List<TbGroupOrderCoupon> queryNoRefundByOrderId(Integer orderId);
|
||||
|
||||
void update(TbGroupOrderCoupon resources);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package cn.ysk.cashier.service.order;
|
||||
import cn.ysk.cashier.dto.order.ReturnGroupOrderDto;
|
||||
import cn.ysk.cashier.dto.order.TbGroupOrderInfoDto;
|
||||
import cn.ysk.cashier.dto.order.TbGroupOrderInfoQueryCriteria;
|
||||
import cn.ysk.cashier.pojo.order.TbGroupOrderInfo;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @website https://eladmin.vip
|
||||
* @description 服务接口
|
||||
* @author ww
|
||||
* @date 2024-05-07
|
||||
**/
|
||||
public interface TbGroupOrderInfoService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param criteria 条件
|
||||
* @param pageable 分页参数
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
Map<String,Object> queryAll(TbGroupOrderInfoQueryCriteria criteria, Pageable pageable);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
* @param criteria 条件参数
|
||||
* @return List<TbGroupOrderInfoDto>
|
||||
*/
|
||||
List<TbGroupOrderInfoDto> queryAll(TbGroupOrderInfoQueryCriteria criteria);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
* @param id ID
|
||||
* @return TbGroupOrderInfoDto
|
||||
*/
|
||||
TbGroupOrderInfoDto findById(Integer id);
|
||||
|
||||
ResponseEntity<Object> returnOrder(ReturnGroupOrderDto param);
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param resources /
|
||||
* @return TbGroupOrderInfoDto
|
||||
*/
|
||||
TbGroupOrderInfoDto create(TbGroupOrderInfo resources);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param resources /
|
||||
*/
|
||||
void update(TbGroupOrderInfo resources);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Integer[] ids);
|
||||
|
||||
/**
|
||||
* 导出数据
|
||||
* @param all 待导出的数据
|
||||
* @param response /
|
||||
* @throws IOException /
|
||||
*/
|
||||
void download(List<TbGroupOrderInfoDto> all, HttpServletResponse response) throws IOException;
|
||||
}
|
||||
Reference in New Issue
Block a user