提交 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: ...@@ -14,4 +14,4 @@ patches:
images: images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG - name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms 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.*; ...@@ -4,6 +4,7 @@ import com.mmc.oms.entity.uav.*;
import com.mmc.oms.model.qo.uav.UavOrderQO; import com.mmc.oms.model.qo.uav.UavOrderQO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
...@@ -51,4 +52,8 @@ public interface UavOrderDao { ...@@ -51,4 +52,8 @@ public interface UavOrderDao {
void closeShowUavOrder(Integer id); void closeShowUavOrder(Integer id);
void batchAddOrder(List<UavOrderDO> orders); 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; 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.PmsAppApiHystrix;
import com.mmc.oms.feign.hystrix.UserAppApiHystrix; import com.mmc.oms.feign.hystrix.UserAppApiHystrix;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
...@@ -24,4 +25,8 @@ public class FeignConfiguration { ...@@ -24,4 +25,8 @@ public class FeignConfiguration {
return new UserAppApiHystrix(); 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 @@ ...@@ -4,28 +4,28 @@
<resultMap type="com.mmc.oms.entity.uav.UavOrderDO" <resultMap type="com.mmc.oms.entity.uav.UavOrderDO"
id="uavOrderResultMap"> id="uavOrderResultMap">
<id property="id" column="id" /> <id property="id" column="id"/>
<result property="orderNo" column="order_no" /> <result property="orderNo" column="order_no"/>
<result property="statusCode" column="status_code" /> <result property="statusCode" column="status_code"/>
<result property="userAccountId" column="user_account_id" /> <result property="userAccountId" column="user_account_id"/>
<result property="thirdBackUserAccountId" column="third_back_user_account_id" /> <result property="thirdBackUserAccountId" column="third_back_user_account_id"/>
<result property="companyName" column="company_name" /> <result property="companyName" column="company_name"/>
<result property="orderTotalAmount" column="order_total_amount" /> <result property="orderTotalAmount" column="order_total_amount"/>
<result property="salaryAmount" column="salary_amount" /> <result property="salaryAmount" column="salary_amount"/>
<result property="shareAmount" column="share_amount" /> <result property="shareAmount" column="share_amount"/>
<result property="otherAmount" column="other_amount" /> <result property="otherAmount" column="other_amount"/>
<result property="payType" column="pay_type" /> <result property="payType" column="pay_type"/>
<result property="orderType" column="order_type" /> <result property="orderType" column="order_type"/>
<result property="deliveryTime" column="delivery_time" /> <result property="deliveryTime" column="delivery_time"/>
<result property="userAddressId" column="user_address_id" /> <result property="userAddressId" column="user_address_id"/>
<result property="userRemark" column="user_remark" /> <result property="userRemark" column="user_remark"/>
<result property="sellerRemark" column="seller_remark" /> <result property="sellerRemark" column="seller_remark"/>
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time"/>
<result property="payTime" column="pay_time" /> <result property="payTime" column="pay_time"/>
<result property="confirmReceiptTime" column="confirm_receipt_time" /> <result property="confirmReceiptTime" column="confirm_receipt_time"/>
<result property="version" column="version" /> <result property="version" column="version"/>
<result property="remarkStatus" column="remark_status" /> <result property="remarkStatus" column="remark_status"/>
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time"/>
<collection property="skuDOS" ofType="com.mmc.oms.entity.uav.UavOrderSkuDO" <collection property="skuDOS" ofType="com.mmc.oms.entity.uav.UavOrderSkuDO"
select="listUavOrderSkuDO" select="listUavOrderSkuDO"
column="{uavOrderId=id}"> column="{uavOrderId=id}">
...@@ -37,37 +37,43 @@ ...@@ -37,37 +37,43 @@
</resultMap> </resultMap>
<sql id="uav_order_column"> <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, 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 pay_time, confirm_receipt_time, version, remark_status, update_time
</sql> </sql>
<sql id="uav_order_pay_column"> <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> </sql>
<insert id="addOrder" parameterType="com.mmc.oms.entity.uav.UavOrderDO" useGeneratedKeys="true" keyProperty="id"> <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, insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name,
salary_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time order_total_amount,
) salary_amount, share_amount, other_amount, pay_type, order_type, user_address_id,
values( #{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName}, #{orderTotalAmount}, user_remark, seller_remark, create_time)
#{salaryAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId}, #{userRemark}, #{sellerRemark}, values (#{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName},
NOW() #{orderTotalAmount},
); #{salaryAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId},
#{userRemark}, #{sellerRemark},
NOW());
</insert> </insert>
<insert id="addOrderSku" keyProperty="id" useGeneratedKeys="true"> <insert id="addOrderSku" keyProperty="id" useGeneratedKeys="true">
insert into uav_order_sku( 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 values
<foreach item="item" collection="list" separator=","> <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> </foreach>
</insert> </insert>
<insert id="addOrderPay" parameterType="com.mmc.oms.entity.uav.UavOrderPayDO" useGeneratedKeys="true" keyProperty="id"> <insert id="addOrderPay" parameterType="com.mmc.oms.entity.uav.UavOrderPayDO" useGeneratedKeys="true"
insert into uav_order_pay( keyProperty="id">
uav_order_id, insert into uav_order_pay(uav_order_id,
order_no, order_no,
pay_type, pay_type,
pay_amount, pay_amount,
...@@ -76,9 +82,9 @@ ...@@ -76,9 +82,9 @@
pay_remark, pay_remark,
refuse_reason, refuse_reason,
create_time, create_time,
check_time check_time)
) values (#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark},
values(#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark}, #{refuseReason}, NOW(), #{checkTime}) #{refuseReason}, NOW(), #{checkTime})
</insert> </insert>
<insert id="addRemarkOrder" parameterType="com.mmc.oms.entity.uav.UavOrderRemarkDO"> <insert id="addRemarkOrder" parameterType="com.mmc.oms.entity.uav.UavOrderRemarkDO">
...@@ -98,15 +104,22 @@ ...@@ -98,15 +104,22 @@
</insert> </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>
<update id="updateUavOrderStatus"> <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>
<update id="updateUavOrderPayInfo" parameterType="com.mmc.oms.entity.uav.UavOrderDO"> <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>
<update id="updateUavOrder" parameterType="com.mmc.oms.entity.uav.UavOrderDO"> <update id="updateUavOrder" parameterType="com.mmc.oms.entity.uav.UavOrderDO">
...@@ -154,15 +167,21 @@ ...@@ -154,15 +167,21 @@
</update> </update>
<update id="updateUavOrderProportion"> <update id="updateUavOrderProportion">
update uav_order set proportion = #{proportion} where id = #{id} update uav_order
set proportion = #{proportion}
where id = #{id}
</update> </update>
<update id="closeShowUavOrder"> <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> </update>
<select id="detail" resultType="com.mmc.oms.entity.uav.UavOrderDO"> <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>
<select id="listUavOrderPay" resultType="com.mmc.oms.entity.uav.UavOrderPayDO"> <select id="listUavOrderPay" resultType="com.mmc.oms.entity.uav.UavOrderPayDO">
...@@ -173,8 +192,7 @@ ...@@ -173,8 +192,7 @@
</select> </select>
<select id="listUavOrderSkuDO" resultType="com.mmc.oms.entity.uav.UavOrderSkuDO"> <select id="listUavOrderSkuDO" resultType="com.mmc.oms.entity.uav.UavOrderSkuDO">
select select id,
id,
uav_order_id, uav_order_id,
mall_goods_id, mall_goods_id,
trade_name, trade_name,
...@@ -190,8 +208,7 @@ ...@@ -190,8 +208,7 @@
</select> </select>
<select id="statusList" resultType="com.mmc.oms.entity.uav.UavOrderStatusDO"> <select id="statusList" resultType="com.mmc.oms.entity.uav.UavOrderStatusDO">
select select id,
id,
status, status,
code, code,
next_code next_code
...@@ -231,7 +248,8 @@ ...@@ -231,7 +248,8 @@
</select> </select>
<select id="list" resultMap="uavOrderResultMap" parameterType="com.mmc.oms.model.qo.uav.UavOrderQO"> <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 FROM
uav_order uo uav_order uo
where 1 = 1 where 1 = 1
...@@ -267,13 +285,25 @@ ...@@ -267,13 +285,25 @@
</select> </select>
<select id="detailByNo" resultType="com.mmc.oms.entity.uav.UavOrderDO"> <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>
<select id="getUavOrderPayById" resultType="com.mmc.oms.entity.uav.UavOrderPayDO"> <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 from uav_order_pay
where id = #{id} and pay_type = 2 where id = #{id} and pay_type = 2
</select> </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> </mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论