Forráskód Böngészése

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

刘俊驰 1 éve
szülő
commit
ed2bc819c8

+ 13 - 3
mec-application/src/main/java/com/ym/mec/web/controller/APIController.java

@@ -9,7 +9,9 @@ import com.ym.mec.biz.dal.dto.StudentVipGroupShowListDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
 import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.impl.GoodsServiceImpl;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.GoodsSubModel;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.MallCreateOrderModel;
 import com.ym.mec.common.entity.OrderCancelModel;
@@ -58,6 +60,9 @@ public class APIController extends BaseController {
 	@Autowired
 	private StudentPaymentOrderService studentPaymentOrderService;
 
+	@Autowired
+	private GoodsService goodsService;
+
 	@GetMapping("/createCashAccount")
 	public Boolean createCashAccount(Integer userId,Integer tenantId) {
 		// 添加用户现金账户
@@ -146,14 +151,14 @@ public class APIController extends BaseController {
 	// 商城订单优惠券金额
 	@PostMapping("/couponAmount")
 	public HttpResponseResult<Map> couponAmount(@RequestBody MallCreateOrderModel model) {
-			return succeed(studentPaymentOrderService.couponAmount(model));
+		return succeed(studentPaymentOrderService.couponAmount(model));
 	}
 
 	// 商城保存订单详情数据
 	@PostMapping("/mallSaveOrderInfo")
 	public HttpResponseResult<Map> mallSaveOrderInfo(@RequestBody MallCreateOrderModel model) {
-			studentPaymentOrderService.mallSaveOrderInfo(model);
-			return succeed();
+		studentPaymentOrderService.mallSaveOrderInfo(model);
+		return succeed();
 	}
 
 	// 商城支付成功/失败修改订单状态
@@ -229,4 +234,9 @@ public class APIController extends BaseController {
 
 		return succeed(balance);
 	}
+
+	@PostMapping("/api/goodsStatusSynchronize")
+	public HttpResponseResult<Boolean> goodsStatusSynchronize(List<GoodsSubModel> goodsSubModelList) {
+		return succeed(goodsService.goodsStatusSynchronize(goodsSubModelList));
+	}
 }

+ 11 - 0
mec-application/src/main/java/com/ym/mec/web/controller/MusicGroupCalenderRefundPeriodController.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.biz.dal.dto.CooperationCalenderRefundDto;
+import com.ym.mec.biz.dal.entity.MusicGroupCalenderRefundPeriod;
 import com.ym.mec.biz.dal.page.CooperationRefundQueryInfo;
 import com.ym.mec.biz.service.MusicGroupCalenderRefundPeriodService;
 import com.ym.mec.biz.service.OrganizationService;
@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.HashMap;
+import java.util.List;
 
 @RequestMapping("${app-config.url.web:}/musicGroupCalenderRefundPeriod")
 @Api(tags = "学校缴费项目缴费周期")
@@ -49,4 +51,13 @@ public class MusicGroupCalenderRefundPeriodController extends BaseController {
         queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
         return succeed(musicGroupCalenderRefundPeriodService.queryCoopCalender(queryInfo));
     }
+
+    @ApiOperation(value = "批量修改")
+    @PostMapping("/batchUpdate")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupCalenderRefundPeriod/batchUpdate')")
+    @AuditLogAnnotation(operateName = "批量修改")
+    public HttpResponseResult batchUpdate(@RequestBody List<MusicGroupCalenderRefundPeriod> refundPeriods) {
+        musicGroupCalenderRefundPeriodService.batchUpdate(refundPeriods);
+        return succeed();
+    }
 }

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

@@ -202,4 +202,7 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
     BigDecimal getOrganCostPrice(@Param("complementGoodsIdList") String complementGoodsIdList);
 
     List<Goods> exportGoods(Map<String, Object> params);
+
+    void updateStatus(@Param("goodIdList") List<Integer> goodIdList, @Param("status") Boolean status);
+
 }

+ 5 - 96
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupCalenderRefundPeriod.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -9,6 +10,7 @@ import java.math.BigDecimal;
 /**
  * 对应数据库表(music_group_calender_refund_period):
  */
