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
* @date 15:24 2025/3/25
**/
@PreAuthorize("@ss.hasPermi('member:order:list')")
@GetMapping("/list")
public AjaxResult list(MemberOrderVO memberOrder,
@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)
@PostMapping("/export")
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}")
public AjaxResult getInfo(@PathVariable("id") String 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)
@PostMapping
@PostMapping("/uniSaveOrder")
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)
@PutMapping
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)
@DeleteMapping("/{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
**/
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.service.impl.ServiceImpl;
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.member.domain.MemberOrder;
import com.ruoyi.member.mapper.MemberOrderMapper;
@ -19,16 +21,16 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.Random;
/**
* 订单Service业务层处理
*
*
* @author pqz
* @date 2025-03-17
*/
@Service
public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper,MemberOrder> implements IMemberOrderService
{
public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper, MemberOrder> implements IMemberOrderService {
@Autowired
private MemberOrderMapper memberOrderMapper;
@Resource
@ -48,7 +50,7 @@ public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper,Member
**/
@Override
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) {
/*1、校验数据完整性*/
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);
/*2、处理不同类型订单*/
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 {
couponService.dealMemberCoupon(memberOrder);
}
@ -79,4 +81,40 @@ public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper,Member
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);
}
}