Compare commits

..

2 Commits

Author SHA1 Message Date
fxh
2c4ea0c22c Merge remote-tracking branch 'origin/wzj-main' into wzj-main 2025-08-15 16:55:32 +08:00
fxh
f6357bb922 app接口 2025-08-15 16:54:59 +08:00
13 changed files with 185 additions and 25 deletions

2
.feisuan/.ymlignore Normal file
View File

@ -0,0 +1,2 @@
spring.datasource.username
spring.datasource.password

View File

@ -0,0 +1,34 @@
package org.dromara.app;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.ProductCategoryConvert;
import com.wzj.soopin.goods.domain.bo.ProductCategoryBo;
import com.wzj.soopin.goods.domain.entity.ProductCategory;
import com.wzj.soopin.goods.domain.vo.ProductCategoryVO;
import com.wzj.soopin.goods.service.impl.ProductCategoryServiceImpl;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Tag(name ="商品分类接口列表")
@RestController
@RequestMapping("/app/productCategory")
@RequiredArgsConstructor
public class AppProductCategoryController {
private final ProductCategoryServiceImpl service;
private final ProductCategoryConvert convert;
@Tag(name ="查询商品分类列表")
@PostMapping("page")
public R<Page<ProductCategoryVO>> page(@RequestBody ProductCategoryBo query, Page<ProductCategory> page) {
Page<ProductCategory> productCategoryPage = service.page(page,query.toWrapper());
return R.ok(convert.toVO(productCategoryPage));
}
}

View File

@ -0,0 +1,39 @@
package org.dromara.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.ProductConvert;
import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.vo.ProductVO;
import com.wzj.soopin.goods.service.ProductService;
import com.wzj.soopin.goods.service.impl.ProductServiceImpl;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.springframework.web.bind.annotation.*;
@Tag(name ="商品信息接口列表")
@RestController
@RequestMapping("/app/product")
@RequiredArgsConstructor
public class AppProductController {
private final ProductServiceImpl service;
private final ProductConvert convert;
private final ProductService productService;
@Tag(name ="查询商品信息列表")
@PostMapping("page")
public R<IPage<ProductVO>> page(@RequestBody ProductBo query, Page<Product> page) {
Page<Product> productCategoryPage = service.page(page,query.toWrapper());
return R.ok(convert.toVO(productCategoryPage));
}
@Tag(name ="获取商品信息详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.selectById(id));
}
}

View File

@ -0,0 +1,33 @@
package org.dromara.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.system.domain.SysVersion;
import org.dromara.system.domain.bo.SysVersionBo;
import org.dromara.system.domain.vo.SysVersionVo;
import org.dromara.system.service.ISysVerisonService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/app/version")
public class AppVersionController {
private final ISysVerisonService sysVerisonService;
@Tag(name ="查询app版本管理")
@PostMapping("/page")
public R<IPage<SysVersionVo>> list(@RequestBody SysVersionBo query, Page<SysVersion> page){
return R.ok(sysVerisonService.getList(page,query));
}
}

View File

@ -185,8 +185,8 @@ tenant:
- sys_commission_rate_range
- oms_red_packet
- oms_red_packet_receive
- commission_template
- commission_rate_range
- sys_commission_template
- sys_commission_rate_range
- cont_article
- cont_article_category

View File

@ -29,16 +29,11 @@ import java.util.List;
@RequiredArgsConstructor
public class ProductCategoryController extends BaseController {
private final ProductCategoryServiceImpl service;
private final ProductCategoryConvert convert;
@Tag(name ="查询商品分类列表")
@PostMapping("page")
public R<Page<ProductCategoryVO>> page(@RequestBody ProductCategoryBo query, Page<ProductCategory> page) {
Page<ProductCategory> productCategoryPage = service.page(page,query.toWrapper());
return R.ok(convert.toVO(productCategoryPage));
}
@Tag(name ="查询商品分类列表")
@PostMapping("list")
public R<List<ProductCategoryVO>> list(@RequestBody ProductCategoryBo query) {

View File

@ -46,13 +46,6 @@ public class ProductController extends BaseController {
private final ProductService productService;
@Tag(name ="查询商品信息列表app")
@PostMapping("page")
public R<Page<ProductVO>> page(@RequestBody ProductBo query, Page<Product> page) {
Page<Product> productCategoryPage = service.page(page,query.toWrapper());
return R.ok(convert.toVO(productCategoryPage));
}
@Tag(name ="查询商品信息列表")
@PostMapping("list")
public R<IPage<ProductVO>> list(@RequestBody ProductBo query, @RequestBody Page<Product> page) {

View File

@ -54,7 +54,7 @@ public class MemberAccountChangeRecord extends BaseAudit {
private String changeDesc;
@Schema(description ="来源")
private Integer source;
private String source;
}

View File

@ -158,4 +158,11 @@ public class OrderController extends BaseController {
}
}
@Tag(name = "订单退款")
@GetMapping("/refund")
public R refund(@RequestParam Long orderId, @RequestParam(required = false) String reason) {
log.info("订单退款开始订单ID: {}", orderId);
return service.refund(orderId,reason);
}
}

View File

@ -386,6 +386,7 @@ public class AftersaleServiceImpl extends ServiceImpl<AftersaleMapper, Aftersale
}
aftersale.setAuthFlag(authFlag);
aftersale.setCause(cause);
aftersale.setHandleTime(LocalDateTime.now());
aftersaleMapper.updateById(aftersale);
return aftersale;
}

