Pārlūkot izejas kodu

学生端活动购买

zouxuan 2 gadi atpakaļ
vecāks
revīzija
9864f82dbc

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ActivityUserMapperDao.java

@@ -130,4 +130,8 @@ public interface ActivityUserMapperDao extends BaseDAO<Integer, ActivityUserMapp
     void batchUpdateFree(@Param("useActivityUserMappers") List<ActivityUserMapper> useActivityUserMappers);
 
     List<ActivityUserMapper> findByIds(@Param("activityUserMapperIds") String activityUserMapperIds);
+
+    List<ActivityUserMapperDetailDto> queryDetailPage(Map<String, Object> params);
+
+    int countDetailPage(Map<String, Object> params);
 }

+ 73 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ActivityUserMapperDetailDto.java

@@ -0,0 +1,73 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.ActivityUserMapper;
+import io.swagger.annotations.ApiModelProperty;
+
+public class ActivityUserMapperDetailDto extends ActivityUserMapper {
+
+    @ApiModelProperty(value = "付费课类型")
+    private String categoryName;
+
+    @ApiModelProperty(value = "赠送课类型")
+    private String giveCategoryName;
+
+    @ApiModelProperty(value = "学员姓名")
+    private String username;
+
+    @ApiModelProperty(value = "指导老师姓名")
+    private String teacherName;
+
+    @ApiModelProperty(value = "分部")
+    private String organName;
+
+    @ApiModelProperty(value = "分部")
+    private Integer organId;
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public String getCategoryName() {
+        return categoryName;
+    }
+
+    public void setCategoryName(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public String getGiveCategoryName() {
+        return giveCategoryName;
+    }
+
+    public void setGiveCategoryName(String giveCategoryName) {
+        this.giveCategoryName = giveCategoryName;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+}

+ 57 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ActivityUserMapperDetailQueryInfo.java

@@ -0,0 +1,57 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+* @author zx
+* @date 2021/9/26 15:52
+*/
+public class ActivityUserMapperDetailQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "分部")
+    private String organId;
+
+    @ApiModelProperty(value = "是否退费")
+    private Boolean returnFee;
+
+    @ApiModelProperty(value = "是否有剩余为排课次数")
+    private Boolean hasSubCourse;
+
+    @ApiModelProperty(value = "指导老师编号")
+    private Integer teacherId;
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
+    public Boolean getReturnFee() {
+        return returnFee;
+    }
+
+    public void setReturnFee(Boolean returnFee) {
+        this.returnFee = returnFee;
+    }
+
+    public Boolean getHasSubCourse() {
+        return hasSubCourse;
+    }
+
+    public void setHasSubCourse(Boolean hasSubCourse) {
+        this.hasSubCourse = hasSubCourse;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ActivityUserMapperService.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dao.ActivityUserMapperDao;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
+import com.ym.mec.biz.dal.page.ActivityUserMapperDetailQueryInfo;
 import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
@@ -204,4 +205,6 @@ public interface ActivityUserMapperService extends BaseService<Integer, Activity
     ActivityUserMapperDao getDao();
 
     void use(List<ActivityUserMapper> activityUserMappers, List<ActivityUserMapper> freeActivityUserMappers, BaseMapDto<Integer,Integer> indexDto,Long groupId,CourseScheduleStudentPayment courseScheduleStudentPayment);
+
+    PageInfo<ActivityUserMapperDetailDto> queryDetailPage(ActivityUserMapperDetailQueryInfo queryInfo);
 }

+ 42 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityUserMapperServiceImpl.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
+import com.ym.mec.biz.dal.page.ActivityUserMapperDetailQueryInfo;
 import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
@@ -1157,4 +1158,45 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 		}
 	}
 
+	@Override
+	public PageInfo<ActivityUserMapperDetailDto> queryDetailPage(ActivityUserMapperDetailQueryInfo queryInfo) {
+		PageInfo<ActivityUserMapperDetailDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<ActivityUserMapperDetailDto> dataList = null;
+		int count = activityUserMapperDao.countDetailPage(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = activityUserMapperDao.queryDetailPage(params);
+			List<Integer> userIds = dataList.stream().map(e -> e.getUserId()).distinct().collect(Collectors.toList());
+			List<Integer> teacherIds = dataList.stream().filter(e -> e.getTeacherId() != null).map(e -> e.getTeacherId()).distinct().collect(Collectors.toList());
+			Map<Integer,String> teacherName = new HashMap<>();
+			if (CollectionUtils.isNotEmpty(teacherIds)){
+				teacherName = MapUtil.convertMybatisMap(teacherDao.queryNameByIdList(teacherIds));
+			}
+			Map<Integer,String> studentName = new HashMap<>();
+			if (CollectionUtils.isNotEmpty(userIds)){
+				studentName = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(userIds));
+			}
+			List<Integer> organIds = dataList.stream().map(e -> e.getOrganId()).distinct().collect(Collectors.toList());
+			Map<Integer, String> organNameMap = this.getMap("organization", "id_", "name_", organIds, queryInfo.getTenantId(), Integer.class, String.class);
+			List<ConditionDto> categorys = vipGroupCategoryService.findConditionCategorys();
+			Map<Integer, String> categoryName = categorys.stream().collect(Collectors.toMap(e->e.getId().intValue(), ConditionDto::getName, (key1, key2) -> key2));
+			for (ActivityUserMapperDetailDto row : dataList) {
+				row.setCategoryName(categoryName.get(row.getCategoryId()));
+				row.setGiveCategoryName(categoryName.get(row.getGiveCategoryId()));
+				row.setTeacherName(teacherName.get(row.getTeacherId()));
+				row.setUsername(studentName.get(row.getUserId()));
+				row.setOrganName(organNameMap.get(row.getOrganId()));
+			}
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
 }

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

