提成优化,需要加上更换订单提成详情

This commit is contained in:
xiezhijun 2021-05-28 00:46:21 +08:00
parent e333cb007e
commit 0122c35553
3 changed files with 37 additions and 31 deletions

View File

@ -437,8 +437,8 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
*/
public Map<Long, List<SysOrderCommisionDayDetail>> getOrderByList(SysCommision sysCommision, Boolean cutOrderFlag){
//查询2021年1月份之后所有订单
System.out.println(sysCommision.getReplaceOrderFlag() == null);
List<SysOrder> orderList = sysOrderMapper.selectSimpleOrderMessage(sysCommision);
//查询所有订单营养师售后转移记录
Map<Long, List<SysOrderNutritionistReplaceRecord>> replaceRecordMap = dealNutritionistReplaceRecord(sysOrderNutritionistReplaceRecordService.getSysOrderReplaceRecordByOrderId(null));
/*if(cutOrderFlag){
//查询所有订单营养师售后转移记录
@ -459,31 +459,27 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
//System.out.println("客户:"+ sysOrder.getCustomer() +",营养师:"+sysOrder.getNutritionist() + ",售后" + sysOrder.getAfterSale());
continue;
}
List<SysOrderCommisionDayDetail> orderCommisionDayDetailList = null;
List<SysOrderCommisionDayDetail> orderCommisionDayDetailList = new ArrayList<>();
//将服务结束时间设置为空因为提成的结束时间需要重新计算
sysOrder.setServerEndTime(null);
//判断是否存在营养师售后更换记录
if(cutOrderFlag && replaceRecordMap.containsKey(sysOrder.getOrderId()) && replaceRecordMap.get(sysOrder.getOrderId()).size() > 0){
if(replaceRecordMap.containsKey(sysOrder.getOrderId()) && replaceRecordMap.get(sysOrder.getOrderId()).size() > 0){
//将订单根据更换记录切割成多个订单
SysOrderCommisionDayDetail sysOrderCommisionDayDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime());
orderCommisionDayDetailList = cutOrderByReplaceRecord(sysOrder, sysCommision, sysOrderCommisionDayDetail, replaceRecordMap.get(sysOrder.getOrderId()));
}else{
SysOrderCommisionDayDetail commisionDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime());
if(sysCommision.getReplaceOrderFlag() != null && sysCommision.getReplaceOrderFlag() && sysCommision.getUserId() != null &&
replaceRecordMap.containsKey(sysOrder.getOrderId())){
//判断该订单是否属于营养师售后替换订单
List<SysOrderCommisionDayDetail> userorderCommisionList = cutOrderByReplaceRecord(sysOrder, sysCommision, commisionDetail, replaceRecordMap.get(sysOrder.getOrderId()));
for (SysOrderCommisionDayDetail detail : userorderCommisionList) {
List<SysOrderCommisionDayDetail> muchCommisionDayDetailList = cutOrderByReplaceRecord(sysOrder, sysCommision, sysOrderCommisionDayDetail, replaceRecordMap.get(sysOrder.getOrderId()));
if(sysCommision.getUserId() != null){
for (SysOrderCommisionDayDetail detail : muchCommisionDayDetailList) {
if((detail.getAfterSaleId() != null && detail.getAfterSaleId().longValue() == sysCommision.getUserId()) || (detail.getNutritionistId() != null && detail.getNutritionistId().longValue() == sysCommision.getUserId())){
commisionDetail = detail;
orderCommisionDayDetailList.add(detail);
break;
}
}
}else{
orderCommisionDayDetailList.addAll(muchCommisionDayDetailList);
}
orderCommisionDayDetailList = orderCommisionDayDetailList == null ? new ArrayList<>() : orderCommisionDayDetailList;
if(commisionDetail != null){
orderCommisionDayDetailList.add(commisionDetail);
}
}else{
SysOrderCommisionDayDetail commisionDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime());
orderCommisionDayDetailList.add(commisionDetail);
}
if(orderCommisionDayDetailList != null){
for (SysOrderCommisionDayDetail detail : orderCommisionDayDetailList) {
@ -493,10 +489,12 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
if(detail.getNutritionistId() != null && detail.getNutritionistId() > 0L){
addUserOrderResultMap(detail.getNutritionistId(), detail, userOrderResultMap);
}
if(detail.getAfterSaleId() != null && detail.getAfterSaleId().longValue() == 257L){
System.out.println(detail.getOrderId() + "-" + detail.getOrderAmount());
}
}
}
}
System.out.println(userOrderResultMap.get(131L).size() +" 订单数量");
return userOrderResultMap;
}
@ -516,10 +514,12 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
//售后和营养师分类
for (SysOrderNutritionistReplaceRecord sysOrderRecord : replaceRecordList) {
if (sysOrderRecord.getNutritionistId() != null && sysOrderRecord.getNutritionistId().longValue() > 0) {
if (sysOrderRecord.getNutritionistId() != null && sysOrderRecord.getNutritionistId().longValue() > 0 &&
sysOrder.getNutritionistId() != null && sysOrder.getNutritionistId().longValue() != sysOrderRecord.getNutritionistId()) {
nutritionistRecord.add(sysOrderRecord);
}
if (sysOrderRecord.getAfterSaleId() != null && sysOrderRecord.getAfterSaleId().longValue() > 0) {
if (sysOrderRecord.getAfterSaleId() != null && sysOrderRecord.getAfterSaleId().longValue() > 0
&& sysOrder.getAfterSaleId().longValue() != sysOrderRecord.getAfterSaleId()) {
afterSaleRecord.add(sysOrderRecord);
}
}

View File

@ -441,9 +441,9 @@
and (
su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}
<!-- 是否查询根据用户ID查询对应替换订单 -->
<if test="replaceOrderFlag != null">
<!--<if test="replaceOrderFlag != null">-->
or o.order_id in (select r.order_id from sys_order_nutritionist_replace_record r where r.del_flag = 0 and (r.after_sale_id = #{userId} or r.nutritionist_id = #{userId}) )
</if>
<!--</if>-->
)
</if>
<if test="endTime != null and endTime != ''">
@ -469,7 +469,13 @@
and review_status = #{reviewStatus}
</if>
<if test="userId != null"><!-- 限于营养师、售后不可能同一个的情况下 -->
and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId})
and (
su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}
<!-- 是否查询根据用户ID查询对应替换订单 -->
<!--<if test="replaceOrderFlag != null">-->
or o.order_id in (select r.order_id from sys_order_nutritionist_replace_record r where r.del_flag = 0 and (r.after_sale_id = #{userId} or r.nutritionist_id = #{userId}) )
<!--</if>-->
)
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT(o.order_time,'%Y-%m-%d') &lt;= #{endTime}

View File

@ -24,7 +24,7 @@
end-placeholder="结束日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
@ -37,7 +37,7 @@
<div
class="order_total_data"
>
<span class="order_total_data_span_right20">
当前页总服务金额{{totalServerAmount}}
</span>
@ -49,7 +49,7 @@
>
<span class="order_total_data_span"
>未发放总提成{{ totalNotSendCommission }}</span
>
>
</div>
<el-row :gutter="10" class="mb8" style="margin-top: 10px;margin-left:10px">
<el-col :span="1.5">
@ -187,7 +187,7 @@
>订单详情</el-button
>
</template>
</el-table-column>
</el-table-column>
</el-table>
</div>
<!--<div style="float: right; margin-right: 40px">
@ -202,7 +202,7 @@
>
<span style="font-size14px;margin-top:-200px"
>未发放总提成{{ totalNotSendCommission }}</span
>
>
</div>-->
<pagination
v-show="total > 0"
@ -210,10 +210,10 @@
:page.sync="queryParam.pageNum"
:limit.sync="queryParam.pageSize"
@pagination="fetchOrderList"
:pageSizes="[10, 15, 30, 50, 100]"
:pageSizes="[10, 20, 50, 100, 500, 1000]"
>
</pagination>
</div>
</el-drawer>
@ -360,8 +360,8 @@ export default {
}
.order_total_data {
float: right;
margin-right: 40px;
float: right;
margin-right: 40px;
margin-bottom:15px
}