This commit is contained in:
PQZ 2025-04-09 11:27:32 +08:00
parent e446d3e281
commit 4d4f80d0a4
3 changed files with 62 additions and 16 deletions

View File

@ -42,7 +42,6 @@ public class MemberOrderController extends BaseController {
* @author PQZ * @author PQZ
* @date 15:24 2025/3/25 * @date 15:24 2025/3/25
**/ **/
@PreAuthorize("@ss.hasPermi('member:order:list')")
@GetMapping("/list") @GetMapping("/list")
public AjaxResult list(MemberOrderVO memberOrder, public AjaxResult list(MemberOrderVO memberOrder,
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
@ -71,7 +70,6 @@ public class MemberOrderController extends BaseController {
/** /**
* 导出订单列表 * 导出订单列表
*/ */
@PreAuthorize("@ss.hasPermi('member:order:export')")
@Log(title = "订单", businessType = BusinessType.EXPORT) @Log(title = "订单", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, MemberOrder memberOrder) { public void export(HttpServletResponse response, MemberOrder memberOrder) {
@ -83,26 +81,29 @@ public class MemberOrderController extends BaseController {
/** /**
* 获取订单详细信息 * 获取订单详细信息
*/ */
@PreAuthorize("@ss.hasPermi('member:order:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) { public AjaxResult getInfo(@PathVariable("id") String id) {
return success(memberOrderService.getById(id)); return success(memberOrderService.getById(id));
} }
/** /**
* 新增订单 * 保存订单并吊起支付接口
*/ *
@PreAuthorize("@ss.hasPermi('member:order:add')") * @param memberOrder {@link MemberOrder}
* @return com.ruoyi.common.core.domain.AjaxResult
* @author PQZ
* @date 14:00 2025/4/8
**/
@Log(title = "订单", businessType = BusinessType.INSERT) @Log(title = "订单", businessType = BusinessType.INSERT)
@PostMapping @PostMapping("/uniSaveOrder")
public AjaxResult add(@RequestBody MemberOrder memberOrder) { public AjaxResult add(@RequestBody MemberOrder memberOrder) {
return toAjax(memberOrderService.save(memberOrder)); memberOrderService.saveOrder(memberOrder);
return success();
} }
/** /**
* 修改订单 * 修改订单
*/ */
@PreAuthorize("@ss.hasPermi('member:order:edit')")
@Log(title = "订单", businessType = BusinessType.UPDATE) @Log(title = "订单", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody MemberOrder memberOrder) { public AjaxResult edit(@RequestBody MemberOrder memberOrder) {
@ -112,7 +113,6 @@ public class MemberOrderController extends BaseController {
/** /**
* 删除订单 * 删除订单
*/ */
@PreAuthorize("@ss.hasPermi('member:order:remove')")
@Log(title = "订单", businessType = BusinessType.DELETE) @Log(title = "订单", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) { public AjaxResult remove(@PathVariable String[] ids) {

View File

@ -33,4 +33,12 @@ public interface IMemberOrderService extends IService<MemberOrder> {
* @date 14:02 2025/3/26 * @date 14:02 2025/3/26
**/ **/
void payCallback(String orderNo); void payCallback(String orderNo);
/**
* 保存订单并吊起支付
* @author PQZ
* @date 14:02 2025/4/8
* @param memberOrder {@link MemberOrder}
**/
void saveOrder(MemberOrder memberOrder);
} }

View File

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.DlBaseEntity; import com.ruoyi.common.core.domain.DlBaseEntity;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.member.domain.MemberOrder; import com.ruoyi.member.domain.MemberOrder;
import com.ruoyi.member.mapper.MemberOrderMapper; import com.ruoyi.member.mapper.MemberOrderMapper;
@ -19,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.Random;
/** /**
* 订单Service业务层处理 * 订单Service业务层处理
@ -27,8 +30,7 @@ import java.util.Date;
* @date 2025-03-17 * @date 2025-03-17
*/ */
@Service @Service
public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper,MemberOrder> implements IMemberOrderService public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper, MemberOrder> implements IMemberOrderService {
{
@Autowired @Autowired
private MemberOrderMapper memberOrderMapper; private MemberOrderMapper memberOrderMapper;
@Resource @Resource
@ -48,7 +50,7 @@ public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper,Member
**/ **/
@Override @Override
public IPage<MemberOrderVO> queryListPage(MemberOrderVO memberOrder, Page<MemberOrder> page) { public IPage<MemberOrderVO> queryListPage(MemberOrderVO memberOrder, Page<MemberOrder> page) {
return memberOrderMapper.queryListPage(memberOrder,page); return memberOrderMapper.queryListPage(memberOrder, page);
} }
/** /**
@ -64,11 +66,11 @@ public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper,Member
public void payCallback(String orderNo) { public void payCallback(String orderNo) {
/*1、校验数据完整性*/ /*1、校验数据完整性*/
LambdaQueryWrapper<MemberOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MemberOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0).eq(MemberOrder::getOrderNo,orderNo); lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag, 0).eq(MemberOrder::getOrderNo, orderNo);
MemberOrder memberOrder = getOne(lambdaQueryWrapper); MemberOrder memberOrder = getOne(lambdaQueryWrapper);
/*2、处理不同类型订单*/ /*2、处理不同类型订单*/
if ("01".equals(memberOrder.getOrderType())) { if ("01".equals(memberOrder.getOrderType())) {
cardService.dealMemberCard(memberOrder.getUserId(),memberOrder.getUserType(),memberOrder.getGoodsId(),memberOrder.getGoodsCycle(),memberOrder.getId()); cardService.dealMemberCard(memberOrder.getUserId(), memberOrder.getUserType(), memberOrder.getGoodsId(), memberOrder.getGoodsCycle(), memberOrder.getId());
} else { } else {
couponService.dealMemberCoupon(memberOrder); couponService.dealMemberCoupon(memberOrder);
} }
@ -79,4 +81,40 @@ public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper,Member
updateById(memberOrder); updateById(memberOrder);
} }
/**
* 保存订单并吊起支付(orderType,goodsCycle,goodsId,goodsNum,goodsPrice)
*
* @param memberOrder {@link MemberOrder}
* @author PQZ
* @date 14:02 2025/4/8
**/
@Override
public void saveOrder(MemberOrder memberOrder) {
//获取当前登录用户
LoginUser securityUser = SecurityUtils.getLoginUser();
memberOrder.setUserId(securityUser.getUserId());
memberOrder.setNickname(securityUser.getUser().getNickName());
memberOrder.setOrderNo(generateOrderId());
//保存订单数据
save(memberOrder);
}
/**
* 生成订单编号生成规则时间戳+随机数
*
* @return java.lang.String
* @author PQZ
* @date 14:14 2025/4/8
**/
private String generateOrderId() {
// 获取当前时间戳以秒为单位
long timestamp = System.currentTimeMillis() / 1000;
// 生成3位随机数
Random random = new Random();
// 生成范围在100到999之间的随机数
int randomNum = random.nextInt(900) + 100;
// 组合成订单编号
return "ORD-" + timestamp + String.format("%03d", randomNum);
}
} }