+@Data
 public class MusicGroupCalenderRefundPeriod {
 
 	/**  */
@@ -40,6 +42,9 @@ public class MusicGroupCalenderRefundPeriod {
 
 	@ApiModelProperty(value = "订单编号",required = false)
 	private String orderNos;
+
+	@ApiModelProperty(value = "备注",required = false)
+	private String memo;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -47,102 +52,6 @@ public class MusicGroupCalenderRefundPeriod {
 	/**  */
 	private java.util.Date updateTime;
 
-	public String getOrderNos() {
-		return orderNos;
-	}
-
-	public void setOrderNos(String orderNos) {
-		this.orderNos = orderNos;
-	}
-
-	public BigDecimal getIncome() {
-		return income;
-	}
-
-	public void setIncome(BigDecimal income) {
-		this.income = income;
-	}
-
-	public Boolean getRefundFlag() {
-		return refundFlag;
-	}
-
-	public void setRefundFlag(Boolean refundFlag) {
-		this.refundFlag = refundFlag;
-	}
-
-	public void setId(Integer id){
-		this.id = id;
-	}
-	
-	public Integer getId(){
-		return this.id;
-	}
-			
-	public void setOrganId(Integer organId){
-		this.organId = organId;
-	}
-	
-	public Integer getOrganId(){
-		return this.organId;
-	}
-			
-	public void setCooperationOrganId(Integer cooperationOrganId){
-		this.cooperationOrganId = cooperationOrganId;
-	}
-	
-	public Integer getCooperationOrganId(){
-		return this.cooperationOrganId;
-	}
-			
-	public void setCalenderId(Long calenderId){
-		this.calenderId = calenderId;
-	}
-	
-	public Long getCalenderId(){
-		return this.calenderId;
-	}
-			
-	public void setRefundDate(String refundDate){
-		this.refundDate = refundDate;
-	}
-	
-	public String getRefundDate(){
-		return this.refundDate;
-	}
-			
-	public void setRefundAmount(java.math.BigDecimal refundAmount){
-		this.refundAmount = refundAmount;
-	}
-	
-	public java.math.BigDecimal getRefundAmount(){
-		return this.refundAmount;
-	}
-			
-	public void setSubRefundAmount(java.math.BigDecimal subRefundAmount){
-		this.subRefundAmount = subRefundAmount;
-	}
-	
-	public java.math.BigDecimal getSubRefundAmount(){
-		return this.subRefundAmount;
-	}
-			
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-			
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/GoodsSubMapper.java

@@ -16,4 +16,6 @@ public interface GoodsSubMapper extends BaseMapper<GoodsSub> {
 
 
     void saveBatch(@Param("goodsSubs") List<GoodsSub> goodsSubs);
+
+    void updateStatus(@Param("goodsSubList") List<Integer> goodsSubIdList, @Param("status") Boolean status);
 }

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.biz.dal.wrapper.GoodsWrapper;
 import com.ym.mec.common.dto.PmsProductDto;
+import com.ym.mec.common.entity.GoodsSubModel;
 import com.ym.mec.common.page.PageInfo;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -129,12 +130,14 @@ public interface GoodsService extends BaseService<Integer, Goods> {
      * @return
      */
     GoodsWrapper.Goods getDetail(Integer goodsId);
-    
+
     List<Goods> getGoodsWithLocked(String goodsIds);
-    
+
     int batchUpdate(List<Goods> goodsList);
 
     void updateGoods(GoodsWrapper.Goods goods);
 
     PageInfo<PmsProductDto> queryGoodsSubByPage(GoodsWrapper.GoodsSubQuery query);
+
+    Boolean goodsStatusSynchronize(List<GoodsSubModel> goodsSubModelList);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupCalenderRefundPeriodService.java

@@ -35,4 +35,6 @@ public interface MusicGroupCalenderRefundPeriodService extends BaseService<Integ
     * @date 2022/10/19 11:20
     */
     Boolean calcRefundAmount(Long calenderId,String orderNo, BigDecimal amount);
+
+    void batchUpdate(List<MusicGroupCalenderRefundPeriod> refundPeriods);
 }

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

@@ -22,9 +22,11 @@ import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.dto.PmsProductDto;
 import com.ym.mec.common.dto.PmsProductQueryParamDto;
+import com.ym.mec.common.entity.GoodsSubModel;
 import com.ym.mec.common.entity.UploadReturnBean;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
@@ -34,6 +36,7 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.excel.POIUtil;
 import com.ym.mec.util.ini.IniFileUtil;
 
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.PictureData;
 import org.slf4j.Logger;
@@ -55,10 +58,11 @@ import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
+@Slf4j
 @Service
 public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implements GoodsService {
 	private static final Logger LOGGER = LoggerFactory.getLogger(CourseScheduleTeacherSalaryServiceImpl.class);
-	
+
 	@Autowired
 	private GoodsDao goodsDao;
 	@Autowired
@@ -824,8 +828,8 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 		update(goodsInfo);
 	}
 
-    @Override
-    public PageInfo<PmsProductDto> queryGoodsSubByPage(GoodsWrapper.GoodsSubQuery query) {
+	@Override
+	public PageInfo<PmsProductDto> queryGoodsSubByPage(GoodsWrapper.GoodsSubQuery query) {
 		PmsProductQueryParamDto dto = PmsProductQueryParamDto.builder()
 				.publishStatus(query.getPublishStatus())
 				.keyword(query.getKeyword())
@@ -838,4 +842,39 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 				.build();
 		return mallFeignService.getProductList(dto);
 	}
+
+	@Transactional
+	@Override
+	public Boolean goodsStatusSynchronize(List<GoodsSubModel> goodsSubModelList) {
+		if (CollectionUtils.isEmpty(goodsSubModelList)) {
+			return false;
+		}
+		log.info("开始同步商品状态:" + JSON.toJSONString(goodsSubModelList));
+		List<Integer> goodIds = goodsSubModelList.stream().map(GoodsSubModel::getMallGoodsId).distinct().collect(Collectors.toList());
+		List<Integer> skus = goodsSubModelList.stream().map(GoodsSubModel::getSku).distinct().collect(Collectors.toList());
+		QueryWrapper<GoodsSub> queryWrapper = new QueryWrapper<>();
+		queryWrapper.in("goods_id_", goodIds)
+				.in("sku_", skus);
+		List<GoodsSub> goodsSubs = goodsSubMapper.selectList(queryWrapper);
+		if (CollectionUtils.isEmpty(goodsSubs)) {
+			return true;
+		}
+		Map<String, Boolean> keyStatusMap = goodsSubModelList.stream().collect(Collectors.toMap(next -> next.getMallGoodsId() + "_" + next.getSku(), GoodsSubModel::getGoodsStatus));
+		Set<String> keys = keyStatusMap.keySet();
+		goodsSubs.removeIf(next -> !keys.contains(next.getMallGoodsId() + "_" + next.getSku()));
+		if (CollectionUtils.isEmpty(goodsSubs)) {
+			return true;
+		}
+		log.info("开始同步商品状态:0/" + goodsSubs.size());
+		List<GoodsSub> goodsSubList = goodsSubs.stream().peek(next -> next.setGoodsStatus(keyStatusMap.get(next.getMallGoodsId() + "_" + next.getSku()))).collect(Collectors.toList());
+		// 下架的商品
+		List<GoodsSub> downGoods = goodsSubList.stream().filter(next -> Boolean.FALSE.equals(next.getGoodsStatus())).collect(Collectors.toList());
+		if(!CollectionUtils.isEmpty(downGoods)){
+			List<Integer> goodIdList = downGoods.stream().map(GoodsSub::getGoodsId).distinct().collect(Collectors.toList());
+			goodsDao.updateStatus(goodIdList, false);
+		}
+		Map<Boolean, List<Integer>> listMap = goodsSubList.stream().collect(Collectors.groupingBy(GoodsSub::getGoodsStatus, Collectors.mapping(next -> next.getId(), Collectors.toList())));
+		listMap.forEach((key, values) -> goodsSubMapper.updateStatus(values, key));
+		return true;
+	}
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupCalenderRefundPeriodServiceImpl.java

@@ -188,4 +188,16 @@ public class MusicGroupCalenderRefundPeriodServiceImpl extends BaseServiceImpl<I
         }
         return false;
     }
+
+    @Override
+    public void batchUpdate(List<MusicGroupCalenderRefundPeriod> refundPeriods) {
+        refundPeriods.forEach(e->{
+            e.setIncome(null);
+            e.setRefundDate(null);
+            if (e.getSubRefundAmount() == null || e.getSubRefundAmount().compareTo(BigDecimal.ZERO) == 0) {
+                e.setRefundFlag(true);
+            }
+        });
+        musicGroupCalenderRefundPeriodDao.batchUpdate(refundPeriods);
+    }
 }

+ 37 - 29
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -58,34 +58,34 @@
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="Goods" useCache="false" flushCache="true">
-		SELECT * FROM goods g
-		WHERE g.id_ = #{id}
-	</select>
+        SELECT * FROM goods g
+        WHERE g.id_ = #{id}
+    </select>
 
     <select id="lock" resultMap="Goods" useCache="false" flushCache="true">
-		SELECT * FROM goods WHERE id_ = #{goodsId} LOCK IN SHARE MODE
-	</select>
+        SELECT * FROM goods WHERE id_ = #{goodsId} LOCK IN SHARE MODE
+    </select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="Goods">
-		SELECT * FROM goods where tenant_id_ = #{tenantId} ORDER BY id_
-	</select>
+        SELECT * FROM goods where tenant_id_ = #{tenantId} ORDER BY id_
+    </select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Goods" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO goods
         (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_
+         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_,free_fee_show_organ_id_,tenant_id_,organ_cost_price_)
         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},
