zouxuan 2 лет назад
Родитель
Сommit
57086f52a9

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -108,4 +108,6 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
 
     //获取待激活学员数
     List<Map<Integer, Long>> getWaitActivateMap(@Param("organIds") List<Integer> organIds);
+
+    List<Map<Integer, BigDecimal>> sumPersonIncome(@Param("month") String month);
 }

+ 5 - 241
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CloudTeacherOrder.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.PeriodEnum;
+import com.ym.mec.common.tenant.TenantContextHolder;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -8,114 +9,65 @@ import java.math.BigDecimal;
 import java.util.Date;
 
 import com.ym.mec.common.entity.BaseEntity;
+import lombok.Data;
 
 @ApiModel(value = "com-domain-CloudTeacherOrder")
-public class CloudTeacherOrder extends BaseEntity {
+@Data
+public class CloudTeacherOrder {
     @ApiModelProperty(value = "")
     private Long id;
 
-    /**
-     * 学生id
-     */
     @ApiModelProperty(value = "分部id")
     private Integer organId;
 
-    /**
-     * 学生id
-     */
     @ApiModelProperty(value = "学生id")
     private Integer studentId;
 
-    /**
-     * 时长类型 1-天 2-月 3-年
-     */
     @ApiModelProperty(value = "时长类型 1-天 2-月 3-年")
     private PeriodEnum type;
 
-    /**
-     * 时长类型 1-天 2-月 3-年
-     */
     @ApiModelProperty(value = "会员等级")
     private Integer level;
 
-    /**
-     * 购买时长
-     */
     @ApiModelProperty(value = "购买时长")
     private Integer time;
 
-    /**
-     * 购买价格
-     */
     @ApiModelProperty(value = "购买价格")
     private BigDecimal amount;
 
     @ApiModelProperty(value = "经营报表结算价")
     private BigDecimal operatingAmount = BigDecimal.ZERO;
 
-    /**
-     * 退回金额
-     */
     @ApiModelProperty(value = "退回金额")
     private BigDecimal refundAmount = BigDecimal.ZERO;
 
-    /**
-     * 1-生效中 2-已生效 3-已退
-     */
     @ApiModelProperty(value = "1-生效中 2-已生效 3-已退")
     private Integer status;
 
-    /**
-     * 服务开始时间
-     */
     @ApiModelProperty(value = "服务开始时间")
     private Date startTime;
 
-    /**
-     * 服务结束时间
-     */
     @ApiModelProperty(value = "服务结束时间")
     private Date endTime;
 
-    /**
-     * 订单id
-     */
     @ApiModelProperty(value = "订单id")
     private Long orderId;
 
-    /**
-     * 平台订单id
-     */
     @ApiModelProperty(value = "订单id")
     private Long platformOrderId;
 
-    /**
-     * 备注
-     */
     @ApiModelProperty(value = "备注")
     private String remark = "";
 
-    /**
-     * 活动备注
-     */
     @ApiModelProperty(value = "活动备注")
     private Integer activeRemark;
 
-    /**
-     * 备注
-     */
     @ApiModelProperty(value = "版本")
     private Integer version = 0;
 
-    /**
-     * 创建时间
-     */
     @ApiModelProperty(value = "创建时间")
     private Date createTime;
 
-    /**
-     * 更新时间
-     */
     @ApiModelProperty(value = "更新时间")
     private Date updateTime;
 
@@ -124,193 +76,5 @@ public class CloudTeacherOrder extends BaseEntity {
     
     private StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
 
-    public BigDecimal getOperatingAmount() {
-        return operatingAmount;
-    }
-
-    public void setOperatingAmount(BigDecimal operatingAmount) {
-        this.operatingAmount = operatingAmount;
-    }
-
-    public Integer getActiveRemark() {
-        return activeRemark;
-    }
-
-    public void setActiveRemark(Integer activeRemark) {
-        this.activeRemark = activeRemark;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Integer getStudentId() {
-        return studentId;
-    }
-
-    public void setStudentId(Integer studentId) {
-        this.studentId = studentId;
-    }
-
-    public PeriodEnum getType() {
-        return type;
-    }
-
-    public void setType(PeriodEnum type) {
-        this.type = type;
-    }
-
-    public Integer getTime() {
-        return time;
-    }
-
-    public void setTime(Integer time) {
-        this.time = time;
-    }
-
-    public BigDecimal getAmount() {
-        return amount;
-    }
-
-    public void setAmount(BigDecimal amount) {
-        this.amount = amount;
-    }
-
-    public BigDecimal getRefundAmount() {
-        return refundAmount;
-    }
-
-    public void setRefundAmount(BigDecimal refundAmount) {
-        this.refundAmount = refundAmount;
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
-
-    public Long getOrderId() {
-        return orderId;
-    }
-
-    public void setOrderId(Long orderId) {
-        this.orderId = orderId;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    public Integer getLevel() {
-        return level;
-    }
-
-    public void setLevel(Integer level) {
-        this.level = level;
-    }
-
-    public Date getStartTime() {
-        return startTime;
-    }
-
-    public void setStartTime(Date startTime) {
-        this.startTime = startTime;
-    }
-
-    public Date getEndTime() {
-        return endTime;
-    }
-
-    public void setEndTime(Date endTime) {
-        this.endTime = endTime;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", id=").append(id);
-        sb.append(", studentId=").append(studentId);
-        sb.append(", type=").append(type);
-        sb.append(", time=").append(time);
-        sb.append(", amount=").append(amount);
-        sb.append(", refundAmount=").append(refundAmount);
-        sb.append(", status=").append(status);
-        sb.append(", orderId=").append(orderId);
-        sb.append(", platformOrderId=").append(platformOrderId);
-        sb.append(", remark=").append(remark);
-        sb.append(", createTime=").append(createTime);
-        sb.append(", updateTime=").append(updateTime);
-        sb.append("]");
-        return sb.toString();
-    }
-
-    public Integer getOrganId() {
-        return organId;
-    }
-
-    public void setOrganId(Integer organId) {
-        this.organId = organId;
-    }
-
-    public String getMusicGroupId() {
-        return musicGroupId;
-    }
-
-    public void setMusicGroupId(String musicGroupId) {
-        this.musicGroupId = musicGroupId;
-    }
-
-	public StudentPaymentOrder getStudentPaymentOrder() {
-		return studentPaymentOrder;
-	}
-
-	public void setStudentPaymentOrder(StudentPaymentOrder studentPaymentOrder) {
-		this.studentPaymentOrder = studentPaymentOrder;
-	}
-
-    public Long getPlatformOrderId() {
-        return platformOrderId;
-    }
-
-    public void setPlatformOrderId(Long platformOrderId) {
-        this.platformOrderId = platformOrderId;
-    }
-
-    public Integer getVersion() {
-        return version;
-    }
-
-    public void setVersion(Integer version) {
-        this.version = version;
-    }
+    private Integer tenantId = TenantContextHolder.getTenantId();
 }

+ 1 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -288,13 +288,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         cloudTeacherOrder.setAmount(cloudTeacherFee);
         cloudTeacherOrder.setStudentId(order.getUserId());
         cloudTeacherOrder.setStatus(1);
+        cloudTeacherOrder.setMusicGroupId(order.getMusicGroupId());
         cloudTeacherOrder.setOperatingAmount(calenderMember.getIncome().compareTo(BigDecimal.ZERO) == 0?cloudTeacherFee:calenderMember.getIncome());
-        /*MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(order.getCalenderId());
-        if(calender.getCloudTeacherPaymentFlag()){
-            cloudTeacherOrder.setOperatingAmount(BigDecimal.ZERO);
-        }else {
-            cloudTeacherOrder.setOperatingAmount(cloudTeacherFee);
-        }*/
         //保存云教练订单
         this.save(cloudTeacherOrder,calenderMember.getAutoActivationFlag());
     }

+ 12 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -190,6 +190,8 @@ public class ExportServiceImpl implements ExportService {
     private StudentTeacherMapperDao studentTeacherMapperDao;
     @Autowired
     private TeacherCloudCourseReportService teacherCloudCourseReportService;
+    @Autowired
+    private CloudTeacherOrderDao cloudTeacherOrderDao;
 
     private static final ExecutorService exportExecutorService = Executors.newFixedThreadPool(10);
     @Autowired
@@ -408,7 +410,7 @@ public class ExportServiceImpl implements ExportService {
 
     private HttpResponseResult exportOperatingSummaryIncome(Map<String, Object> info) {
         String month = getParam(info, "month", String.class);
-        Map<String, Object> params = new HashMap<>();
+        Map<String, Object> params = new HashMap<>(1);
         params.put("month",month);
         int count = studentPaymentOrderDao.queryCount1(params);
         if (count <= 0) {
@@ -2327,6 +2329,13 @@ public class ExportServiceImpl implements ExportService {
         //按分部分组
         Map<Integer, List<StudentPaymentOrderExportDto>> listMap = studentPaymentOrderExportDtos.stream().collect(Collectors.groupingBy(e -> e.getOrganId()));
         List<OperatingTotalIncomeDto> incomeDtos = new ArrayList<>();
+        //统计云教练个人收入
+        List<Map<Integer, BigDecimal>> personIncomeMapList = cloudTeacherOrderDao.sumPersonIncome(params.get("month").toString());
+        Map<Integer, BigDecimal> personIncomeMap = new HashMap<>();
+        if(!CollectionUtils.isEmpty(personIncomeMapList)){
+            personIncomeMap = personIncomeMapList.stream().collect(Collectors.toMap(s -> Integer.parseInt(s.get("key").toString()), s -> BigDecimal.valueOf(Double.parseDouble(s.get("value").toString()))));
+        }
+
         for (Integer organId : listMap.keySet()) {
             OperatingTotalIncomeDto incomeDto = new OperatingTotalIncomeDto();
             incomeDto.setOrganName(userOrganNameMap.get(organId));
@@ -2542,9 +2551,6 @@ public class ExportServiceImpl implements ExportService {
                         .add(row.getRechargeFee())
                         .add(row.getOtherFee())
                 );
-                //云教练收入
-                incomeDto.setCloudCoachIncome(incomeDto.getCloudCoachIncome()
-                        .add(row.getCloudTeacherFee()));
                 //团购乐器
                 incomeDto.setGroupPurchaseInstruments(incomeDto.getGroupPurchaseInstruments()
                         .add(row.getRetailGoodsFee()));
@@ -2566,12 +2572,13 @@ public class ExportServiceImpl implements ExportService {
                 );
                 //销售收入
                 incomeDto.setSalesIncome(incomeDto.getSalesIncome()
-                        .add(incomeDto.getCloudCoachIncome())
                         .add(incomeDto.getGroupPurchaseInstruments())
                         .add(incomeDto.getGroupPurchaseTeachingAids())
                         .add(incomeDto.getLargeInstruments())
                 );
             }
+            incomeDto.setCloudCoachIncome(incomeDto.getCloudCoachIncome().add(personIncomeMap.getOrDefault(organId,BigDecimal.ZERO)));
+            incomeDto.setSalesIncome(incomeDto.getSalesIncome().add(incomeDto.getCloudCoachIncome()));
             incomeDtos.add(incomeDto);
         }
         HSSFWorkbook workbook = getHSSFWorkbook(incomeDtos, ExportEnum.EXPORT_OPERATING_SUMMARY_INCOME);

+ 0 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -767,13 +767,6 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public boolean orderCallback(StudentPaymentOrder studentPaymentOrder) {
         //查询原定的是否已处理
-        /*StudentPaymentOrder orignStudentPaymentOrder = studentPaymentOrderService.lockOrder(studentPaymentOrder.getId());
-        if (orignStudentPaymentOrder == null) {
-            return false;
-        }
-        if (orignStudentPaymentOrder.getStatus() != DealStatusEnum.ING) {
-            return false;
-        }*/
         Integer userId = studentPaymentOrder.getUserId();
         Date nowDate = new Date();
         // 更新订单信息

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -626,6 +626,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         return studentPaymentOrderDetailDao.findApplyOrderGoods(orderId);
     }
 
+    @Override
     public void addOrderDetailTo(StudentPaymentOrder studentPaymentOrder, MusicGroup musicGroup, StudentRegistration studentRegistration) {
         //SurplusCourseFee
         Integer userId = studentPaymentOrder.getUserId();

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -497,4 +497,9 @@
         </if>
         group by cto.organ_id_
     </select>
+    <select id="sumPersonIncome" resultType="java.util.Map">
+        select organ_id_ 'key',SUM(amount_) 'value' from cloud_teacher_order cto
+        where cto.music_group_id_ IS NULL
+          AND DATE_FORMAT(create_time_, '%Y-%m') = #{month} AND cto.status_ IN (1,2) AND amount_ > 0 group by  organ_id_
+    </select>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/OperatingReportNewMapper.xml

@@ -403,7 +403,7 @@
 		from financial_expenditure fe
 				 left join organization o ON o.id_ = fe.organ_id_
 				 left join cooperation_organ co ON co.id_ = fe.cooperation_organ_id_
-		where fe.process_id_ = 28 AND fe.del_flag_ = 0 AND DATE_FORMAT(fe.create_time_, '%Y-%m') = #{month}
+		where fe.process_id_ IN (19,22,28) AND fe.del_flag_ = 0 AND DATE_FORMAT(fe.create_time_, '%Y-%m') = #{month}
 		order by fe.id_ DESC
 	</select>
 	<select id="sumHumanCost" resultType="com.ym.mec.biz.dal.dto.HumanTypeDto">