Browse Source

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into zx_saas_2023_03

zouxuan 2 years ago
parent
commit
87181a6b2f

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -141,6 +141,9 @@ public class Goods extends BaseEntity {
 
 	@ApiModelProperty(value = "会员收费团展示分部")
 	private String memberFeeShowOrganId;
+	
+	@ApiModelProperty(value = "免费团展示分部")
+	private String freeFeeShowOrganId;
 
 	@ApiModelProperty(value = "乐器置换展示分部")
 	private String replacementShowOrganId;
@@ -156,6 +159,9 @@ public class Goods extends BaseEntity {
 
 	@ApiModelProperty(value = "会员收费团展示分部")
 	private String memberFeeShowOrganName;
+	
+	@ApiModelProperty(value = "免费团展示分部")
+	private String freeFeeShowOrganName;
 
 	@ApiModelProperty(value = "乐器置换展示分部")
 	private String replacementShowOrganName;
@@ -502,6 +508,22 @@ public class Goods extends BaseEntity {
 		this.supplyChannel = supplyChannel;
 	}
 
+	public String getFreeFeeShowOrganId() {
+		return freeFeeShowOrganId;
+	}
+
+	public void setFreeFeeShowOrganId(String freeFeeShowOrganId) {
+		this.freeFeeShowOrganId = freeFeeShowOrganId;
+	}
+
+	public String getFreeFeeShowOrganName() {
+		return freeFeeShowOrganName;
+	}
+
+	public void setFreeFeeShowOrganName(String freeFeeShowOrganName) {
+		this.freeFeeShowOrganName = freeFeeShowOrganName;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 11 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupOrganizationCourseSettings.java

@@ -45,7 +45,8 @@ public class MusicGroupOrganizationCourseSettings extends BaseEntity {
 
     @ApiModelProperty(value="")
     private Date updateTime;
-
+    
+    private String organName;
 
     private List<MusicGroupOrganizationCourseSettingsDetail> details;
 
@@ -113,7 +114,15 @@ public class MusicGroupOrganizationCourseSettings extends BaseEntity {
         this.updateTime = updateTime;
     }
 
-    public List<MusicGroupOrganizationCourseSettingsDetail> getDetails() {
+    public String getOrganName() {
+		return organName;
+	}
+
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	public List<MusicGroupOrganizationCourseSettingsDetail> getDetails() {
         return details;
     }
 

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQueryInfo.java

@@ -40,6 +40,9 @@ public class GoodsQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "会员收费团展示分部")
     private String memberFeeShowOrganId;
 
+    @ApiModelProperty(value = "免费团展示分部")
+    private String freeFeeShowOrganId;
+
     @ApiModelProperty(value = "乐器置换展示分部")
     private String replacementShowOrganId;
 
@@ -162,4 +165,12 @@ public class GoodsQueryInfo extends QueryInfo {
     public void setSubjectId(Integer subjectId) {
         this.subjectId = subjectId;
     }
+
+	public String getFreeFeeShowOrganId() {
+		return freeFeeShowOrganId;
+	}
+
+	public void setFreeFeeShowOrganId(String freeFeeShowOrganId) {
+		this.freeFeeShowOrganId = freeFeeShowOrganId;
+	}
 }

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

@@ -633,6 +633,9 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 		if(StringUtils.isNotEmpty(goods.getMemberFeeShowOrganId())){
 			goods.setMemberFeeShowOrganName(StringUtils.join(organizationDao.findByOrganIds(goods.getMemberFeeShowOrganId()),","));
 		}
+		if(StringUtils.isNotEmpty(goods.getFreeFeeShowOrganId())){
+			goods.setFreeFeeShowOrganName(StringUtils.join(organizationDao.findByOrganIds(goods.getFreeFeeShowOrganId()),","));
+		}
 		return goods;
 	}
 

+ 31 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TempLittleArtistTrainingCampServiceImpl.java

@@ -424,13 +424,13 @@ public class TempLittleArtistTrainingCampServiceImpl extends ServiceImpl<TempLit
         //将训练营数据根据状态分组,未开始 NOT_START,报名中 APPLY,筹备中 READY,进行中 ING,已结束 END
         Map<String, List<TempLittleArtistTrainingCamp>> stateMap = WrapperUtil.groupList(campList, TempLittleArtistTrainingCamp::getState);
         //未开始 NOT_START 修改为 报名中 APPLY
-        opsState(now, stateMap, TempLittleArtistTrainingCamp.NOT_START, TempLittleArtistTrainingCamp::getApplyStartDate, TempLittleArtistTrainingCamp.APPLY);
+        opsStateByStart(now, stateMap, TempLittleArtistTrainingCamp.NOT_START, TempLittleArtistTrainingCamp::getApplyStartDate, TempLittleArtistTrainingCamp.APPLY);
         //报名中 APPLY 修改为 筹备中 READY  如果报名结束日期+1天正好等于训练开始时间 并 训练时间正好是今天那么直接变更为进行中状态,那么直接修改为进行中状态
-        opsState(now, stateMap, TempLittleArtistTrainingCamp.APPLY, TempLittleArtistTrainingCamp::getApplyEndDate, TempLittleArtistTrainingCamp.READY);
+        opsStateByEnd(now, stateMap, TempLittleArtistTrainingCamp.APPLY, TempLittleArtistTrainingCamp::getApplyEndDate, TempLittleArtistTrainingCamp.READY);
         //筹备中 READY 修改为 进行中 ING
-        opsState(now, stateMap, TempLittleArtistTrainingCamp.READY, TempLittleArtistTrainingCamp::getTrainStartDate, TempLittleArtistTrainingCamp.ING);
+        opsStateByStart(now, stateMap, TempLittleArtistTrainingCamp.READY, TempLittleArtistTrainingCamp::getTrainStartDate, TempLittleArtistTrainingCamp.ING);
         //进行中 ING 修改为 已结束 END
-        opsState(now, stateMap, TempLittleArtistTrainingCamp.ING, TempLittleArtistTrainingCamp::getTrainEndDate, TempLittleArtistTrainingCamp.END);
+        opsStateByEnd(now, stateMap, TempLittleArtistTrainingCamp.ING, TempLittleArtistTrainingCamp::getTrainEndDate, TempLittleArtistTrainingCamp.END);
         //修改数据
         campList.forEach(this::updateById);
         //对今天开始训练的人进行分组
@@ -446,7 +446,7 @@ public class TempLittleArtistTrainingCampServiceImpl extends ServiceImpl<TempLit
      * @param dateField 时间字段
      * @param newState  新状态
      */
-    private void opsState(Date now, Map<String, List<TempLittleArtistTrainingCamp>> stateMap, String oldState,
+    private void opsStateByEnd(Date now, Map<String, List<TempLittleArtistTrainingCamp>> stateMap, String oldState,
                           Function<TempLittleArtistTrainingCamp, Date> dateField, String newState) {
         List<TempLittleArtistTrainingCamp> list = stateMap.get(oldState);
         if (CollectionUtils.isNotEmpty(list)) {
@@ -472,6 +472,32 @@ public class TempLittleArtistTrainingCampServiceImpl extends ServiceImpl<TempLit
         }
     }
 
+    private void opsStateByStart(Date now, Map<String, List<TempLittleArtistTrainingCamp>> stateMap, String oldState,
+                          Function<TempLittleArtistTrainingCamp, Date> dateField, String newState) {
+        List<TempLittleArtistTrainingCamp> list = stateMap.get(oldState);
+        if (CollectionUtils.isNotEmpty(list)) {
+            list.forEach(camp -> {
+                //报名中的状态
+                if (oldState.equals(TempLittleArtistTrainingCamp.APPLY)) {
+                    //报名结束日期+1天
+                    long appleEndAddTime = DateUtil.addDays(camp.getApplyEndDate(), 1).getTime();
+                    //训练开始时间
+                    long trainStartTime = camp.getTrainStartDate().getTime();
+                    //今天
+                    long nowTime = DateUtil.toDate(LocalDate.now().toString()).getTime();
+                    //报名结束日期+1天正好等于训练开始时间 并 训练时间正好是今天那么直接变更为进行中状态
+                    if (appleEndAddTime == trainStartTime && nowTime == trainStartTime) {
+                        camp.setState(TempLittleArtistTrainingCamp.ING);
+                        return;
+                    }
+                }
+                if (now.getTime() >= dateField.apply(camp).getTime()) {
+                    camp.setState(newState);
+                }
+            });
+        }
+    }
+
     /**
      * 对开始训练的的学员进行分组
      */

+ 21 - 4
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -46,6 +46,8 @@
         <result column="course_fee_show_organ_name_" property="courseFeeShowOrganName"/>
         <result column="member_fee_show_organ_id_" property="memberFeeShowOrganId"/>
         <result column="member_fee_show_organ_name_" property="memberFeeShowOrganName"/>
+        <result column="free_fee_show_organ_id_" property="freeFeeShowOrganId"/>
+        <result column="free_fee_show_organ_name_" property="freeFeeShowOrganName"/>
         <result column="tenant_id_" property="tenantId"/>
     </resultMap>
 
@@ -71,20 +73,20 @@
         (goods_category_id_,sn_,name_,brand_,specification_,image_,stock_count_,tax_stock_count_,sell_count_,market_price_,
         discount_price_,group_purchase_price_,brief_,desc_,is_new_,is_top_,status_,memo_,publish_time_,
         complement_goods_id_list_,update_time_,create_time_,type_,agree_cost_price_,stock_warning_,stock_type_
-            ,student_show_organ_id_,education_show_organ_id_,replacement_show_organ_id_,course_fee_show_organ_id_,member_fee_show_organ_id_,tenant_id_)
+            ,student_show_organ_id_,education_show_organ_id_,replacement_show_organ_id_,course_fee_show_organ_id_,member_fee_show_organ_id_,free_fee_show_organ_id_,tenant_id_)
         VALUES(#{goodsCategoryId},#{sn},#{name},#{brand},#{specification},#{image},#{stockCount},#{taxStockCount},#{sellCount},#{marketPrice},
         #{discountPrice},#{groupPurchasePrice},#{brief},#{desc},
         #{isNew,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{isTop,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{memo},#{publishTime},#{complementGoodsIdList},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{agreeCostPrice},
         #{stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{studentShowOrganId},#{educationShowOrganId},#{replacementShowOrganId},#{courseFeeShowOrganId},#{memberFeeShowOrganId},#{tenantId})
+        #{studentShowOrganId},#{educationShowOrganId},#{replacementShowOrganId},#{courseFeeShowOrganId},#{memberFeeShowOrganId},#{freeFeeShowOrganId},#{tenantId})
     </insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
         INSERT INTO goods
         (goods_category_id_,name_,brand_,specification_,image_,market_price_,
         discount_price_,group_purchase_price_,brief_,desc_,update_time_,create_time_,type_,agree_cost_price_,sn_,
         stock_count_,tax_stock_count_,stock_warning_,stock_type_
-        ,student_show_organ_id_,education_show_organ_id_,replacement_show_organ_id_,course_fee_show_organ_id_,member_fee_show_organ_id_,tenant_id_)
+        ,student_show_organ_id_,education_show_organ_id_,replacement_show_organ_id_,course_fee_show_organ_id_,member_fee_show_organ_id_,free_fee_show_organ_id_,tenant_id_)
         VALUES
         <foreach collection="list" separator="," item="goods">
             (#{goods.goodsCategoryId},#{goods.name},#{goods.brand},#{goods.specification},#{goods.image},#{goods.marketPrice},
@@ -93,7 +95,7 @@
             #{goods.stockCount},#{goods.taxStockCount},
             #{goods.stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{goods.stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            #{goods.studentShowOrganId},#{goods.educationShowOrganId},#{goods.replacementShowOrganId},#{goods.courseFeeShowOrganId},#{goods.memberFeeShowOrganId},#{goods.tenantId}
+            #{goods.studentShowOrganId},#{goods.educationShowOrganId},#{goods.replacementShowOrganId},#{goods.courseFeeShowOrganId},#{goods.memberFeeShowOrganId},,#{goods.freeFeeShowOrganId},#{goods.tenantId}
             )
         </foreach>
     </insert>
@@ -106,6 +108,7 @@
                 replacement_show_organ_id_ = #{replacementShowOrganId},
                 course_fee_show_organ_id_ = #{courseFeeShowOrganId},
                 member_fee_show_organ_id_ = #{memberFeeShowOrganId},
+                free_fee_show_organ_id_ = #{freeFeeShowOrganId},
             <if test="agreeCostPrice != null">
                 agree_cost_price_ = #{agreeCostPrice},
             </if>
@@ -202,6 +205,9 @@
                 <if test="goods.memberFeeShowOrganId != null">
                     member_fee_show_organ_id_ = #{goods.memberFeeShowOrganId},
                 </if>
+                <if test="goods.freeFeeShowOrganId != null">
+                    free_fee_show_organ_id_ = #{goods.freeFeeShowOrganId},
+                </if>
                 <if test="goods.agreeCostPrice != null">
                     agree_cost_price_ = #{goods.agreeCostPrice},
                 </if>
@@ -336,6 +342,9 @@
             <if test="memberFeeShowOrganId!=null and memberFeeShowOrganId!=''">
                 AND INTE_ARRAY(#{memberFeeShowOrganId},g.member_fee_show_organ_id_)
             </if>
+            <if test="freeFeeShowOrganId!=null and freeFeeShowOrganId!=''">
+                AND INTE_ARRAY(#{freeFeeShowOrganId},g.free_fee_show_organ_id_)
+            </if>
             <if test="replacementShowOrganId!=null and replacementShowOrganId!=''">
                 AND INTE_ARRAY(#{replacementShowOrganId},g.replacement_show_organ_id_)
             </if>
@@ -344,6 +353,7 @@
                     AND INTE_ARRAY (#{organId},CONCAT_WS(',',
                     CASE WHEN member_fee_show_organ_id_ = '' THEN NULL ELSE member_fee_show_organ_id_ END,
                     CASE WHEN course_fee_show_organ_id_ = '' THEN NULL ELSE course_fee_show_organ_id_ END,
+                    CASE WHEN free_fee_show_organ_id_ = '' THEN NULL ELSE free_fee_show_organ_id_ END,
                     CASE WHEN education_show_organ_id_ = '' THEN NULL ELSE education_show_organ_id_ END,
                     CASE WHEN student_show_organ_id_ = '' THEN NULL ELSE student_show_organ_id_ END,
                     CASE WHEN replacement_show_organ_id_ = '' THEN NULL ELSE replacement_show_organ_id_ END))
@@ -382,6 +392,9 @@
             <if test="goodsQuery.memberFeeShowOrganId!=null">
                 AND FIND_IN_SET(#{goodsQuery.memberFeeShowOrganId},g.member_fee_show_organ_id_)
             </if>
+            <if test="goodsQuery.freeFeeShowOrganId!=null">
+                AND FIND_IN_SET(#{goodsQuery.freeFeeShowOrganId},g.free_fee_show_organ_id_)
+            </if>
             <if test="goodsQuery.replacementShowOrganId!=null">
                 AND FIND_IN_SET(#{goodsQuery.replacementShowOrganId},g.replacement_show_organ_id_)
             </if>
@@ -389,6 +402,7 @@
                 AND FIND_IN_SET (#{goodsQuery.organId},CONCAT_WS(',',
                 CASE WHEN member_fee_show_organ_id_ = '' THEN NULL ELSE member_fee_show_organ_id_ END,
                 CASE WHEN course_fee_show_organ_id_ = '' THEN NULL ELSE course_fee_show_organ_id_ END,
+                CASE WHEN free_fee_show_organ_id_ = '' THEN NULL ELSE free_fee_show_organ_id_ END,
                 CASE WHEN education_show_organ_id_ = '' THEN NULL ELSE education_show_organ_id_ END,
                 CASE WHEN student_show_organ_id_ = '' THEN NULL ELSE student_show_organ_id_ END,
                 CASE WHEN replacement_show_organ_id_ = '' THEN NULL ELSE replacement_show_organ_id_ END))
@@ -470,6 +484,9 @@
                 <if test="courseViewType == 1 or courseViewType == 0">
                     AND FIND_IN_SET(#{organId},g.course_fee_show_organ_id_)
                 </if>
+                <if test="courseViewType == 3">
+                    AND FIND_IN_SET(#{organId},g.free_fee_show_organ_id_)
+                </if>
             </if>
         </if>
         <if test="type!=null">

+ 23 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupOrganizationCourseSettingsController.java

@@ -1,9 +1,12 @@
 package com.ym.mec.web.controller;
 
-import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,11 +16,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.biz.dal.entity.MusicGroupOrganizationCourseSettings;
+import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.page.CourseSettingQueryInfo;
 import com.ym.mec.biz.service.MusicGroupOrganizationCourseSettingsService;
+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 com.yonge.log.model.AuditLogAnnotation;
 
 @RequestMapping("musicGroupOrganizationCourseSettings")
 @Api(tags = "收费方式设置")
@@ -25,12 +31,27 @@ import com.ym.mec.common.page.PageInfo;
 public class MusicGroupOrganizationCourseSettingsController extends BaseController {
     @Autowired
     private MusicGroupOrganizationCourseSettingsService musicGroupOrganizationCourseSettingsService;
+    
+    @Autowired
+    private OrganizationService organizationService;
 
     @ApiOperation(value = "获取收费方式设置列表")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('musicGroupOrganizationCourseSettings/queryPage')")
     public HttpResponseResult<PageInfo<MusicGroupOrganizationCourseSettings>> queryPage(CourseSettingQueryInfo queryInfo) {
-        return succeed(musicGroupOrganizationCourseSettingsService.queryPage(queryInfo));
+    	
+    	PageInfo<MusicGroupOrganizationCourseSettings> pageInfo = musicGroupOrganizationCourseSettingsService.queryPage(queryInfo);
+    	
+    	List<Organization> organizationList = organizationService.findAllOrgans(queryInfo.getTenantId());
+    	if(organizationList != null){
+    		Map<Integer, String> organMap = organizationList.stream().collect(Collectors.toMap(Organization :: getId, Organization :: getName));
+    		
+    		for(MusicGroupOrganizationCourseSettings cs : pageInfo.getRows()){
+    			cs.setOrganName(organMap.get(cs.getOrganId()));
+    		}
+    	}
+    	
+        return succeed(pageInfo);
     }
 
     @ApiOperation(value = "收费方式添加")