+               #{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},#{freeFeeShowOrganId},#{tenantId},#{organCostPrice})
     </insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
@@ -94,7 +94,7 @@
         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_,free_fee_show_organ_id_,tenant_id_,organ_cost_price_)
+        member_fee_show_organ_id_,free_fee_show_organ_id_,tenant_id_,organ_cost_price_)
         VALUES
         <foreach collection="list" separator="," item="goods">
             (#{goods.goodsCategoryId},#{goods.name},#{goods.brand},#{goods.specification},#{goods.image},#{goods.marketPrice},
@@ -104,7 +104,7 @@
             #{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.freeFeeShowOrganId},#{goods.tenantId},#{goods.organCostPrice}
+            #{goods.courseFeeShowOrganId},#{goods.memberFeeShowOrganId},#{goods.freeFeeShowOrganId},#{goods.tenantId},#{goods.organCostPrice}
             )
         </foreach>
     </insert>
@@ -112,12 +112,12 @@
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.Goods">
         UPDATE goods
         <set>
-                student_show_organ_id_ = #{studentShowOrganId},
-                education_show_organ_id_ = #{educationShowOrganId},
-                replacement_show_organ_id_ = #{replacementShowOrganId},
-                course_fee_show_organ_id_ = #{courseFeeShowOrganId},
-                member_fee_show_organ_id_ = #{memberFeeShowOrganId},
-                free_fee_show_organ_id_ = #{freeFeeShowOrganId},
+            student_show_organ_id_ = #{studentShowOrganId},
+            education_show_organ_id_ = #{educationShowOrganId},
+            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>
@@ -193,7 +193,7 @@
             <if test="stockType != null">
                 stock_type_ = #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
