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

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

View File

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

View File

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