@@ -592,9 +592,10 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 			throw new BizException("订单更新失败");
 		}
 		if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) {
+			Student student = studentDao.get(studentPaymentOrder.getUserId());
 			//活动赠送
 			studentPaymentOrderService.activityGive(Integer.parseInt(studentPaymentOrder.getActivityId()), studentPaymentOrder,
-					null, null, null);
+					null, null, student.getTeacherId());
 			//保存账户信息
 			sysUserCashAccountDetailService.saveSysUserCashAccountDetail(studentPaymentOrder,studentPaymentOrder.getMemo());
 			//发送短信

+ 37 - 0
mec-biz/src/main/resources/config/mybatis/ActivityUserMapperMapper.xml

@@ -589,4 +589,41 @@
 	<select id="findByIds" resultMap="ActivityUserMapper">
 		SELECT * FROM activity_user_mapper aum WHERE FIND_IN_SET(aum.id_,#{activityUserMapperIds})
 	</select>
+	<resultMap id="ActivityUserMapperDetailDto" type="com.ym.mec.biz.dal.dto.ActivityUserMapperDetailDto" extends="ActivityUserMapper">
+		<result property="organId" column="organ_id_"/>
+	</resultMap>
+    <select id="queryDetailPage" resultMap="ActivityUserMapperDetailDto">
+		select aum.*,su.organ_id_ from activity_user_mapper aum
+		left join sys_user su ON su.id_ = aum.user_id_
+		<include refid="queryDetailPageSql"/>
+		ORDER BY aum.id_ DESC
+		<include refid="global.limit"/>
+	</select>
+	<sql id="queryDetailPageSql">
+		<where>
+			<if test="search != null and search != ''">
+				AND (aum.activity_id_ = #{search} OR aum.add_memo_ LIKE CONCAT('%',#{search},'%'))
+			</if>
+			<if test="organId != null and organId != ''">
+				AND FIND_IN_SET(su.organ_id_,#{organId})
+			</if>
+			<if test="returnFee != null">
+				AND aum.return_fee_ = #{returnFee}
+			</if>
+			<if test="returnFee != null">
+				AND aum.return_fee_ = #{returnFee}
+			</if>
+			<if test="hasSubCourse != null and hasSubCourse == true">
+				and (aum.sub_course_num_ > 0 or aum.sub_give_course_num_ > 0)
+			</if>
+			<if test="hasSubCourse != null and hasSubCourse == false">
+				and aum.sub_course_num_ &lt;= 0 and aum.sub_give_course_num_ &lt;= 0
+			</if>
+		</where>
+	</sql>
+	<select id="countDetailPage" resultType="java.lang.Integer">
+		select COUNT(aum.id_) from activity_user_mapper aum
+		left join sys_user su ON su.id_ = aum.user_id_
+		<include refid="queryDetailPageSql"/>
+	</select>
 </mapper>

+ 15 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ActivityUserMapperController.java

@@ -1,11 +1,16 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.biz.dal.dto.ActivityUserMapperAddDto;
+import com.ym.mec.biz.dal.dto.ActivityUserMapperDetailDto;
 import com.ym.mec.biz.dal.entity.ActivityUserMapper;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
+import com.ym.mec.biz.dal.page.ActivityUserMapperDetailQueryInfo;
 import com.ym.mec.biz.service.ActivityUserMapperService;
+import com.ym.mec.biz.service.EmployeeService;
+import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.SysUserCashAccountLogService;
 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;
@@ -28,6 +33,8 @@ public class ActivityUserMapperController extends BaseController {
     private ActivityUserMapperService activityUserMapperService;
     @Autowired
     private SysUserCashAccountLogService sysUserCashAccountLogService;
+    @Autowired
+    private OrganizationService organizationService;
 
     @ApiOperation(value = "添加活动排课资格")
     @PostMapping("/add")
@@ -65,4 +72,12 @@ public class ActivityUserMapperController extends BaseController {
         }
         return succeed(pageInfo);
     }
+
+    @ApiOperation(value = "获取列表")
+    @PostMapping("/queryDetailPage")
+    @PreAuthorize("@pcs.hasPermissions('activityUserMapper/queryDetailPage')")
+    public HttpResponseResult<PageInfo<ActivityUserMapperDetailDto>> queryDetailPage(@RequestBody ActivityUserMapperDetailQueryInfo queryInfo){
+        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
+        return succeed(activityUserMapperService.queryDetailPage(queryInfo));
+    }
 }