Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 4 năm trước cách đây
mục cha
commit
fa4df8fe6c

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentInstrumentDao.java

@@ -31,4 +31,11 @@ public interface StudentInstrumentDao extends BaseDAO<Long, StudentInstrument> {
      * @return
      */
     List<StudentInstrument> getListByEndTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    /**
+     * 获取学生乐器信息
+     * @param orderId
+     * @return
+     */
+    StudentInstrument getByOrderId(Long orderId);
 }

+ 15 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentInstrument.java

@@ -61,10 +61,16 @@ public class StudentInstrument {
     /**
      * 对应订单id
      */
-    @ApiModelProperty(value = "订单id")
+    @ApiModelProperty(value = "订单id")
     private Long orderId;
 
     /**
+     * 对应订单id
+     */
+    @ApiModelProperty(value = "更改后订单id")
+    private Long changeOrderId;
+
+    /**
      * 操作人
      */
     @ApiModelProperty(value = "操作人")
@@ -274,4 +280,12 @@ public class StudentInstrument {
     public void setOperation(Integer operation) {
         this.operation = operation;
     }
+
+    public Long getChangeOrderId() {
+        return changeOrderId;
+    }
+
+    public void setChangeOrderId(Long changeOrderId) {
+        this.changeOrderId = changeOrderId;
+    }
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentInstrumentService.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.MaintenancePayDto;
 import com.ym.mec.biz.dal.entity.StudentInstrument;
 
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.SubjectChange;
 import com.ym.mec.common.service.BaseService;
 
 import java.math.BigDecimal;
@@ -54,4 +55,12 @@ public interface StudentInstrumentService extends BaseService<Long, StudentInstr
      */
     StudentInstrument updateStudentInstrument(StudentInstrument studentInstrument);
 
+
+    /**
+     * 乐器更换更新乐器信息
+     * @param subjectChange
+     * @return
+     */
+    Boolean subjectChangeUpdateInstrument(SubjectChange subjectChange);
+
 }

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

@@ -136,6 +136,7 @@ public class StudentGoodsSellServiceImpl extends BaseServiceImpl<Integer, Studen
             studentInstrument.setSpecification(goods.getSpecification());
             studentInstrument.setGoodsImg(goods.getImage());
             studentInstrument.setOrderId(order.getId());
+            studentInstrument.setChangeOrderId(order.getId());
             studentInstrument.setStatus(0);
             studentInstruments.add(studentInstrument);
         }

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentInstrumentServiceImpl.java

@@ -301,6 +301,7 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         studentInstrument.setGoodsId(goodsId);
         studentInstrument.setStatus(maintenanceStatus);
         studentInstrument.setOrderId(order.getId());
+        studentInstrument.setChangeOrderId(order.getId());
         studentInstrument.setStartTime(startTime);
         studentInstrument.setEndTime(endTime);
         addStudentInstrument(studentInstrument);
@@ -343,4 +344,29 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         studentInstrumentDao.update(studentInstrument);
         return studentInstrument;
     }
+
+    @Override
+    public Boolean subjectChangeUpdateInstrument(SubjectChange subjectChange) {
+        if (subjectChange == null || subjectChange.getChangeMusical() == null ||
+                KitGroupPurchaseTypeEnum.OWNED.equals(subjectChange.getKitGroupPurchaseType())) {
+            return false;
+        }
+        StudentInstrument studentInstrument = studentInstrumentDao.getByOrderId(subjectChange.getOriginalOrderId().longValue());
+
+        if (studentInstrument == null) {
+            studentInstrument = new StudentInstrument();
+            studentInstrument.setStudentId(subjectChange.getStudentId());
+            studentInstrument.setOrganId(subjectChange.getOrganId());
+            studentInstrument.setOrderId(subjectChange.getOrderId().longValue());
+            studentInstrument.setStatus(0);
+        }
+        studentInstrument.setChangeOrderId(subjectChange.getOrderId().longValue());
+        studentInstrument.setGoodsId(subjectChange.getChangeMusical());
+        if (studentInstrument.getId() == null) {
+            addStudentInstrument(studentInstrument);
+            return true;
+        }
+        updateStudentInstrument(studentInstrument);
+        return true;
+    }
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -68,6 +68,8 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
     private SellOrderService sellOrderService;
     @Autowired
     private GoodsService goodsService;
