应用中心

-存酒
团购卷退款
This commit is contained in:
2024-05-21 16:18:10 +08:00
parent 0e35116e9d
commit 44509e1d32
45 changed files with 2165 additions and 34 deletions

View File

@@ -23,6 +23,8 @@ public interface TbPlatformDictService {
*/
List<TbPlatformDictDto> queryAll(TbPlatformDictQueryCriteria criteria);
List<TbPlatformDictDto> queryByType(String type);
/**
* 根据ID查询
* @param id ID

View File

@@ -50,6 +50,11 @@ public class TbPlatformDictServiceImpl implements TbPlatformDictService {
return tbPlatformDictMapper.toDto(tbPlatformDictRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
public List<TbPlatformDictDto> queryByType(String type){
return tbPlatformDictMapper.toDto(tbPlatformDictRepository.findAllByTypeAndIsShowCash(type,1));
}
@Override
@Transactional
public TbPlatformDictDto findById(Integer id) {

View File

@@ -1,43 +1,47 @@
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.mybatis.entity.TbOrderPayment;
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.mybatis.service.TbOrderPaymentService;
import cn.ysk.cashier.thirdpay.resp.OrderReturnResp;
import cn.ysk.cashier.thirdpay.resp.PublicResp;
import cn.ysk.cashier.thirdpay.service.ThirdPayService;
import cn.ysk.cashier.utils.*;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
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.math.BigDecimal;
import java.math.RoundingMode;
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
* @description 服务实现
* @date 2024-05-07
**/
@Service
@@ -50,22 +54,31 @@ public class TbGroupOrderInfoServiceImpl implements TbGroupOrderInfoService {
private final TbGroupOrderCouponService orderCouponService;
private final TbMerchantThirdApplyService thirdApplyService;
private final ThirdPayService thirdPayService;
@Autowired
private TbOrderPaymentService paymentService;
@Value("${thirdPay.url}")
private String url;
@Value("${thirdPay.groupCallBack}")
private String groupCallBack;
@Override
public Map<String,Object> queryAll(TbGroupOrderInfoQueryCriteria criteria, Pageable pageable){
Page<TbGroupOrderInfo> page = tbGroupOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
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)));
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);
ValidationUtil.isNull(tbGroupOrderInfo.getId(), "TbGroupOrderInfo", "id", id);
TbGroupOrderInfoDto dto = tbGroupOrderInfoMapper.toDto(tbGroupOrderInfo);
dto.setCoupons(orderCouponService.queryAll(dto.getId()));
return dto;
@@ -81,7 +94,7 @@ public class TbGroupOrderInfoServiceImpl implements TbGroupOrderInfoService {
@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());
ValidationUtil.isNull(tbGroupOrderInfo.getId(), "TbGroupOrderInfo", "id", resources.getId());
tbGroupOrderInfo.copy(resources);
tbGroupOrderInfoRepository.save(tbGroupOrderInfo);
}
@@ -137,7 +150,7 @@ public class TbGroupOrderInfoServiceImpl implements TbGroupOrderInfoService {
public ResponseEntity<Object> returnOrder(ReturnGroupOrderDto param) {
TbGroupOrderInfo groupOrderInfo = tbGroupOrderInfoRepository.getById(param.getOrderId());
List<TbGroupOrderCoupon> tbGroupOrderCoupons = orderCouponService.queryNoRefundByOrderId(param.getOrderId());
if (param.getNum() >= tbGroupOrderCoupons.size()) {
if (param.getNum() > tbGroupOrderCoupons.size()) {
throw new BadRequestException("可退数量不足");
}
for (int i = 0; i < param.getNum(); i++) {
@@ -149,31 +162,40 @@ public class TbGroupOrderInfoServiceImpl implements TbGroupOrderInfoService {
orderCouponService.update(coupon);
}
TbMerchantThirdApplyDto thirdApply = thirdApplyService.findById(groupOrderInfo.getMerchantId());
if(Objects.isNull(thirdApply)){
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("退款渠道调用失败");
QueryWrapper<TbOrderPayment> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_id", param.getOrderId());
TbOrderPayment payment = paymentService.getOne(queryWrapper);
PublicResp<OrderReturnResp> publicResp = thirdPayService.returnOrder(
url,
thirdApply.getAppId(),
groupOrderInfo.getOrderNo(),
payment.getTradeNumber(),
null,
"团购卷订单退款",
param.getRefundAmount().setScale(2, RoundingMode.DOWN).multiply(new BigDecimal(100)).longValue(),
groupCallBack,
null,
thirdApply.getAppToken());
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
if ("000000".equals(publicResp.getCode())) {
//TRADE_REFUND
if (!"TRADE_SUCCESS".equals(publicResp.getObjData().getState()) && !publicResp.getObjData().getState().equals("ING")) {
throw new BadRequestException("退款渠道调用失败");
}
} else {
throw new BadRequestException("退款渠道调用失败:" + publicResp.getMsg());
}
}
groupOrderInfo.setRefundNumber(groupOrderInfo.getRefundNumber() + param.getNum());
groupOrderInfo.setRefundAmount(groupOrderInfo.getRefundAmount().add(param.getRefundAmount()));
if (groupOrderInfo.getRefundAmount() == null) {
groupOrderInfo.setRefundAmount(param.getRefundAmount());
}else {
groupOrderInfo.setRefundAmount(groupOrderInfo.getRefundAmount().add(param.getRefundAmount()));
}
if (groupOrderInfo.getNumber().equals(groupOrderInfo.getRefundNumber())) {
groupOrderInfo.setRefundAble(0);
groupOrderInfo.setStatus("refund");

View File

@@ -0,0 +1,99 @@
package cn.ysk.cashier.service.impl.shopimpl;
import cn.ysk.cashier.dto.shop.TbShopStorageGoodDto;
import cn.ysk.cashier.dto.shop.TbShopStorageGoodQueryCriteria;
import cn.ysk.cashier.mapper.shop.TbShopStorageGoodMapper;
import cn.ysk.cashier.pojo.shop.TbShopStorageGood;
import cn.ysk.cashier.repository.shop.TbShopStorageGoodRepository;
import cn.ysk.cashier.service.shop.TbShopStorageGoodService;
import cn.ysk.cashier.utils.FileUtil;
import cn.ysk.cashier.utils.PageUtil;
import cn.ysk.cashier.utils.QueryHelp;
import cn.ysk.cashier.utils.ValidationUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Pageable;
import java.sql.Timestamp;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
* @website https://eladmin.vip
* @description 服务实现
* @author ww
* @date 2024-05-21
**/
@Service
@RequiredArgsConstructor
public class TbShopStorageGoodServiceImpl implements TbShopStorageGoodService {
private final TbShopStorageGoodRepository tbShopStorageGoodRepository;
private final TbShopStorageGoodMapper tbShopStorageGoodMapper;
@Override
public Map<String,Object> queryAll(TbShopStorageGoodQueryCriteria criteria, Pageable pageable){
Page<TbShopStorageGood> page = tbShopStorageGoodRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(tbShopStorageGoodMapper::toDto));
}
@Override
public List<TbShopStorageGoodDto> queryAll(TbShopStorageGoodQueryCriteria criteria){
return tbShopStorageGoodMapper.toDto(tbShopStorageGoodRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
@Transactional
public TbShopStorageGoodDto findById(Integer id) {
TbShopStorageGood tbShopStorageGood = tbShopStorageGoodRepository.findById(id).orElseGet(TbShopStorageGood::new);
ValidationUtil.isNull(tbShopStorageGood.getId(),"TbShopStorageGood","id",id);
return tbShopStorageGoodMapper.toDto(tbShopStorageGood);
}
@Override
@Transactional(rollbackFor = Exception.class)
public TbShopStorageGoodDto create(TbShopStorageGood resources) {
resources.setCreateTime(new Timestamp(System.currentTimeMillis()));
return tbShopStorageGoodMapper.toDto(tbShopStorageGoodRepository.save(resources));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(TbShopStorageGood resources) {
TbShopStorageGood tbShopStorageGood = tbShopStorageGoodRepository.findById(resources.getId()).orElseGet(TbShopStorageGood::new);
ValidationUtil.isNull( tbShopStorageGood.getId(),"TbShopStorageGood","id",resources.getId());
tbShopStorageGood.copy(resources);
tbShopStorageGoodRepository.save(tbShopStorageGood);
}
@Override
public void deleteAll(Integer[] ids) {
for (Integer id : ids) {
tbShopStorageGoodRepository.deleteById(id);
}
}
@Override
public void download(List<TbShopStorageGoodDto> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (TbShopStorageGoodDto tbShopStorageGood : all) {
Map<String,Object> map = new LinkedHashMap<>();
map.put("酒品名", tbShopStorageGood.getName());
map.put("图片地址", tbShopStorageGood.getImgUrl());
map.put("单位", tbShopStorageGood.getUnit());
map.put("有效期(天)", tbShopStorageGood.getPeriod());
map.put("0:未删除1:已删除", tbShopStorageGood.getIsDel());
map.put(" createTime", tbShopStorageGood.getCreateTime());
map.put("0:手动1:商品;", tbShopStorageGood.getSource());
map.put("商户Id", tbShopStorageGood.getShopId());
list.add(map);
}
FileUtil.downloadExcel(list, response);
}
}

View File

@@ -0,0 +1,94 @@
package cn.ysk.cashier.service.impl.shopimpl;
import cn.ysk.cashier.dto.shop.TbShopStorageRecordDto;
import cn.ysk.cashier.dto.shop.TbShopStorageRecordQueryCriteria;
import cn.ysk.cashier.mapper.shop.TbShopStorageRecordMapper;
import cn.ysk.cashier.pojo.shop.TbShopStorageRecord;
import cn.ysk.cashier.repository.shop.TbShopStorageRecordRepository;
import cn.ysk.cashier.service.shop.TbShopStorageRecordService;
import cn.ysk.cashier.utils.FileUtil;
import cn.ysk.cashier.utils.PageUtil;
import cn.ysk.cashier.utils.QueryHelp;
import cn.ysk.cashier.utils.ValidationUtil;
import lombok.RequiredArgsConstructor;
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.sql.Timestamp;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
* @website https://eladmin.vip
* @description 服务实现
* @author ww
* @date 2024-05-21
**/
@Service
@RequiredArgsConstructor
public class TbShopStorageRecordServiceImpl implements TbShopStorageRecordService {
private final TbShopStorageRecordRepository tbShopStorageRecordRepository;
private final TbShopStorageRecordMapper tbShopStorageRecordMapper;
@Override
public Map<String,Object> queryAll(TbShopStorageRecordQueryCriteria criteria, Pageable pageable){
Page<TbShopStorageRecord> page = tbShopStorageRecordRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(tbShopStorageRecordMapper::toDto));
}
@Override
public List<TbShopStorageRecordDto> queryAll(TbShopStorageRecordQueryCriteria criteria){
return tbShopStorageRecordMapper.toDto(tbShopStorageRecordRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
@Transactional
public TbShopStorageRecordDto findById(Integer id) {
TbShopStorageRecord tbShopStorageRecord = tbShopStorageRecordRepository.findById(id).orElseGet(TbShopStorageRecord::new);
ValidationUtil.isNull(tbShopStorageRecord.getId(),"TbShopStorageRecord","id",id);
return tbShopStorageRecordMapper.toDto(tbShopStorageRecord);
}
@Override
@Transactional(rollbackFor = Exception.class)
public TbShopStorageRecordDto create(TbShopStorageRecord resources) {
resources.setTime(new Timestamp(System.currentTimeMillis()));
return tbShopStorageRecordMapper.toDto(tbShopStorageRecordRepository.save(resources));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(TbShopStorageRecord resources) {
TbShopStorageRecord tbShopStorageRecord = tbShopStorageRecordRepository.findById(resources.getId()).orElseGet(TbShopStorageRecord::new);
ValidationUtil.isNull( tbShopStorageRecord.getId(),"TbShopStorageRecord","id",resources.getId());
tbShopStorageRecord.copy(resources);
tbShopStorageRecordRepository.save(tbShopStorageRecord);
}
@Override
public void deleteAll(Integer[] ids) {
for (Integer id : ids) {
tbShopStorageRecordRepository.deleteById(id);
}
}
@Override
public void download(List<TbShopStorageRecordDto> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (TbShopStorageRecordDto tbShopStorageRecord : all) {
Map<String,Object> map = new LinkedHashMap<>();
map.put("存酒信息id", tbShopStorageRecord.getStorageId());
map.put("记录", tbShopStorageRecord.getContent());
map.put("操作时间", tbShopStorageRecord.getTime());
list.add(map);
}
FileUtil.downloadExcel(list, response);
}
}

View File

@@ -0,0 +1,138 @@
package cn.ysk.cashier.service.impl.shopimpl;
import cn.ysk.cashier.dto.shop.TbShopStorageDto;
import cn.ysk.cashier.dto.shop.TbShopStorageNumDto;
import cn.ysk.cashier.dto.shop.TbShopStorageQueryCriteria;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.mapper.shop.TbShopStorageMapper;
import cn.ysk.cashier.pojo.shop.TbShopStorage;
import cn.ysk.cashier.pojo.shop.TbShopStorageRecord;
import cn.ysk.cashier.repository.shop.TbShopStorageRepository;
import cn.ysk.cashier.service.shop.TbShopStorageRecordService;
import cn.ysk.cashier.service.shop.TbShopStorageService;
import cn.ysk.cashier.utils.FileUtil;
import cn.ysk.cashier.utils.PageUtil;
import cn.ysk.cashier.utils.QueryHelp;
import cn.ysk.cashier.utils.ValidationUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Pageable;
import java.sql.Timestamp;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
* @author ww
* @website https://eladmin.vip
* @description 服务实现
* @date 2024-05-21
**/
@Service
@RequiredArgsConstructor
public class TbShopStorageServiceImpl implements TbShopStorageService {
private final TbShopStorageRepository tbShopStorageRepository;
private final TbShopStorageMapper tbShopStorageMapper;
private final TbShopStorageRecordService storageRecordService;
@Override
public Map<String, Object> queryAll(TbShopStorageQueryCriteria criteria, Pageable pageable) {
Page<TbShopStorage> page = tbShopStorageRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
return PageUtil.toPage(page.map(tbShopStorageMapper::toDto));
}
@Override
public List<TbShopStorageDto> queryAll(TbShopStorageQueryCriteria criteria) {
return tbShopStorageMapper.toDto(tbShopStorageRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)));
}
@Override
@Transactional
public TbShopStorageDto findById(Integer id) {
TbShopStorage tbShopStorage = tbShopStorageRepository.findById(id).orElseGet(TbShopStorage::new);
ValidationUtil.isNull(tbShopStorage.getId(), "TbShopStorage", "id", id);
return tbShopStorageMapper.toDto(tbShopStorage);
}
@Override
@Transactional(rollbackFor = Exception.class)
public TbShopStorageDto create(TbShopStorage resources) {
resources.setSavTime(new Timestamp(System.currentTimeMillis()));
resources.setExpTime(new Timestamp(System.currentTimeMillis() + 86400000 * resources.getExpDay()));
return tbShopStorageMapper.toDto(tbShopStorageRepository.save(resources));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateNum(TbShopStorageNumDto resources) {
TbShopStorage tbShopStorage = tbShopStorageRepository.findById(resources.getId()).orElseGet(TbShopStorage::new);
ValidationUtil.isNull(tbShopStorage.getId(), "TbShopStorage", "id", resources.getId());
if (resources.getType() == 1) {
tbShopStorage.setNum(tbShopStorage.getNum() + resources.getNum());
if (tbShopStorage.getStatus() == 0) {
tbShopStorage.setStatus(1);
}
} else if (resources.getType() == 0) {
int sum = tbShopStorage.getNum() - resources.getNum();
if (sum < 0) {
throw new BadRequestException("取酒失败,该酒余量不足");
}
if (sum == 0) {
tbShopStorage.setStatus(0);
}
tbShopStorage.setNum(sum);
} else {
throw new BadRequestException("存取酒失败");
}
tbShopStorageRepository.save(tbShopStorage);
TbShopStorageRecord record = new TbShopStorageRecord();
record.setStorageId(resources.getId());
record.setTime(new Timestamp(System.currentTimeMillis()));
record.setContent((resources.getType() == 1 ? "存入" : "取出") + resources.getNum() + tbShopStorage.getUnit() + tbShopStorage.getName());
storageRecordService.create(record);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(TbShopStorage resources) {
TbShopStorage tbShopStorage = tbShopStorageRepository.findById(resources.getId()).orElseGet(TbShopStorage::new);
ValidationUtil.isNull(tbShopStorage.getId(), "TbShopStorage", "id", resources.getId());
tbShopStorage.copy(resources);
tbShopStorageRepository.save(tbShopStorage);
}
@Override
public void deleteAll(Integer[] ids) {
for (Integer id : ids) {
tbShopStorageRepository.deleteById(id);
}
}
@Override
public void download(List<TbShopStorageDto> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (TbShopStorageDto tbShopStorage : all) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("酒品名", tbShopStorage.getName());
map.put("酒品图", tbShopStorage.getImgUrl());
map.put("单位", tbShopStorage.getUnit());
map.put("数量", tbShopStorage.getNum());
map.put("0已取完1未取完", tbShopStorage.getStatus());
map.put("到期时间", tbShopStorage.getExpTime());
map.put("存酒时间", tbShopStorage.getSavTime());
map.put("用户Id", tbShopStorage.getUserid());
map.put("用户昵称", tbShopStorage.getNickname());
map.put("用户电话", tbShopStorage.getTelphone());
map.put("店铺id", tbShopStorage.getShopId());
list.add(map);
}
FileUtil.downloadExcel(list, response);
}
}

View File

@@ -0,0 +1,66 @@
package cn.ysk.cashier.service.shop;
import cn.ysk.cashier.dto.shop.TbShopStorageGoodDto;
import cn.ysk.cashier.dto.shop.TbShopStorageGoodQueryCriteria;
import cn.ysk.cashier.pojo.shop.TbShopStorageGood;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
/**
* @author ww
* @date 2024-05-21
**/
public interface TbShopStorageGoodService {
/**
* 查询数据分页
* @param criteria 条件
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(TbShopStorageGoodQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<TbShopStorageGoodDto>
*/
List<TbShopStorageGoodDto> queryAll(TbShopStorageGoodQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return TbShopStorageGoodDto
*/
TbShopStorageGoodDto findById(Integer id);
/**
* 创建
* @param resources /
* @return TbShopStorageGoodDto
*/
TbShopStorageGoodDto create(TbShopStorageGood resources);
/**
* 编辑
* @param resources /
*/
void update(TbShopStorageGood resources);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Integer[] ids);
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<TbShopStorageGoodDto> all, HttpServletResponse response) throws IOException;
}

View File

@@ -0,0 +1,66 @@
package cn.ysk.cashier.service.shop;
import cn.ysk.cashier.dto.shop.TbShopStorageRecordDto;
import cn.ysk.cashier.dto.shop.TbShopStorageRecordQueryCriteria;
import cn.ysk.cashier.pojo.shop.TbShopStorageRecord;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
/**
* @author ww
* @date 2024-05-21
**/
public interface TbShopStorageRecordService {
/**
* 查询数据分页
* @param criteria 条件
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(TbShopStorageRecordQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<TbShopStorageRecordDto>
*/
List<TbShopStorageRecordDto> queryAll(TbShopStorageRecordQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return TbShopStorageRecordDto
*/
TbShopStorageRecordDto findById(Integer id);
/**
* 创建
* @param resources /
* @return TbShopStorageRecordDto
*/
TbShopStorageRecordDto create(TbShopStorageRecord resources);
/**
* 编辑
* @param resources /
*/
void update(TbShopStorageRecord resources);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Integer[] ids);
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<TbShopStorageRecordDto> all, HttpServletResponse response) throws IOException;
}

View File

@@ -0,0 +1,69 @@
package cn.ysk.cashier.service.shop;
import cn.ysk.cashier.dto.shop.TbShopStorageDto;
import cn.ysk.cashier.dto.shop.TbShopStorageNumDto;
import cn.ysk.cashier.dto.shop.TbShopStorageQueryCriteria;
import cn.ysk.cashier.pojo.shop.TbShopStorage;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
/**
* @author ww
* @date 2024-05-21
**/
public interface TbShopStorageService {
/**
* 查询数据分页
* @param criteria 条件
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(TbShopStorageQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<TbShopStorageDto>
*/
List<TbShopStorageDto> queryAll(TbShopStorageQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return TbShopStorageDto
*/
TbShopStorageDto findById(Integer id);
/**
* 创建
* @param resources /
* @return TbShopStorageDto
*/
TbShopStorageDto create(TbShopStorage resources);
/**
* 编辑
* @param resources /
*/
void update(TbShopStorage resources);
void updateNum(TbShopStorageNumDto resources);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Integer[] ids);
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<TbShopStorageDto> all, HttpServletResponse response) throws IOException;
}