字典管理

资源管理
资源类型管理
团购卷订单管理
团购卷订单退款
团购卷商品(套餐商品修改与保存)
This commit is contained in:
2024-05-15 16:32:34 +08:00
parent a4cbb3798e
commit 6ba4aadccb
49 changed files with 1778 additions and 393 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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;
}