+    @Autowired
+    private StudentInstrumentService studentInstrumentService;
 
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
@@ -491,6 +493,9 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                 this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, studentPaymentOrder.getExpectAmount(), studentPaymentOrder.getBalancePaymentAmount(), subjectChange.getKitGroupPurchaseType());
             }
 
+            //乐保处理
+            studentInstrumentService.subjectChangeUpdateInstrument(subjectChange);
+
             //插入交易明细
             BigDecimal amount = studentPaymentOrder.getActualAmount();
             SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);

+ 20 - 9
mec-biz/src/main/resources/config/mybatis/StudentInstrumentMapper.xml

@@ -14,6 +14,7 @@
         <result column="start_time_" property="startTime"/>
         <result column="end_time_" property="endTime"/>
         <result column="order_id_" property="organId"/>
+        <result column="change_order_id_" property="changeOrderId"/>
         <result column="operation_" property="operation"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time" property="updateTime"/>
@@ -40,11 +41,11 @@
         <!--@mbg.generated-->
         insert into student_instrument
         (student_id_,organ_id_,goods_id_,goods_category_id_,goods_category_name_,goods_name_,goods_brand_,specification_,goods_img_,
-        status_,order_id_,operation_, start_time_, end_time_, create_time_, update_time
+        status_,order_id_,change_order_id_,operation_, start_time_, end_time_, create_time_, update_time
         )
         values
         (#{studentId},#{organId},#{goodsId},#{goodsCategoryId},#{goodsCategoryName},#{goodsName},#{goodsBrand},#{specification},#{goodsImg},
-        #{status},#{orderId},#{operation}, #{startTime}, #{endTime}, NOW(), NOW()
+        #{status},#{orderId},#{changeOrderId},#{operation}, #{startTime}, #{endTime}, NOW(), NOW()
         )
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentInstrument">
@@ -84,15 +85,16 @@
             <if test="endTime != null">
                 end_time_ = #{endTime},
             </if>
+            <if test="changeOrderId != null">
+                change_order_id_ = #{changeOrderId},
+            </if>
             <if test="createTime != null">
                 create_time_ = #{createTime},
             </if>
-            <if test="updateTime != null">
-                update_time = #{updateTime},
-            </if>
             <if test="delFlag != null">
                 del_flag_ = #{delFlag},
             </if>
+            update_time = #{updateTime},
         </set>
         where id_ = #{id}
     </update>
@@ -153,11 +155,11 @@
     <insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         insert into student_instrument
         (student_id_,organ_id_,goods_id_,goods_category_id_,goods_category_name_,goods_name_,goods_brand_,specification_,goods_img_,
-        order_id_,status_, start_time_, end_time_, create_time_, update_time)
+        order_id_,change_order_id_,status_, start_time_, end_time_, create_time_, update_time)
         VALUE
         <foreach collection="studentInstruments" item="item" separator=",">
             (#{item.studentId},#{item.organId},#{item.goodsId},#{item.goodsCategoryId},#{item.goodsCategoryName},#{item.goodsName},#{item.goodsBrand},#{item.specification},#{item.goodsImg},
-            #{item.orderId},#{item.status}, #{item.startTime},
+            #{item.orderId},#{item.changeOrderId},#{item.status}, #{item.startTime},
             #{item.endTime}, NOW(), NOW())
         </foreach>
     </insert>
@@ -171,8 +173,17 @@
     </update>
     <select id="getListByEndTime" resultMap="StudentInstrument">
         <![CDATA[
-        SELECT * FROM student_instrument WHERE end_time_ >= #{startTime} AND end_time_ <= #{endTime}
-     ]]>
+        SELECT *
+        FROM student_instrument
+        WHERE end_time_ >= #{startTime}
+          AND end_time_ <= #{endTime}
+        ]]>
+    </select>
+
+    <select id="getByOrderId" resultMap="StudentInstrument">
+        SELECT *
+        FROM student_instrument
+        WHERE change_order_id_ = #{orderId}
     </select>
 
 </mapper>