فهرست منبع

管乐迷需求集合

zouxuan 2 سال پیش
والد
کامیت
31641092f5

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

@@ -5,6 +5,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface StudentCloudCoachPaymentDetailsDao extends BaseDAO<Long, StudentCloudCoachPaymentDetails> {
 
@@ -25,4 +26,6 @@ public interface StudentCloudCoachPaymentDetailsDao extends BaseDAO<Long, Studen
     void updatePaymentStatus(Long cloudCoachPaymentProgramId);
 
     List<Integer> findUserByProgramId(Long programId);
+
+    List<Map> queryStudentName(@Param("programIds") List<Long> programIds);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CloudCoachPaymentProgram.java

@@ -71,6 +71,8 @@ public class CloudCoachPaymentProgram extends BaseEntity {
 
 	private List<Integer> userIds;
 
+	private String userNames;
+
 	@ApiModelProperty(value = "审核备注", required = false)
 	private String memo;
 
@@ -86,6 +88,14 @@ public class CloudCoachPaymentProgram extends BaseEntity {
 	@ApiModelProperty(value = "审核时间", required = false)
 	private Date auditTime;
 
+	public String getUserNames() {
+		return userNames;
+	}
+
+	public void setUserNames(String userNames) {
+		this.userNames = userNames;
+	}
+
 	public Boolean getAutoActivationFlag() {
 		return autoActivationFlag;
 	}

+ 3 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/CloudCoachPaymentProgramService.java

@@ -1,18 +1,14 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.CloudCoachPaymentProgram;
+import com.ym.mec.biz.dal.page.CloudCoachPaymentProgramQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 import org.springframework.transaction.annotation.Transactional;
 
 public interface CloudCoachPaymentProgramService extends BaseService<Long, CloudCoachPaymentProgram> {
+    PageInfo<CloudCoachPaymentProgram> queryPage(CloudCoachPaymentProgramQueryInfo queryInfo);
 
-    /**
-    * @description: 新增云教练缴费项目
-     * @param cloudCoachPaymentProgram
-    * @return void
-    * @author zx
-    * @date 2022/1/14 15:52
-    */
     void add(CloudCoachPaymentProgram cloudCoachPaymentProgram);
 
     void auditPass(CloudCoachPaymentProgram cloudCoachPaymentProgram);

+ 43 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudCoachPaymentProgramServiceImpl.java

@@ -3,13 +3,16 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.CloudCoachPaymentProgram;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.MemberRankSetting;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.page.CloudCoachPaymentProgramQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
@@ -21,10 +24,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class CloudCoachPaymentProgramServiceImpl extends BaseServiceImpl<Long, CloudCoachPaymentProgram>  implements CloudCoachPaymentProgramService {
@@ -56,6 +57,44 @@ public class CloudCoachPaymentProgramServiceImpl extends BaseServiceImpl<Long, C
 	}
 
 	@Override
+	public PageInfo<CloudCoachPaymentProgram> queryPage(CloudCoachPaymentProgramQueryInfo queryInfo) {
+		PageInfo<CloudCoachPaymentProgram> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<CloudCoachPaymentProgram> dataList = null;
+		int count = this.findCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = this.getDAO().queryPage(params);
+			Set<Integer> userIds = dataList.stream().map(e -> e.getOperator()).filter(e -> e != null).collect(Collectors.toSet());
+			userIds.addAll(dataList.stream().map(e -> e.getAudit()).filter(e -> e != null).collect(Collectors.toSet()));
+			List<SimpleUserDto> usersSimpleInfo = teacherDao.getUsersSimpleInfo(new ArrayList<>(userIds));
+			Map<Integer, SimpleUserDto> userDtoMap = usersSimpleInfo.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
+
+			List<Long> programIds = dataList.stream().map(e -> e.getId()).collect(Collectors.toList());
+			Map<Long,String> userNameMap = studentCloudCoachPaymentDetailsDao.queryStudentName(programIds).stream().collect(Collectors.toMap(e -> Long.parseLong(e.get("key").toString()), e -> e.get("value") == null ? "" : e.get("value").toString()));
+			for (CloudCoachPaymentProgram program : dataList) {
+				SimpleUserDto userDto = userDtoMap.get(program.getOperator());
+				if(Objects.nonNull(userDto)){
+					program.setOperatorName(userDto.getUserName());
+				}
+				userDto = userDtoMap.get(program.getAudit());
+				if(Objects.nonNull(userDto)){
+					program.setAuditName(userDto.getUserName());
+				}
+				program.setUserNames(userNameMap.get(program.getId()));
+			}
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void add(CloudCoachPaymentProgram cloudCoachPaymentProgram) {
 		List<Integer> userIds = cloudCoachPaymentProgram.getUserIds();

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

@@ -144,11 +144,9 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="CloudCoachPaymentProgram" parameterType="map">
-		SELECT ccpp.*,su.real_name_ operator_name_,su1.real_name_ audit_name_,o.name_ organ_name_
+		SELECT ccpp.*,o.name_ organ_name_
 		FROM cloud_coach_payment_program ccpp
 		LEFT JOIN organization o ON o.id_ = ccpp.organ_id_
-		LEFT JOIN sys_user su ON su.id_ = ccpp.operator_
-		LEFT JOIN sys_user su1 ON su1.id_ = ccpp.audit_
 		<include refid="queryPageSql"/>
 		ORDER BY ccpp.id_ DESC
 		<include refid="global.limit"/>

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/StudentCloudCoachPaymentDetailsMapper.xml

@@ -107,4 +107,13 @@
 	<select id="findUserByProgramId" resultType="java.lang.Integer">
 		SELECT user_id_ FROM student_cloud_coach_payment_details WHERE cloud_coach_payment_program_id_ = #{programId}
 	</select>
+    <select id="queryStudentName" resultType="java.util.Map">
+		select sccpd.cloud_coach_payment_program_id_ 'key',GROUP_CONCAT(su.username_) 'value' from student_cloud_coach_payment_details sccpd
+		left join sys_user su ON su.id_ = sccpd.user_id_
+		where sccpd.cloud_coach_payment_program_id_ IN
+		<foreach collection="programIds" open="(" close=")" separator="," item="id">
+			#{id}
+		</foreach>
+		group by sccpd.cloud_coach_payment_program_id_
+	</select>
 </mapper>

+ 3 - 1
mec-web/src/main/java/com/ym/mec/web/controller/CloudCoachPaymentProgramController.java

@@ -7,6 +7,8 @@ import com.ym.mec.biz.dal.page.CloudCoachPaymentProgramQueryInfo;
 import com.ym.mec.biz.service.CloudCoachPaymentProgramService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,7 +56,7 @@ public class CloudCoachPaymentProgramController extends BaseController {
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('cloudCoachPaymentProgram/queryPage')")
-    public Object queryPage(CloudCoachPaymentProgramQueryInfo queryInfo){
+    public HttpResponseResult<PageInfo<CloudCoachPaymentProgram>> queryPage(CloudCoachPaymentProgramQueryInfo queryInfo){
         queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
         return succeed(cloudCoachPaymentProgramService.queryPage(queryInfo));
     }