Browse Source

feat:欠费学员列表

Joburgess 4 years ago
parent
commit
95f9ebdcb9

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java

@@ -6,6 +6,7 @@ import java.util.Map;
 import java.util.Set;
 
 import com.ym.mec.biz.dal.dto.MusicArrearageStudentDto;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
@@ -245,6 +246,22 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	 */
 	List<Integer> queryNoPaymentUserIds(@Param("musicGroupId") String musicGroupId, @Param("userIds") List<Integer> userIds);
 
+	/**
+	 * @describe 未缴费学员列表
+	 * @author Joburgess
+	 * @date 2021/2/3 0003
+	 * @param params:
+	 * @return java.util.List<com.ym.mec.biz.dal.dto.MusicArrearageStudentDto>
+	 */
 	List<MusicArrearageStudentDto> queryArrearageStudents(Map<String, Object> params);
 	int countArrearageStudents(Map<String, Object> params);
+
+	/**
+	 * @describe 获取未缴费学员所在乐团列表
+	 * @author Joburgess
+	 * @date 2021/2/3 0003
+	 * @param organIds:
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroup>
+	 */
+	List<MusicGroup> getNoPaymentStudentMusicGroups(@Param("organIds") Set<Integer> organIds);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java

@@ -7,6 +7,7 @@ import java.util.Set;
 import com.ym.mec.biz.dal.dto.FeeStudentDto;
 import com.ym.mec.biz.dal.dto.MusicArrearageStudentDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderStudentDetail;
@@ -14,6 +15,7 @@ import com.ym.mec.biz.dal.page.ArrearageStudentsQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
+import org.apache.ibatis.annotations.Param;
 
 public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long, MusicGroupPaymentCalenderDetail> {
 
@@ -85,5 +87,21 @@ public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long
      */
     void batchDel(String musicGroupPaymentCalenderDetailIds);
 
+    /**
+     * @describe 未缴费学员列表
+     * @author Joburgess
+     * @date 2021/2/3 0003
+     * @param queryInfo:
+     * @return com.ym.mec.common.page.PageInfo<com.ym.mec.biz.dal.dto.MusicArrearageStudentDto>
+     */
     PageInfo<MusicArrearageStudentDto> queryArrearageStudents(ArrearageStudentsQueryInfo queryInfo);
+
+    /**
+     * @describe 获取未缴费学员关联乐团列表
+     * @author Joburgess
+     * @date 2021/2/3 0003
+     * @param organIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroup>
+     */
+    List<MusicGroup> getNoPaymentStudentMusicGroups(String organIds);
 }

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

@@ -581,4 +581,13 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		pageInfo.setRows(dataList);
 		return pageInfo;
 	}
+
+	@Override
+	public List<MusicGroup> getNoPaymentStudentMusicGroups(String organIdsStr) {
+		Set<Integer> organIds = null;
+		if(StringUtils.isNotBlank(organIdsStr)){
+			organIds = Arrays.stream(organIdsStr.split(",")).map(Integer::new).collect(Collectors.toSet());
+		}
+		return musicGroupPaymentCalenderDetailDao.getNoPaymentStudentMusicGroups(organIds);
+	}
 }

+ 19 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -491,6 +491,25 @@
 		<include refid="queryArrearageStudentsCondition"/>
 	</select>
 
+	<select id="getNoPaymentStudentMusicGroups" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.MusicGroup">
+		SELECT
+			DISTINCT mg.id_,mg.name_
+		FROM
+		music_group_payment_calender_detail mgpcd
+		LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
+		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
+		WHERE mg.status_ = 'PROGRESS'
+			AND DATE_FORMAT( NOW(), '%Y-%m-%d' ) >= DATE_FORMAT( mgpc.payment_valid_start_date_, '%Y-%m-%d' )
+			AND mgpcd.payment_status_ = 'NON_PAYMENT'
+			AND mgpcd.expect_amount_ > 0
+			<if test="organIds!=null and organIds.size()>0">
+				AND mg.organ_id_ IN
+				<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+					#{organId}
+				</foreach>
+			</if>
+	</select>
+
     <update id="updateNoPaymentAndZeroPaymentStatus">
 		UPDATE music_group_payment_calender_detail SET payment_status_ = 'PAID_COMPLETED',actual_amount_ = 0,update_time_ = NOW()
 		WHERE music_group_payment_calender_id_ = #{calenderId} AND expect_amount_ = 0 AND payment_status_ = 'NON_PAYMENT'

+ 25 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dto.MusicArrearageStudentDto;
 import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.page.ArrearageStudentsQueryInfo;
 import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.common.page.PageInfo;
@@ -128,4 +129,28 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
         }
         return succeed(musicGroupPaymentCalenderDetailService.queryArrearageStudents(queryInfo));
     }
+
+    @ApiOperation(value = "获取未缴费学员关联乐团列表")
+    @GetMapping("/getNoPaymentStudentMusicGroups")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/getNoPaymentStudentMusicGroups')")
+    public HttpResponseResult<List<MusicGroup>> getNoPaymentStudentMusicGroups(String organIds){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (!sysUser.getIsSuperAdmin()) {
+            Employee employee = employeeService.get(sysUser.getId());
+            if (StringUtils.isBlank(organIds)) {
+                organIds = employee.getOrganIdList();
+            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+                return failed("用户所在分部异常");
+            }else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if(!list.containsAll(Arrays.asList(organIds.split(",")))){
+                    return failed("非法请求");
+                }
+            }
+        }
+        return succeed(musicGroupPaymentCalenderDetailService.getNoPaymentStudentMusicGroups(organIds));
+    }
 }