-                update_time_ = NOW()
+            update_time_ = NOW()
         </set>
         WHERE id_ = #{id} and tenant_id_ = #{tenantId}
     </update>
@@ -295,7 +295,7 @@
                 <if test="goods.stockType != null">
                     stock_type_ = #{goods.stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 </if>
-                    update_time_ = NOW()
+                update_time_ = NOW()
             </set>
             WHERE id_ = #{goods.id} and tenant_id_ = #{goods.tenantId}
         </foreach>
@@ -303,8 +303,8 @@
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM goods WHERE id_ = #{id}
-	</delete>
+        DELETE FROM goods WHERE id_ = #{id}
+    </delete>
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="Goods" parameterType="map">
@@ -323,7 +323,7 @@
 
     <sql id="queryGoodsPageSql">
         <where>
-        	g.tenant_id_ = #{tenantId}
+            g.tenant_id_ = #{tenantId}
             <if test="goodsCategoryId != null">
                 AND g.goods_category_id_ = #{goodsCategoryId}
             </if>
@@ -388,7 +388,7 @@
 
     <sql id="queryOrganIdSql">
         <where>
-                AND g.status_ != 0 and g.tenant_id_ = #{goodsQuery.tenantId}
+            AND g.status_ != 0 and g.tenant_id_ = #{goodsQuery.tenantId}
             <if test="goodsQuery.subjectId != null">
                 AND sgm.subject_id_ = #{goodsQuery.subjectId}
             </if>
