فهرست منبع

Merge branch 'online1'

# Conflicts:
#	mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java
yonge 3 سال پیش
والد
کامیت
7c42109a82

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/DegreeRegistrationActivityDto.java

@@ -15,6 +15,8 @@ public class DegreeRegistrationActivityDto extends DegreeRegistration {
     private Map<CourseSchedule.CourseScheduleType, Integer> additionCourseInfo;
 
     private BigDecimal price;
+    
+    private boolean isUseBalance;
 
     public Map<CourseSchedule.CourseScheduleType, Integer> getAdditionCourseInfo() {
         return additionCourseInfo;
@@ -31,4 +33,12 @@ public class DegreeRegistrationActivityDto extends DegreeRegistration {
     public void setPrice(BigDecimal price) {
         this.price = price;
     }
+
+	public boolean isUseBalance() {
+		return isUseBalance;
+	}
+
+	public void setIsUseBalance(boolean isUseBalance) {
+		this.isUseBalance = isUseBalance;
+	}
 }

+ 27 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -14,6 +14,7 @@ import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.util.date.DateUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -31,6 +32,7 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.springframework.util.CollectionUtils;
 
 @Service
@@ -273,10 +275,11 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         if(amount.compareTo(degreeRegistration.getPrice())!=0){
             throw new BizException("商品价格不符");
         }
+        
+        Integer userId = degreeRegistration.getUserId();
 
         OrderTypeEnum type = OrderTypeEnum.DEGREE_REGISTRATION;
 
-        Integer userId = degreeRegistration.getUserId();
         String channelType = "";
         StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
         studentPaymentOrder.setUserId(userId);
@@ -284,7 +287,29 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         studentPaymentOrder.setOrderNo(orderNo);
         studentPaymentOrder.setType(type);
         studentPaymentOrder.setExpectAmount(amount);
-        studentPaymentOrder.setActualAmount(amount);
+        
+        if(degreeRegistration.isUseBalance()){
+        	SysUserCashAccount userCashAccount = sysUserCashAccountService.getLocked(userId);
+            if (userCashAccount == null) {
+                throw new BizException("用户账户找不到");
+            }
+            BigDecimal deductBalance = BigDecimal.ZERO;
+            if (userCashAccount.getBalance().subtract(amount).doubleValue() >= 0) {
+                // 更新订单信息
+                studentPaymentOrder.setActualAmount(BigDecimal.ZERO);
+                studentPaymentOrder.setBalancePaymentAmount(amount);
+                deductBalance = amount;
+            } else {
+                studentPaymentOrder.setActualAmount(amount.subtract(userCashAccount.getBalance()));
+                studentPaymentOrder.setBalancePaymentAmount(userCashAccount.getBalance());
+                deductBalance = userCashAccount.getBalance();
+            }
+            amount = amount.subtract(deductBalance);
+            sysUserCashAccountService.updateBalance(userId, deductBalance.negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
+        }else{
+            studentPaymentOrder.setActualAmount(amount);
+            studentPaymentOrder.setBalancePaymentAmount(BigDecimal.ZERO);
+        }
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
         studentPaymentOrder.setClassGroupId(degreeRegistration.getId());
         if(Objects.nonNull(degreeRegistration.getSporadicId())){

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -86,7 +86,7 @@
             operating_tag_,
         </if>
         teacher_id_,create_time_,update_time_,service_tag_update_time_,cooperation_organ_id_,
-        care_package_,come_on_package_,member_rank_setting_id_,membership_start_time_,membership_end_time_)
+        care_package_,come_on_package_,member_rank_setting_id_,membership_start_time_,membership_end_time_,current_grade_num_,current_class_)
         VALUES
         (#{userId},#{schoolName},#{subjectIdList},
         <if test="serviceTag != null">
@@ -96,7 +96,7 @@
             #{operatingTag},
         </if>
         #{teacherId},NOW(),NOW(),NOW(),#{cooperationOrganId},
-         #{carePackage},#{comeOnPackage},#{memberRankSettingId},#{membershipStartTime},#{membershipEndTime})
+         #{carePackage},#{comeOnPackage},#{memberRankSettingId},#{membershipStartTime},#{membershipEndTime},#{currentGradeNum},#{currentClass})
     </insert>
 
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.Student">

+ 1 - 0
mec-im/src/main/java/com/ym/controller/RoomController.java

@@ -165,6 +165,7 @@ public class RoomController{
     @RequestMapping(value = "/device/control", method = RequestMethod.POST)
     public Object controlDevice(@RequestBody ReqDeviceControlData data)
             throws Exception {
+        log.info("device_control: {}",JSONObject.toJSON(data));
         return new BaseResponse<>(roomService.controlDevice(data));
     }
 

+ 2 - 2
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -829,14 +829,14 @@ public class RoomServiceImpl implements RoomService {
             enable = data.getMusicScoreOn();
             if(enable){
                 //保存伴奏音量
-                roomDao.updateRoom(roomId,null,data.getSoundVolume(),null);
+                roomDao.updateSoundVolumeById(roomId,data.getSoundVolume()==null?0:data.getSoundVolume());
             }
         }else if (data.getAccompanimentOn() != null) {
             typeEnum = DeviceTypeEnum.MusicScoreAccompaniment;
             enable = data.getAccompanimentOn();
             if(enable){
                 //保存伴奏音量
-                roomDao.updateRoom(roomId,null,data.getSoundVolume(),null);
+                roomDao.updateSoundVolumeById(roomId,data.getSoundVolume());
             }
         } else {
             throw new ApiException(ErrorEnum.ERR_REQUEST_PARA_ERR);