提交 a4870374 作者: zhenjie

Merge branch 'develop' of ssh://git.mmcuav.cn:8222/iuav/oms into develop

 Conflicts:
	src/main/java/com/mmc/oms/dao/uav/UavOrderDao.java
......@@ -14,4 +14,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms
newTag: 62d5ba1ec80b8f48768cc6453fedc8e3fb12f95c
newTag: 6304577264ba721272bd8c24ce9f7388a0030ee8
package com.mmc.oms.controller.data;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.data.OrderReportDTO;
import com.mmc.oms.service.data.OrderReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author LW
* @date 2023/9/16 17:49
* 概要:
*/
@Api(tags = "云享飞加盟入驻及商品sku看板数据")
@RequestMapping("/product/report")
@RestController
public class OrderReportController {
@Autowired
private OrderReportService orderReportService;
@ApiOperation(value = "获取用户报表数据")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = OrderReportDTO.class)})
@GetMapping("/getOrderReportData")
public ResultBody<OrderReportDTO> getOrderReportData() {
return orderReportService.getOrderReportData();
}
}
package com.mmc.oms.dao.data;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author LW
* @date 2023/9/19 10:06
* 概要:
*/
@Mapper
public interface OrderReportDao {
}
......@@ -4,6 +4,7 @@ import com.mmc.oms.entity.uav.*;
import com.mmc.oms.model.qo.uav.UavOrderQO;
import org.apache.ibatis.annotations.Mapper;
import java.math.BigDecimal;
import java.util.List;
/**
......@@ -51,4 +52,8 @@ public interface UavOrderDao {
void closeShowUavOrder(Integer id);
void batchAddOrder(List<UavOrderDO> orders);
int getOrderCount();
BigDecimal getSaleOrderGMV();
}
package com.mmc.oms.feign;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.feign.hystrix.ImsApiHystrix;
import com.mmc.oms.model.dto.data.ReleaseReportDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
/**
* @Author LW
* @date 2023/6/15 10:46 概要:
*/
@FeignClient(url = "${ims.url}", name = "ims", fallback = ImsApiHystrix.class)
public interface ImsAppApi {
@GetMapping("/report/getReleaseReportData")
ResultBody<ReleaseReportDTO> getUserReportData();
}
package com.mmc.oms.feign.config;
import com.mmc.oms.feign.hystrix.ImsApiHystrix;
import com.mmc.oms.feign.hystrix.PmsAppApiHystrix;
import com.mmc.oms.feign.hystrix.UserAppApiHystrix;
import org.springframework.context.annotation.Bean;
......@@ -24,4 +25,8 @@ public class FeignConfiguration {
return new UserAppApiHystrix();
}
@Bean(name = "imsApiHystrix")
public ImsApiHystrix imsAppApi() {
return new ImsApiHystrix();
}
}
package com.mmc.oms.feign.hystrix;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.feign.ImsAppApi;
import com.mmc.oms.model.dto.data.ReleaseReportDTO;
import lombok.extern.slf4j.Slf4j;
/**
* @Author LW
* @date 2023/6/15 10:47 概要:
*/
@Slf4j
public class ImsApiHystrix implements ImsAppApi {
@Override
public ResultBody<ReleaseReportDTO> getUserReportData() {
log.error("熔断:ImsApiHystrix.getUserReportData");
return null;
}
}
package com.mmc.oms.model.dto.data;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/9/16 14:15
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class OrderReportDTO {
@ApiModelProperty(value = "商城售卖订单总数")
private Integer saleOrderCount;
@ApiModelProperty(value = "商品租赁订单总数")
private Integer leaseOrderCount;
@ApiModelProperty(value = "服务订单订单总数")
private Integer serviceOrderCount;
@ApiModelProperty(value = "商城售卖交易总额")
private BigDecimal saleGMV;
@ApiModelProperty(value = "商品租赁交易总额")
private BigDecimal leaseGMV;
@ApiModelProperty(value = "服务订单交易总额")
private BigDecimal serviceGMV;
@ApiModelProperty(value = "交易总额")
private BigDecimal totalGMV;
}
package com.mmc.oms.model.dto.data;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/9/16 14:15
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ReleaseReportDTO {
@ApiModelProperty(value = "信息发布总数")
private Integer releaseCount;
@ApiModelProperty(value = "订单发布数量")
private Integer orderReleaseCount;
@ApiModelProperty(value = "帖子发布数量")
private Integer postsReleaseCount;
@ApiModelProperty(value = "话题发布数量")
private Integer topicReleaseCount;
@ApiModelProperty(value = "订单金额")
private BigDecimal serviceOrderAmount;
}
package com.mmc.oms.service.data;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.data.OrderReportDTO;
/**
* @Author LW
* @date 2023/9/19 10:05
* 概要:
*/
public interface OrderReportService {
ResultBody<OrderReportDTO> getOrderReportData();
}
package com.mmc.oms.service.data.impl;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.dao.uav.UavOrderDao;
import com.mmc.oms.feign.ImsAppApi;
import com.mmc.oms.model.dto.data.OrderReportDTO;
import com.mmc.oms.model.dto.data.ReleaseReportDTO;
import com.mmc.oms.service.data.OrderReportService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/9/19 10:05
* 概要:
*/
@Service
public class OrderReportServiceImpl implements OrderReportService {
@Resource
private UavOrderDao uavOrderDao;
@Resource
private ImsAppApi imsAppApi;
@Override
public ResultBody<OrderReportDTO> getOrderReportData() {
OrderReportDTO orderReportDTO = new OrderReportDTO();
// 获取商城订单数量
int saleOrderCount = uavOrderDao.getOrderCount();
orderReportDTO.setSaleOrderCount(saleOrderCount);
// 获取租赁订单数量// todo 暂时默认0
int leaseOrderCount = 0;
orderReportDTO.setLeaseOrderCount(leaseOrderCount);
// 获取服务订单总数
ResultBody<ReleaseReportDTO> userReportData = imsAppApi.getUserReportData();
int serviceOrderCount = userReportData.getResult().getOrderReleaseCount();
orderReportDTO.setServiceOrderCount(serviceOrderCount);
// 获取商城订单GMV
BigDecimal saleGMV = uavOrderDao.getSaleOrderGMV();
orderReportDTO.setSaleGMV(saleGMV);
// 获取租赁订单GMV // todo 暂时默认0
BigDecimal leaseGMV = BigDecimal.ZERO;
orderReportDTO.setLeaseGMV(leaseGMV);
BigDecimal serviceGMV = userReportData.getResult().getServiceOrderAmount();
orderReportDTO.setServiceGMV(serviceGMV);
// 获取总GMV
orderReportDTO.setTotalGMV(saleGMV.add(leaseGMV).add(serviceGMV));
return ResultBody.success(orderReportDTO);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.oms.dao.data.OrderReportDao">
</mapper>
\ No newline at end of file
......@@ -4,28 +4,28 @@
<resultMap type="com.mmc.oms.entity.uav.UavOrderDO"
id="uavOrderResultMap">
<id property="id" column="id" />
<result property="orderNo" column="order_no" />
<result property="statusCode" column="status_code" />
<result property="userAccountId" column="user_account_id" />
<result property="thirdBackUserAccountId" column="third_back_user_account_id" />
<result property="companyName" column="company_name" />
<result property="orderTotalAmount" column="order_total_amount" />
<result property="salaryAmount" column="salary_amount" />
<result property="shareAmount" column="share_amount" />
<result property="otherAmount" column="other_amount" />
<result property="payType" column="pay_type" />
<result property="orderType" column="order_type" />
<result property="deliveryTime" column="delivery_time" />
<result property="userAddressId" column="user_address_id" />
<result property="userRemark" column="user_remark" />
<result property="sellerRemark" column="seller_remark" />
<result property="createTime" column="create_time" />
<result property="payTime" column="pay_time" />
<result property="confirmReceiptTime" column="confirm_receipt_time" />
<result property="version" column="version" />
<result property="remarkStatus" column="remark_status" />
<result property="updateTime" column="update_time" />
<id property="id" column="id"/>
<result property="orderNo" column="order_no"/>
<result property="statusCode" column="status_code"/>
<result property="userAccountId" column="user_account_id"/>
<result property="thirdBackUserAccountId" column="third_back_user_account_id"/>
<result property="companyName" column="company_name"/>
<result property="orderTotalAmount" column="order_total_amount"/>
<result property="salaryAmount" column="salary_amount"/>
<result property="shareAmount" column="share_amount"/>
<result property="otherAmount" column="other_amount"/>
<result property="payType" column="pay_type"/>
<result property="orderType" column="order_type"/>
<result property="deliveryTime" column="delivery_time"/>
<result property="userAddressId" column="user_address_id"/>
<result property="userRemark" column="user_remark"/>
<result property="sellerRemark" column="seller_remark"/>
<result property="createTime" column="create_time"/>
<result property="payTime" column="pay_time"/>
<result property="confirmReceiptTime" column="confirm_receipt_time"/>
<result property="version" column="version"/>
<result property="remarkStatus" column="remark_status"/>
<result property="updateTime" column="update_time"/>
<collection property="skuDOS" ofType="com.mmc.oms.entity.uav.UavOrderSkuDO"
select="listUavOrderSkuDO"
column="{uavOrderId=id}">
......@@ -37,48 +37,54 @@
</resultMap>
<sql id="uav_order_column">
id, order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount, salary_amount,
id
, 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, delivery_time, user_address_id, user_remark, seller_remark, create_time,
pay_time, confirm_receipt_time, version, remark_status, update_time
</sql>
<sql id="uav_order_pay_column">
id, uav_order_id, pay_type, pay_img_list, check_status, pay_remark, refuse_reason, create_time, check_time
id
, uav_order_id, pay_type, pay_img_list, check_status, pay_remark, refuse_reason, create_time, check_time
</sql>
<insert id="addOrder" parameterType="com.mmc.oms.entity.uav.UavOrderDO" useGeneratedKeys="true" keyProperty="id">
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( #{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName}, #{orderTotalAmount},
#{salaryAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId}, #{userRemark}, #{sellerRemark},
NOW()
);
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 (#{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName},
#{orderTotalAmount},
#{salaryAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId},
#{userRemark}, #{sellerRemark},
NOW());
</insert>
<insert id="addOrderSku" keyProperty="id" useGeneratedKeys="true">
insert into uav_order_sku(
uav_order_id, mall_goods_id, trade_name, price_stock_id, product_spec, order_num, unit_price, sku_image, sku_no, create_time)
uav_order_id, mall_goods_id, trade_name, price_stock_id, product_spec, order_num, unit_price, sku_image, sku_no,
create_time)
values
<foreach item="item" collection="list" separator=",">
(#{item.uavOrderId}, #{item.mallGoodsId}, #{item.tradeName}, #{item.priceStockId}, #{item.productSpec}, #{item.orderNum}, #{item.unitPrice}, #{item.skuImage}, #{item.skuNo}, NOW())
(#{item.uavOrderId}, #{item.mallGoodsId}, #{item.tradeName}, #{item.priceStockId}, #{item.productSpec},
#{item.orderNum}, #{item.unitPrice}, #{item.skuImage}, #{item.skuNo}, NOW())
</foreach>
</insert>
<insert id="addOrderPay" parameterType="com.mmc.oms.entity.uav.UavOrderPayDO" useGeneratedKeys="true" keyProperty="id">
insert into uav_order_pay(
uav_order_id,
order_no,
pay_type,
pay_amount,
pay_img_list,
check_status,
pay_remark,
refuse_reason,
create_time,
check_time
)
values(#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark}, #{refuseReason}, NOW(), #{checkTime})
<insert id="addOrderPay" parameterType="com.mmc.oms.entity.uav.UavOrderPayDO" useGeneratedKeys="true"
keyProperty="id">
insert into uav_order_pay(uav_order_id,
order_no,
pay_type,
pay_amount,
pay_img_list,
check_status,
pay_remark,
refuse_reason,
create_time,
check_time)
values (#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark},
#{refuseReason}, NOW(), #{checkTime})
</insert>
<insert id="addRemarkOrder" parameterType="com.mmc.oms.entity.uav.UavOrderRemarkDO">
......@@ -98,19 +104,26 @@
</insert>
<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 id="updateUavOrderStatus">
update uav_order set status_code = #{nextCode} where id = #{id}
update uav_order
set status_code = #{nextCode}
where id = #{id}
</update>
<update id="updateUavOrderPayInfo" parameterType="com.mmc.oms.entity.uav.UavOrderDO">
update uav_order set pay_time = #{payTime}, pay_type = #{payType} where id = #{id}
update uav_order
set pay_time = #{payTime},
pay_type = #{payType}
where id = #{id}
</update>
<update id="updateUavOrder" parameterType="com.mmc.oms.entity.uav.UavOrderDO">
update uav_order
update uav_order
<set>
<if test="orderTotalAmount != null">
order_total_amount = #{orderTotalAmount},
......@@ -154,47 +167,51 @@
</update>
<update id="updateUavOrderProportion">
update uav_order set proportion = #{proportion} where id = #{id}
update uav_order
set proportion = #{proportion}
where id = #{id}
</update>
<update id="closeShowUavOrder">
update uav_order set show_user_port = 0 where id = #{id}
update uav_order
set show_user_port = 0
where id = #{id}
</update>
<select id="detail" resultType="com.mmc.oms.entity.uav.UavOrderDO">
select <include refid="uav_order_column" /> from uav_order where id = #{id}
select
<include refid="uav_order_column"/>
from uav_order where id = #{id}
</select>
<select id="listUavOrderPay" resultType="com.mmc.oms.entity.uav.UavOrderPayDO">
select
<include refid="uav_order_pay_column"/>
<include refid="uav_order_pay_column"/>
from uav_order_pay
where uav_order_id = #{uavOrderId} and pay_type = 2
</select>
<select id="listUavOrderSkuDO" resultType="com.mmc.oms.entity.uav.UavOrderSkuDO">
select
id,
uav_order_id,
mall_goods_id,
trade_name,
price_stock_id,
product_spec,
order_num,
unit_price,
sku_image,
sku_no,
create_time
select id,
uav_order_id,
mall_goods_id,
trade_name,
price_stock_id,
product_spec,
order_num,
unit_price,
sku_image,
sku_no,
create_time
from uav_order_sku
where uav_order_id = #{uavOrderId}
</select>
<select id="statusList" resultType="com.mmc.oms.entity.uav.UavOrderStatusDO">
select
id,
status,
code,
next_code
select id,
status,
code,
next_code
from uav_order_status
</select>
......@@ -231,9 +248,10 @@
</select>
<select id="list" resultMap="uavOrderResultMap" parameterType="com.mmc.oms.model.qo.uav.UavOrderQO">
SELECT <include refid="uav_order_column" />
SELECT
<include refid="uav_order_column"/>
FROM
uav_order uo
uav_order uo
where 1 = 1
<if test="keyword != null">
and uo.order_no = #{keyword}
......@@ -267,13 +285,25 @@
</select>
<select id="detailByNo" resultType="com.mmc.oms.entity.uav.UavOrderDO">
select <include refid="uav_order_column" /> from uav_order where order_no = #{orderNo}
select
<include refid="uav_order_column"/>
from uav_order where order_no = #{orderNo}
</select>
<select id="getUavOrderPayById" resultType="com.mmc.oms.entity.uav.UavOrderPayDO">
select <include refid="uav_order_pay_column"/>
select
<include refid="uav_order_pay_column"/>
from uav_order_pay
where id = #{id} and pay_type = 2
</select>
<select id="getOrderCount" resultType="java.lang.Integer">
select count(*)
from uav_order
where status_code <![CDATA[<>]]> 900
</select>
<select id="getSaleOrderGMV" resultType="java.math.BigDecimal">
SELECT sum(order_total_amount) AS GMV
FROM uav_order
WHERE status_code <![CDATA[<>]]> 900
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论