@@ -515,7 +515,7 @@
 
     <select id="getGoodsInfo" resultMap="Goods">
         SELECT g.*,gc.name_ goods_category_name_ FROM goods g
-        LEFT JOIN goods_category gc on g.goods_category_id_ = gc.id_
+                                                          LEFT JOIN goods_category gc on g.goods_category_id_ = gc.id_
         WHERE g.id_=#{id}
     </select>
 
@@ -585,4 +585,12 @@
             </if>
         </where>
     </sql>
+
+    <update id="updateStatus">
+        update goods set status_= #{status}
+        where id_ in
+        <foreach collection="goodIdList" separator="," open="(" close=")" item="item">
+            #{item}
+        </foreach>
+    </update>
 </mapper>

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/GoodsSubMapper.xml

@@ -8,4 +8,12 @@
             item.goodsId,item.mallGoodsId,item.sku,item.goodsStatus,item.goodsPrice
         </foreach>
     </insert>
+
+    <update id="updateStatus">
+        update goods_sub set goods_status_ = #{status}
+        where id_ in
+        <foreach collection="goodsSubIdList" separator="," open="(" close=")" item="item">
+            #{item}
+        </foreach>
+    </update>
 </mapper>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupCalenderRefundPeriodMapper.xml

@@ -30,6 +30,9 @@
 			<if test="bean.subRefundAmount != null">
 				sub_refund_amount_ = #{bean.subRefundAmount},
 			</if>
+			<if test="bean.refundAmount != null">
+				refund_amount_ = #{bean.refundAmount},
+			</if>
 			<if test="bean.income != null">
 				income_ = #{bean.income},
 			</if>

+ 6 - 1
mec-client-api/src/main/java/com/ym/mec/web/WebFeignService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web;
 
 import com.ym.mec.common.config.FeignConfiguration;
+import com.ym.mec.common.entity.GoodsSubModel;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.MallCreateOrderModel;
 import com.ym.mec.common.entity.OrderCancelModel;
@@ -41,7 +42,7 @@ public interface WebFeignService {
 	String getTenantConfigValue(@RequestParam("tenantId") Integer tenantId, @RequestParam("paramName") String paramName);
 
 	@PostMapping(value = "api/queryVipPracticeGroups")
-    Boolean queryVipPracticeGroups();
+	Boolean queryVipPracticeGroups();
 
 	@GetMapping(value = "/hfMerchantConfig/queryByTenantId")
 	HttpResponseResult<HfMerchantConfig> queryByTenantId(@RequestParam("payerName") String payerName,@RequestParam("id") Integer id);
@@ -82,4 +83,8 @@ public interface WebFeignService {
 	// 商城获取 收货状态
 	@PostMapping("/api/balance")
 	HttpResponseResult<BigDecimal> balance(@RequestParam("userId") Long userId);
+
+	// 商城商品状态更新,同步商品状态
+	@PostMapping("/api/goodsStatusSynchronize")
+	HttpResponseResult<Boolean> goodsStatusSynchronize(@RequestBody List<GoodsSubModel> goodsSubModelList);
 }

+ 6 - 0
mec-client-api/src/main/java/com/ym/mec/web/fallback/WebFeignServiceFallback.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.fallback;
 
+import com.ym.mec.common.entity.GoodsSubModel;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.MallCreateOrderModel;
 import com.ym.mec.common.entity.OrderCancelModel;
@@ -109,4 +110,9 @@ public class WebFeignServiceFallback implements WebFeignService {
 	public HttpResponseResult<BigDecimal> balance(Long userId) {
 		return null;
 	}
+
+	@Override
+	public HttpResponseResult<Boolean> goodsStatusSynchronize(List<GoodsSubModel> goodsSubModelList) {
+		return null;
+	}
 }

+ 13 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/GoodsSubModel.java

@@ -0,0 +1,13 @@
+package com.ym.mec.common.entity;
+
+import lombok.Data;
+
+@Data
+public class GoodsSubModel {
+
+    private Integer mallGoodsId;
+
+    private Integer sku;
+
+    private Boolean goodsStatus;
+}