超市订单
This commit is contained in:
@ -1,8 +1,10 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storeorder;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
|
||||
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
|
||||
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
||||
import cn.iocoder.yudao.module.system.api.cashregisterinfo.CashregisterinfoApi;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -16,6 +18,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
@ -46,6 +49,8 @@ public class StoreOrderController {
|
||||
private MemberUserService userService;
|
||||
@Resource
|
||||
private CashregisterinfoApi cashregisterinfoApi;
|
||||
@Resource
|
||||
private StoreOrderDetailService orderDetailService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建商品订单")
|
||||
@ -84,6 +89,8 @@ public class StoreOrderController {
|
||||
storeOrderDetailVO.setMobile(user.getMobile());
|
||||
String storeName = cashregisterinfoApi.getStoreName(storeOrder.getEquipmentCode());
|
||||
storeOrderDetailVO.setStoresName(storeName);
|
||||
List<AppStoreOrderDetailVo> listByOrderNo = orderDetailService.getListByOrderNo(storeOrder.getOrderId());
|
||||
storeOrderDetailVO.setDetailDOS(listByOrderNo);
|
||||
return success(storeOrderDetailVO);
|
||||
}
|
||||
|
||||
@ -108,4 +115,11 @@ public class StoreOrderController {
|
||||
BeanUtils.toBean(list, StoreOrderRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/reduction")
|
||||
@Operation(summary = "减免")
|
||||
public CommonResult<Boolean> reduction(Long orderId, BigDecimal money){
|
||||
storeOrderService.reduction(orderId,money);
|
||||
return CommonResult.success(true);
|
||||
}
|
||||
|
||||
}
|
@ -39,7 +39,7 @@ public class StoreSaleGoodsController {
|
||||
private StoreSaleGoodsService storeSaleGoodsService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建售卖商品")
|
||||
@Operation(summary = "创建售卖商品(上架)")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-sale-goods:create')")
|
||||
public CommonResult<Long> createStoreSaleGoods(@Valid @RequestBody StoreSaleGoodsSaveReqVO createReqVO) {
|
||||
return success(storeSaleGoodsService.createStoreSaleGoods(createReqVO));
|
||||
@ -54,7 +54,7 @@ public class StoreSaleGoodsController {
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除售卖商品")
|
||||
@Operation(summary = "删除售卖商品(下架)")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:store-sale-goods:delete')")
|
||||
public CommonResult<Boolean> deleteStoreSaleGoods(@RequestParam("id") Long id) {
|
||||
@ -92,4 +92,5 @@ public class StoreSaleGoodsController {
|
||||
BeanUtils.toBean(list, StoreSaleGoodsRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -7,6 +7,7 @@ public class StoreGoodsDto {
|
||||
private Integer goodsId;
|
||||
private Double customPrice;
|
||||
private Integer number;
|
||||
private String goodsName;
|
||||
|
||||
|
||||
public double getTotalPrice() {
|
||||
|
@ -59,4 +59,6 @@ public class AppStoreOrderController {
|
||||
return success(bean);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -35,6 +35,8 @@ public class StoreOrderDetailDO extends BaseDO {
|
||||
* 商品ID
|
||||
*/
|
||||
private Integer goodsId;
|
||||
|
||||
private Integer goodsName;
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
|
@ -30,7 +30,7 @@ public interface StoreOrderDetailMapper extends BaseMapperX<StoreOrderDetailDO>
|
||||
}
|
||||
|
||||
|
||||
@Select("select od.custom_price,od.number,od.weight,sg.goods_name,sg.img from member_store_order_detail od left join member_store_goods sg on od.goods_id = sg.goods_id where od.order_id = #{orderId}")
|
||||
@Select("select od.custom_price,od.number,od.weight,od.goods_name,sg.img from member_store_order_detail od left join member_store_goods sg on od.goods_id = sg.goods_id where od.order_id = #{orderId}")
|
||||
List<AppStoreOrderDetailVo> selectByOrderId(Integer orderId);
|
||||
|
||||
}
|
@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.member.controller.app.store.vo.UserInfoVo;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeorder.StoreOrderDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 商品订单 Service 接口
|
||||
@ -68,4 +69,6 @@ public interface StoreOrderService {
|
||||
void batchCacheOrder(StoreOrderUploadDto dto);
|
||||
|
||||
PageResult<StoreOrderPageVO> getStoreOrderPageNew(StoreOrderPageVO pageReqVO);
|
||||
|
||||
void reduction(Long orderId, BigDecimal money);
|
||||
}
|
@ -233,6 +233,19 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
||||
return new PageResult<>(records, pageNew.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reduction(Long orderId, BigDecimal money) {
|
||||
StoreOrderDO storeOrderDO = storeOrderMapper.selectById(orderId);
|
||||
Double totalPrice = storeOrderDO.getTotalPrice();
|
||||
BigDecimal total = BigDecimal.valueOf(totalPrice).setScale(2, RoundingMode.HALF_UP);
|
||||
Double reductionPrice = storeOrderDO.getReductionPrice();
|
||||
BigDecimal reduction = BigDecimal.valueOf(reductionPrice).setScale(2, RoundingMode.HALF_UP);
|
||||
storeOrderDO.setReductionPrice(reduction.add(money).doubleValue());
|
||||
storeOrderDO.setTotalPrice(total.subtract(money).doubleValue());
|
||||
storeOrderMapper.updateById(storeOrderDO);
|
||||
deductionService.reduction(storeOrderDO.getUserId(), money, BigDecimal.ZERO,money, BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
public void test() {
|
||||
//计算金额
|
||||
//if (total.compareTo(wxAmount) <= 0) {
|
||||
|
@ -28,6 +28,7 @@
|
||||
and mu.mobile like concat('%',#{mobile},'%')
|
||||
</if>
|
||||
</where>
|
||||
order by so.order_id DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
Reference in New Issue
Block a user