提交 73798259 作者: zhenjie

购物车相关接口

上级 bf111e73
package com.mmc.oms.dao; package com.mmc.oms.dao;
import com.mmc.oms.entity.mall.UserAddressDO; import com.mmc.oms.entity.mall.UserAddressDO;
import com.mmc.oms.entity.uav.UavOrderExpressDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
...@@ -20,4 +21,6 @@ public interface UserAddressDao { ...@@ -20,4 +21,6 @@ public interface UserAddressDao {
UserAddressDO selectById(Integer userAddressId); UserAddressDO selectById(Integer userAddressId);
List<UserAddressDO> selectList(UserAddressDO userAddressDO); List<UserAddressDO> selectList(UserAddressDO userAddressDO);
void batchAddOrderExpress(List<UavOrderExpressDO> expressDOS);
} }
...@@ -49,4 +49,6 @@ public interface UavOrderDao { ...@@ -49,4 +49,6 @@ public interface UavOrderDao {
void updateUavOrderProportion(Integer id, Integer proportion); void updateUavOrderProportion(Integer id, Integer proportion);
void closeShowUavOrder(Integer id); void closeShowUavOrder(Integer id);
void batchAddOrder(List<UavOrderDO> orders);
} }
...@@ -22,8 +22,16 @@ public class UavCartCompanyDTO implements Serializable { ...@@ -22,8 +22,16 @@ public class UavCartCompanyDTO implements Serializable {
private static final long serialVersionUID = -6785504068213761405L; private static final long serialVersionUID = -6785504068213761405L;
@ApiModelProperty(value = "商家id") @ApiModelProperty(value = "商家id")
private Integer thirdBackUserAccountId; private Integer thirdBackUserAccountId;
@ApiModelProperty(value = "商家名称") @ApiModelProperty(value = "商家名称")
private String companyName; private String companyName;
@ApiModelProperty("是否抵扣云享金,0否,1是")
private Integer deductShareAmount;
@ApiModelProperty("是否抵扣余额,0否,1是")
private Integer deductSalaryAmount;
@ApiModelProperty(value = "购物车对应规格") @ApiModelProperty(value = "购物车对应规格")
private List<UavCartDTO> uavCartDOS; private List<UavCartDTO> uavCartDOS;
} }
...@@ -48,6 +48,8 @@ public class UavCartDTO implements Serializable { ...@@ -48,6 +48,8 @@ public class UavCartDTO implements Serializable {
private Date createTime; private Date createTime;
@ApiModelProperty(value = "是否展示价格,0 不显示 1显示") @ApiModelProperty(value = "是否展示价格,0 不显示 1显示")
private Integer priceShow; private Integer priceShow;
@ApiModelProperty(value = "是否删除")
private Integer deleted;
@ApiModelProperty(value = "是否上架状态:0: 下架 1:上架") @ApiModelProperty(value = "是否上架状态:0: 下架 1:上架")
private Integer shelfStatus; private Integer shelfStatus;
} }
...@@ -27,12 +27,6 @@ public class AddUavOrderByCartQO implements Serializable { ...@@ -27,12 +27,6 @@ public class AddUavOrderByCartQO implements Serializable {
@ApiModelProperty("用户备注") @ApiModelProperty("用户备注")
private String userRemark; private String userRemark;
@ApiModelProperty("是否抵扣云享金,0否,1是")
private Integer deductShareAmount;
@ApiModelProperty("是否抵扣余额,0否,1是")
private Integer deductSalaryAmount;
@ApiModelProperty("每家商户对应的规格") @ApiModelProperty("每家商户对应的规格")
private List<UavCartCompanyDTO> cartCompanyDTOS; private List<UavCartCompanyDTO> cartCompanyDTOS;
} }
package com.mmc.oms.service.uav.impl; package com.mmc.oms.service.uav.impl;
import com.alibaba.fastjson2.JSONObject;
import com.mmc.oms.common.ResultEnum; import com.mmc.oms.common.ResultEnum;
import com.mmc.oms.common.result.PageResult; import com.mmc.oms.common.result.PageResult;
import com.mmc.oms.common.result.ResultBody; import com.mmc.oms.common.result.ResultBody;
...@@ -15,6 +16,7 @@ import com.mmc.oms.model.qo.uav.PriceStockQO; ...@@ -15,6 +16,7 @@ import com.mmc.oms.model.qo.uav.PriceStockQO;
import com.mmc.oms.model.qo.uav.UavCartQO; import com.mmc.oms.model.qo.uav.UavCartQO;
import com.mmc.oms.model.vo.uav.UavCartVO; import com.mmc.oms.model.vo.uav.UavCartVO;
import com.mmc.oms.service.uav.UavCartService; import com.mmc.oms.service.uav.UavCartService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -28,6 +30,7 @@ import java.util.stream.Collectors; ...@@ -28,6 +30,7 @@ import java.util.stream.Collectors;
* @Date: 2023/9/16 14:40 * @Date: 2023/9/16 14:40
*/ */
@Service @Service
@Slf4j
public class UavCartServiceImpl implements UavCartService { public class UavCartServiceImpl implements UavCartService {
@Autowired @Autowired
private UavCartDao uavCartDao; private UavCartDao uavCartDao;
...@@ -71,14 +74,15 @@ public class UavCartServiceImpl implements UavCartService { ...@@ -71,14 +74,15 @@ public class UavCartServiceImpl implements UavCartService {
if (list.size() == 0) { if (list.size() == 0) {
return ResultBody.success(PageResult.buildPage(uavCartQO.getPageNo(), uavCartQO.getPageSize(), list.size())); return ResultBody.success(PageResult.buildPage(uavCartQO.getPageNo(), uavCartQO.getPageSize(), list.size()));
} }
Integer pageNo = uavCartQO.getPageNo(); Integer pageNo = uavCartQO.getPageSize();
uavCartQO.buildCurrentPage(); uavCartQO.buildCurrentPage();
List<UavCartCompanyDO> uavCartCompanyDOS = uavCartDao.list(pageNo, uavCartQO.getPageSize(), currentAccount.getUserAccountId()); List<UavCartCompanyDO> uavCartCompanyDOS = uavCartDao.list(uavCartQO.getPageNo(), uavCartQO.getPageSize(), currentAccount.getUserAccountId());
List<UavCartCompanyDTO> uavCartCompanyDTOS = uavCartCompanyDOS.stream().map(UavCartCompanyDO::buildUavCartCompanyDTO).collect(Collectors.toList()); List<UavCartCompanyDTO> uavCartCompanyDTOS = uavCartCompanyDOS.stream().map(UavCartCompanyDO::buildUavCartCompanyDTO).collect(Collectors.toList());
// 同步商品信息,价格及是否展示 // 同步商品信息,价格及是否展示
// 根据规格查询商品信息 // 根据规格查询商品信息
buildUavCartCompany(uavCartQO.getOrderType(), uavCartCompanyDTOS); buildUavCartCompany(uavCartQO.getOrderType(), uavCartCompanyDTOS);
return ResultBody.success(PageResult.buildPage(pageNo, uavCartQO.getPageSize(), list.size(), uavCartCompanyDTOS)); List<UavCartCompanyDTO> collect = uavCartCompanyDTOS.stream().filter(i -> CollectionUtils.isNotEmpty(i.getUavCartDOS())).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, uavCartQO.getPageSize(), list.size(), collect));
} }
@Override @Override
...@@ -99,28 +103,31 @@ public class UavCartServiceImpl implements UavCartService { ...@@ -99,28 +103,31 @@ public class UavCartServiceImpl implements UavCartService {
for (UavCartCompanyDTO uavCartCompanyDTO : uavCartCompanyDTOS) { for (UavCartCompanyDTO uavCartCompanyDTO : uavCartCompanyDTOS) {
uavCartCompanyDTO.setCompanyName(uavCartCompanyDTO.getUavCartDOS().get(0).getCompanyName()); uavCartCompanyDTO.setCompanyName(uavCartCompanyDTO.getUavCartDOS().get(0).getCompanyName());
for (UavCartDTO uavCartDTO : uavCartCompanyDTO.getUavCartDOS()) { for (UavCartDTO uavCartDTO : uavCartCompanyDTO.getUavCartDOS()) {
// 从最新规格中逐个更新 // 标识是否找到
Boolean flag = false;
// 从最新规格中逐个更新,没有则置为失效
for (UavCartDTO newestUavCartDTO : uavCartDTOS) { for (UavCartDTO newestUavCartDTO : uavCartDTOS) {
if (uavCartDTO.getMallGoodsId().equals(newestUavCartDTO.getMallGoodsId()) if (uavCartDTO.getMallGoodsId().equals(newestUavCartDTO.getMallGoodsId())
&& uavCartDTO.getProductSpec().equals(newestUavCartDTO.getProductSpec())) { && uavCartDTO.getProductSpec().equals(newestUavCartDTO.getProductSpec())) {
// 不符合的移除 flag = true;
if (UavOrderType.PAY.getCode().equals(orderType)) {
if (newestUavCartDTO.getPriceShow().equals(0)) {
uavCartCompanyDTO.getUavCartDOS().remove(uavCartDTO);
}
}else {
if (newestUavCartDTO.getPriceShow().equals(1)) {
uavCartCompanyDTO.getUavCartDOS().remove(uavCartDTO);
}
}
uavCartDTO.setPriceShow(newestUavCartDTO.getPriceShow()); uavCartDTO.setPriceShow(newestUavCartDTO.getPriceShow());
uavCartDTO.setSalePrice(newestUavCartDTO.getSalePrice()); uavCartDTO.setSalePrice(newestUavCartDTO.getSalePrice());
uavCartDTO.setShelfStatus(newestUavCartDTO.getShelfStatus());
uavCartDTO.setDeleted(newestUavCartDTO.getDeleted());
break; break;
} }
} }
// 找不到或被删除则置为失效
if (!flag || uavCartDTO.getDeleted().equals(1)) {
uavCartDTO.setShelfStatus(0);
}
} }
if (CollectionUtils.isEmpty(uavCartCompanyDTO.getUavCartDOS())) { for (UavCartCompanyDTO cartCompanyDTO : uavCartCompanyDTOS) {
uavCartCompanyDTOS.remove(uavCartCompanyDTO); if (UavOrderType.PAY.getCode().equals(orderType)) {
cartCompanyDTO.setUavCartDOS(cartCompanyDTO.getUavCartDOS().stream().filter( item -> item.getPriceShow().equals(1)).collect(Collectors.toList()));
}else {
cartCompanyDTO.setUavCartDOS(cartCompanyDTO.getUavCartDOS().stream().filter( item -> item.getPriceShow().equals(0)).collect(Collectors.toList()));
}
} }
} }
} }
......
...@@ -163,17 +163,8 @@ public class UavOrderServiceImpl implements UavOrderService { ...@@ -163,17 +163,8 @@ public class UavOrderServiceImpl implements UavOrderService {
statusCode = UavOrderStatus.WAITING_DELIVER_GOODS.getCode(); statusCode = UavOrderStatus.WAITING_DELIVER_GOODS.getCode();
} }
} }
PayUavWalletVO payUavWalletVO = new PayUavWalletVO(); // 抵扣余额
payUavWalletVO.setCashAmount(shareAmount); this.deductWallet(shareAmount, salaryAmount, currentAccount);
payUavWalletVO.setSalaryAmount(salaryAmount);
payUavWalletVO.setOrderStatus(100);
payUavWalletVO.setUserAccountId(currentAccount.getUserAccountId());
if (shareAmount.compareTo(BigDecimal.ZERO) > 0 || salaryAmount.compareTo(BigDecimal.ZERO) > 0) {
ResultBody resultBody = userAppApi.feignPayUavWallet(payUavWalletVO, currentAccount.getToken());
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())){
return resultBody;
}
}
} }
// 添加总订单表 // 添加总订单表
UavOrderDO uavOrderDO = new UavOrderDO(); UavOrderDO uavOrderDO = new UavOrderDO();
...@@ -664,29 +655,86 @@ public class UavOrderServiceImpl implements UavOrderService { ...@@ -664,29 +655,86 @@ public class UavOrderServiceImpl implements UavOrderService {
@Override @Override
public ResultBody addOrderByCart(AddUavOrderByCartQO orderByCartQO, BaseAccountDTO currentAccount) { public ResultBody addOrderByCart(AddUavOrderByCartQO orderByCartQO, BaseAccountDTO currentAccount) {
uavCartService.buildUavCartCompany(orderByCartQO.getOrderType(), orderByCartQO.getCartCompanyDTOS()); uavCartService.buildUavCartCompany(orderByCartQO.getOrderType(), orderByCartQO.getCartCompanyDTOS());
// 可以多商家多商品,为每个商家生成一个订单
List<UavOrderDO> orders = new ArrayList<UavOrderDO>();
BigDecimal allAmount = BigDecimal.ZERO;
// 意向订单只能下一个商家的 // 意向订单只能下一个商家的
if (orderByCartQO.getOrderType().equals(UavOrderType.SIGN.getCode()) && orderByCartQO.getCartCompanyDTOS().size() > 1) { if (orderByCartQO.getOrderType().equals(UavOrderType.SIGN.getCode()) && orderByCartQO.getCartCompanyDTOS().size() > 1) {
return ResultBody.error("意向订单仅限下单个商家的商品"); return ResultBody.error("意向订单仅限下单个商家的商品");
} }
// 正常订单可以抵扣云享金和余额、意向订单不能扣
if (orderByCartQO.getOrderType().equals(UavOrderType.PAY.getCode())){
}else {
}
// 购物车id
List<Integer> cartIds = new ArrayList<>();
// 云享金、余额扣除相关
ResultBody<PayWalletDTO> payResInfo = userAppApi.getCurrentUserPayWalletInfo(currentAccount.getToken());
if (!payResInfo.getCode().equals(ResultEnum.SUCCESS.getResultCode()) || payResInfo.getResult() == null){
return payResInfo;
}
PayWalletDTO payWalletDTO = payResInfo.getResult();
// 可以多商家多商品,为每个商家生成一个订单
List<UavOrderDO> orders = new ArrayList<UavOrderDO>();
BigDecimal allOtherAmount = BigDecimal.ZERO;
BigDecimal allShareAmount = BigDecimal.ZERO;
BigDecimal allSalaryAmount = BigDecimal.ZERO;
// 生成订单信息 // 生成订单信息
for (UavCartCompanyDTO companyDTO : orderByCartQO.getCartCompanyDTOS()) { for (UavCartCompanyDTO companyDTO : orderByCartQO.getCartCompanyDTOS()) {
BigDecimal singleOrderAmount = BigDecimal.ZERO; BigDecimal orderAmount = BigDecimal.ZERO;
UavOrderDO uavOrderDO = new UavOrderDO(); UavOrderDO uavOrderDO = new UavOrderDO();
// 校验云享金、钱包余额是否足够抵扣
BigDecimal shareAmount = BigDecimal.ZERO;
BigDecimal salaryAmount = BigDecimal.ZERO;
BigDecimal otherAmount = BigDecimal.ZERO;
Integer statusCode = null;
List<UavOrderSkuDO> skuDOS = new ArrayList<UavOrderSkuDO>(); List<UavOrderSkuDO> skuDOS = new ArrayList<UavOrderSkuDO>();
String orderNo = CodeUtil.uavOrderCode(); String orderNo = CodeUtil.uavOrderCode();
if (CollectionUtils.isNotEmpty(companyDTO.getUavCartDOS())) { if (CollectionUtils.isNotEmpty(companyDTO.getUavCartDOS())) {
for (UavCartDTO uavCartDTO : companyDTO.getUavCartDOS()) { for (UavCartDTO uavCartDTO : companyDTO.getUavCartDOS()) {
// 记录购物车id
cartIds.add(uavCartDTO.getId());
// 购物车记录转换成对应规格
UavOrderSkuDO uavOrderSkuDO = new UavOrderSkuDO(uavCartDTO); UavOrderSkuDO uavOrderSkuDO = new UavOrderSkuDO(uavCartDTO);
skuDOS.add(uavOrderSkuDO); skuDOS.add(uavOrderSkuDO);
singleOrderAmount = singleOrderAmount.add(uavCartDTO.getSalePrice().multiply(BigDecimal.valueOf(uavCartDTO.getOrderNum()))); orderAmount = orderAmount.add(uavCartDTO.getSalePrice().multiply(BigDecimal.valueOf(uavCartDTO.getOrderNum())));
} }
} }
otherAmount = otherAmount.add(orderAmount);
// 抵扣云享金
if (companyDTO.getDeductShareAmount().equals(1) && payWalletDTO.getCashAmt().compareTo(BigDecimal.ZERO) > 0) {
if (payWalletDTO.getCashAmt().compareTo(otherAmount) > 0) {
shareAmount = shareAmount.add(otherAmount);
}else {
shareAmount = shareAmount.add(payWalletDTO.getCashAmt());
}
otherAmount = otherAmount.subtract(shareAmount);
allShareAmount = allShareAmount.add(shareAmount);
payWalletDTO.setCashAmt(payWalletDTO.getCashAmt().subtract(shareAmount));
}
// 抵扣余额
if (companyDTO.getDeductSalaryAmount().equals(1) && payWalletDTO.getSalaryAmt().compareTo(BigDecimal.ZERO) > 0
&& otherAmount.compareTo(BigDecimal.ZERO) > 0) {
if (otherAmount.compareTo(payWalletDTO.getSalaryAmt()) > 0) {
salaryAmount = salaryAmount.add(payWalletDTO.getSalaryAmt());
}else {
salaryAmount = salaryAmount.add(otherAmount);
}
otherAmount = otherAmount.subtract(salaryAmount);
allSalaryAmount = allSalaryAmount.add(salaryAmount);
payWalletDTO.setSalaryAmt(payWalletDTO.getSalaryAmt().subtract(salaryAmount));
}
if (otherAmount.compareTo(BigDecimal.ZERO) == 0) {
statusCode = UavOrderStatus.WAITING_DELIVER_GOODS.getCode();
}else {
statusCode = UavOrderStatus.PAYING.getCode();
}
// 设置订单状态 // 设置订单状态
// uavOrderDO.setStatusCode(); uavOrderDO.setStatusCode(statusCode);
uavOrderDO.setOrderTotalAmount(singleOrderAmount); uavOrderDO.setOrderTotalAmount(orderAmount);
uavOrderDO.setOtherAmount(otherAmount);
uavOrderDO.setSalaryAmount(salaryAmount);
uavOrderDO.setShareAmount(shareAmount);
uavOrderDO.setUserAccountId(currentAccount.getUserAccountId()); uavOrderDO.setUserAccountId(currentAccount.getUserAccountId());
uavOrderDO.setUserAddressId(orderByCartQO.getUserAddressId()); uavOrderDO.setUserAddressId(orderByCartQO.getUserAddressId());
uavOrderDO.setThirdBackUserAccountId(companyDTO.getThirdBackUserAccountId()); uavOrderDO.setThirdBackUserAccountId(companyDTO.getThirdBackUserAccountId());
...@@ -696,15 +744,49 @@ public class UavOrderServiceImpl implements UavOrderService { ...@@ -696,15 +744,49 @@ public class UavOrderServiceImpl implements UavOrderService {
uavOrderDO.setOrderNo(orderNo); uavOrderDO.setOrderNo(orderNo);
uavOrderDO.setSkuDOS(skuDOS); uavOrderDO.setSkuDOS(skuDOS);
orders.add(uavOrderDO); orders.add(uavOrderDO);
allAmount = allAmount.add(singleOrderAmount); allOtherAmount = allOtherAmount.add(otherAmount);
}
// 抵扣余额
this.deductWallet(allShareAmount, allSalaryAmount, currentAccount);
// 添加订单信息
uavOrderDao.batchAddOrder(orders);
// 全部规格信息
List<UavOrderSkuDO> allSkuDOS = new ArrayList<UavOrderSkuDO>();
for (UavOrderDO order : orders) {
for (UavOrderSkuDO skuDO : order.getSkuDOS()) {
skuDO.setUavOrderId(order.getId());
allSkuDOS.add(skuDO);
}
} }
// 云享金、余额扣除相关 // 批量添加规格
ResultBody<PayWalletDTO> payResInfo = userAppApi.getCurrentUserPayWalletInfo(currentAccount.getToken()); uavOrderDao.addOrderSku(allSkuDOS);
if (!payResInfo.getCode().equals(ResultEnum.SUCCESS.getResultCode()) || payResInfo.getResult() == null){ // 多个添加收货地址
return payResInfo; List<UavOrderExpressDO> expressDOS = new ArrayList<UavOrderExpressDO>();
UserAddressDO userAddressDO = userAddressDao.selectById(orderByCartQO.getUserAddressId());
for (UavOrderDO order : orders) {
UavOrderExpressDO uavOrderExpressDO = new UavOrderExpressDO(userAddressDO);
uavOrderExpressDO.setUavOrderId(order.getId());
expressDOS.add(uavOrderExpressDO);
}
// 批量添加收货地址
userAddressDao.batchAddOrderExpress(expressDOS);
// 批量标识购物车
uavCartService.batchRemove(cartIds);
return ResultBody.success();
}
public ResultBody deductWallet(BigDecimal allShareAmount, BigDecimal allSalaryAmount, BaseAccountDTO currentAccount){
PayUavWalletVO payUavWalletVO = new PayUavWalletVO();
payUavWalletVO.setCashAmount(allShareAmount);
payUavWalletVO.setSalaryAmount(allSalaryAmount);
payUavWalletVO.setOrderStatus(100);
payUavWalletVO.setUserAccountId(currentAccount.getUserAccountId());
if (allShareAmount.compareTo(BigDecimal.ZERO) > 0 || allSalaryAmount.compareTo(BigDecimal.ZERO) > 0) {
ResultBody resultBody = userAppApi.feignPayUavWallet(payUavWalletVO, currentAccount.getToken());
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())){
throw new RuntimeException("余额抵扣失败!");
}
} }
PayWalletDTO payWalletDTO = payResInfo.getResult();
return ResultBody.success(); return ResultBody.success();
} }
} }
...@@ -26,6 +26,14 @@ ...@@ -26,6 +26,14 @@
values (#{userAccountId}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress},#{type},#{flag},#{districtCode}) values (#{userAccountId}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress},#{type},#{flag},#{districtCode})
</insert> </insert>
<insert id="batchAddOrderExpress">
insert into user_address(user_account_id, take_name, take_phone, take_region, take_address,`type`,flag,district_code)
values
<foreach item="item" collection="list" separator=",">
(#{item.userAccountId}, #{item.takeName}, #{item.takePhone}, #{item.takeRegion}, #{item.takeAddress},#{item.type},#{item.flag},#{item.districtCode})
</foreach>
</insert>
<!-- 通过主键修改数据 --> <!-- 通过主键修改数据 -->
<update id="update" parameterType="com.mmc.oms.entity.mall.UserAddressDO"> <update id="update" parameterType="com.mmc.oms.entity.mall.UserAddressDO">
update user_address update user_address
......
...@@ -86,6 +86,17 @@ ...@@ -86,6 +86,17 @@
values (#{mallGoodsId}, #{uavOrderId}, #{remarkLevel}, #{uavImages}, #{content}, NOW()) values (#{mallGoodsId}, #{uavOrderId}, #{remarkLevel}, #{uavImages}, #{content}, NOW())
</insert> </insert>
<insert id="batchAddOrder" keyProperty="id" useGeneratedKeys="true">
insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
salary_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time
)
values
<foreach item="item" collection="list" separator=",">
(#{item.orderNo}, #{item.statusCode}, #{item.userAccountId}, #{item.thirdBackUserAccountId}, #{item.companyName}, #{item.orderTotalAmount},
#{item.salaryAmount}, #{item.shareAmount}, #{item.otherAmount}, #{item.payType}, #{item.orderType}, #{item.userAddressId}, #{item.userRemark}, #{item.sellerRemark}, NOW())
</foreach>
</insert>
<update id="sellerRemark"> <update id="sellerRemark">
update uav_order set seller_remark = #{content} where id = #{id} update uav_order set seller_remark = #{content} where id = #{id}
</update> </update>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论