View File

@ -67,6 +67,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
private final MemberWechatMapper memberWechatMapper;
private final WechatPaymentHistoryMapper wechatPaymentHistoryMapper;
private final RedisService redisService;
private final AftersaleMapper aftersaleMapper;
@Autowired(required = false)
@ -519,5 +520,48 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
}
/**
* 处理退款逻辑
* @param orderId 订单ID
* @return 操作结果
*/
public R refund(Long orderId, String reason) {
if (orderId == null) {
return R.fail("订单ID不能为空");
}
try {
// 根据订单ID获取订单信息
Order order = orderMapper.selectById(orderId);
if (order == null) {
return R.fail("未找到对应订单");
}
if (order.getAftersaleStatus() !=1){
return R.fail("订单未处于待售后状态");
}
// // 设置售后状态
order.setAftersaleStatus(2);
orderMapper.updateById(order);
// 创建售后记录
Aftersale aftersale = new Aftersale();
aftersale.setMemberId(order.getMemberId());
aftersale.setOrderId(orderId);
aftersale.setReturnAmount(order.getPayAmount());
aftersale.setQuantity(1);
aftersale.setType(1);
aftersale.setStatus(0);
aftersale.setReason(reason);
aftersale.setAuthFlag(0);
aftersaleMapper.insert(aftersale);
return R.ok("退款申请已提交",aftersale);
} catch (Exception e) {
log.error("处理退款时出错订单ID: " + orderId, e);
return R.fail("退款处理失败: " + e.getMessage());
}
}
}

View File

@ -49,10 +49,10 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
private static final int CHAT_TYPE_SINGLE = 1;
private static final int CHAT_TYPE_GROUP = 2;
// 金额变动类型100-发红包扣钱 101-领红包加钱 102-红包退款
private static final int CHANGE_TYPE_SEND = 100;
private static final int CHANGE_TYPE_RECEIVE = 101;
private static final int CHANGE_TYPE_REFUND = 102;
// 金额变动类型1-加钱 2-扣钱
private static final int CHANGE_TYPE_RECEIVE = 1;
private static final int CHANGE_TYPE_SEND = 2;
@Override
@Transactional(rollbackFor = Exception.class)
@ -213,7 +213,7 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
.afterBalance(afterBalance)
.changeAmount(redPacket.getTotalAmount())
.changeType(CHANGE_TYPE_SEND)
.changeDesc("发送红包红包ID" + redPacket.getId())
.source("发送红包红包ID" + redPacket.getId())
.build();
accountChangeRecordMapper.insert(record);
@ -274,8 +274,8 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
.beforeBalance(beforeBalance)
.afterBalance(afterBalance)
.changeAmount(remainingAmount)
.changeType(CHANGE_TYPE_REFUND)
.changeDesc("红包退款红包ID" + redPacket.getId())
.changeType(CHANGE_TYPE_RECEIVE)
.source("红包退款红包ID" + redPacket.getId())
.build();
accountChangeRecordMapper.insert(record);
@ -346,7 +346,7 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
.afterBalance(afterBalance)
.changeAmount(amount)
.changeType(CHANGE_TYPE_RECEIVE)
.changeDesc("领取红包红包ID" + packetId)
.source("领取红包红包ID" + packetId)
.build();
accountChangeRecordMapper.insert(record);

View File

@ -1,7 +1,10 @@
package org.dromara.system.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.system.domain.SysVersion;
@Data
public class SysVersionBo {
@ -17,4 +20,13 @@ public class SysVersionBo {
@Schema(description = "状态")
private Integer status;
public Wrapper<SysVersion> toWrapper() {
return new LambdaQueryWrapper<SysVersion>()
.eq(platformType != null, SysVersion::getPlatformType, platformType)
.eq(versionCode != null, SysVersion::getVersionCode, versionCode)
.eq(versionName != null, SysVersion::getVersionName, versionName)
.eq(status != null, SysVersion::getStatus, status);
}
}