yonge 5 years ago
parent
commit
888ba71cdc

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserCashAccountDetailDao.java

@@ -2,9 +2,11 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.common.dal.BaseDAO;
+
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface SysUserCashAccountDetailDao extends BaseDAO<Long, SysUserCashAccountDetail> {
 
@@ -19,4 +21,5 @@ public interface SysUserCashAccountDetailDao extends BaseDAO<Long, SysUserCashAc
      */
     int batchInsert(@Param("sysUserCashAccountDetails") List<SysUserCashAccountDetail> sysUserCashAccountDetails);
 
+    Map<String, Object> queryStatistics();
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PlatformCashAccountDetailTypeEnum.java

@@ -7,7 +7,7 @@ import com.ym.mec.common.enums.BaseEnum;
  */
 public enum PlatformCashAccountDetailTypeEnum implements BaseEnum<String, PlatformCashAccountDetailTypeEnum> {
 	RECHARGE("RECHARGE", "充值"), WITHDRAW("WITHDRAW", "提现"), PAY_FEE("PAY_FEE", "缴费"), FILL_ACCOUNT("FILL_ACCOUNT", "人工补账"), REFUNDS("REFUNDS", "退费"), REWARDS(
-			"REWARDS", "奖励");
+			"REWARDS", "奖励"), WAGE("WAGE", "工资");
 
 	private String code;
 

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -20,6 +20,7 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.string.MessageFormatter;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -662,6 +663,36 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
             musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
             musicGroupStudentFeeDao.update(musicGroupStudentFee);
+            
+            //插入交易明细
+            SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
+            BigDecimal amount = studentPaymentOrder.getActualAmount();
+            //充值
+            SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail();
+            rechargeDetail.setAmount(amount);
+            rechargeDetail.setBalance(cashAccount.getBalance().add(amount));
+            rechargeDetail.setComment("缴费前充值");
+            rechargeDetail.setCreateTime(date);
+            rechargeDetail.setStatus(DealStatusEnum.SUCCESS);
+            rechargeDetail.setTransNo(studentPaymentOrder.getTransNo());
+            rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
+            rechargeDetail.setUpdateTime(date);
+            rechargeDetail.setUserId(userId);
+            sysUserCashAccountDetailService.insert(rechargeDetail);
+            
+            //缴费
+            SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
+            paymentDetail.setAmount(amount);
+            paymentDetail.setBalance(cashAccount.getBalance());
+            paymentDetail.setComment("缴费");
+            paymentDetail.setCreateTime(date);
+            paymentDetail.setStatus(DealStatusEnum.SUCCESS);
+            paymentDetail.setTransNo(studentPaymentOrder.getTransNo());
+            paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
+            paymentDetail.setUpdateTime(date);
+            paymentDetail.setUserId(userId);
+            sysUserCashAccountDetailService.insert(paymentDetail);
+            
             // 发送续费结果通知
 
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, receivers, null, 0, "",

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

@@ -98,7 +98,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 			sysUserCashAccountDetail.setUserId(userId);
 			sysUserCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.WITHDRAW);
 			sysUserCashAccountDetail.setStatus(status);
-			sysUserCashAccountDetail.setAmount(amount);
+			sysUserCashAccountDetail.setAmount(amount.negate());
 			sysUserCashAccountDetail.setAttribute(id + "");
 			sysUserCashAccountDetail.setComment(memo);
 			sysUserCashAccountDetail.setTransNo(transNo);
@@ -171,7 +171,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 				SysUserCashAccountDetail cashAccountDetail = new SysUserCashAccountDetail();
 				cashAccountDetail.setUserId(account.getUserId());
 				cashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.WITHDRAW);
-				cashAccountDetail.setAmount(amount);
+				cashAccountDetail.setAmount(amount.negate());
 				cashAccountDetail.setBalance(subtract);
 				cashAccountDetail.setCreateTime(date);
 				cashAccountDetail.setStatus(DealStatusEnum.ING);

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/SysUserCashAccountDetailMapper.xml

@@ -124,4 +124,8 @@
     <select id="selectDetailByTransNo" resultMap="SysUserCashAccountDetail">
 		SELECT * FROM sys_user_cash_account_detail WHERE  trans_no_ = #{transNo}
 	</select>
+	
+	<select id="queryStatistics" resultType="map">
+		select sum(case when amount_ &gt; 0 then 1 else 0 end) income_num_,sum(case when amount_ &gt; 0 then amount_ else 0 end) income_total_,sum(case when amount_ &lt; 0 then 1 else 0 end) expend_num_,sum(case when amount_ &lt; 0 then amount_ else 0 end) expend_total_ from sys_user_cash_account_detail where status_ = 'SUCCESS'
+	</select>
 </mapper>

+ 4 - 3
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -16,6 +16,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.DemoGroupDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.SysUserCashAccountDetailDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.VipGroupDao;
 import com.ym.mec.common.controller.BaseController;
@@ -42,6 +43,8 @@ public class IndexController extends BaseController {
 
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	
+	private SysUserCashAccountDetailDao sysUserCashAccountDetailDao;
 
 	@ApiOperation(value = "获取首页数据")
 	@GetMapping("/index")
@@ -73,9 +76,7 @@ public class IndexController extends BaseController {
 		
 		Integer demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(organId);
 		
-		//本月收入
-		
-		//本月支出
+		Map<String, Object> incomeExpendMap = sysUserCashAccountDetailDao.queryStatistics();
 
 		return succeed();
 	}