Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -0,0 +1,61 @@
|
|||||||
|
package com.czg.controller.admin;
|
||||||
|
|
||||||
|
import com.czg.annotation.SaAdminCheckPermission;
|
||||||
|
import com.czg.annotation.SaCheckMainShop;
|
||||||
|
import com.czg.constant.TableValueConstant;
|
||||||
|
import com.czg.market.dto.MkDistributionConfigDTO;
|
||||||
|
import com.czg.market.dto.MkEnableConfigDTO;
|
||||||
|
import com.czg.market.dto.MkRedemptionConfigDTO;
|
||||||
|
import com.czg.market.service.MkDistributionConfigService;
|
||||||
|
import com.czg.market.service.MkEnableConfigService;
|
||||||
|
import com.czg.market.service.MkRedemptionConfigService;
|
||||||
|
import com.czg.market.vo.MkDistributionConfigVO;
|
||||||
|
import com.czg.market.vo.MkEnableConfigVO;
|
||||||
|
import com.czg.market.vo.MkRedemptionCodeVO;
|
||||||
|
import com.czg.market.vo.MkRedemptionConfigVO;
|
||||||
|
import com.czg.resp.CzgResult;
|
||||||
|
import com.czg.sa.StpKit;
|
||||||
|
import com.czg.validator.group.UpdateGroup;
|
||||||
|
import com.mybatisflex.core.paginate.Page;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.groups.Default;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 分销相关
|
||||||
|
* @author Administrator
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/admin/distribution")
|
||||||
|
public class DistributionController {
|
||||||
|
@Resource
|
||||||
|
private MkDistributionConfigService configService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置信息详情
|
||||||
|
*/
|
||||||
|
@SaAdminCheckPermission(value = "distribution:detail", name = "分销配置")
|
||||||
|
@GetMapping
|
||||||
|
public CzgResult<MkDistributionConfigVO> detail() {
|
||||||
|
return CzgResult.success(configService.detail(StpKit.USER.getMainShopId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置信息修改
|
||||||
|
*
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@SaAdminCheckPermission(value = "distribution:edit", name = "分销修改")
|
||||||
|
@SaCheckMainShop
|
||||||
|
@PutMapping
|
||||||
|
public CzgResult<Boolean> edit(@Validated({UpdateGroup.class, Default.class}) @RequestBody MkDistributionConfigDTO dto) {
|
||||||
|
return CzgResult.success(configService.edit(StpKit.USER.getShopId(), dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
|
||||||
|
package com.czg.market.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.alibaba.fastjson2.annotation.JSONField;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import jakarta.validation.constraints.*;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销配置 实体类。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MkDistributionConfigDTO implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否开启
|
||||||
|
*/
|
||||||
|
// @NotNull(message = "是否开启不能为空")
|
||||||
|
private Integer isEnable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pay购买开通 auto自动开通 manual手动开通
|
||||||
|
*/
|
||||||
|
// @NotBlank(message = "开通方式不能为空")
|
||||||
|
private String openType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邀请条件人数
|
||||||
|
*/
|
||||||
|
@Min(value = 1, message = "邀请人数不能小于1")
|
||||||
|
private Integer inviteCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 被邀请人消费有效 0 1
|
||||||
|
*/
|
||||||
|
private Integer inviteConsume;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 购买开通金额
|
||||||
|
*/
|
||||||
|
@DecimalMin(value = "0.01", message = "购买开通金额不能小于0.01")
|
||||||
|
private BigDecimal payAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每人奖励次数
|
||||||
|
*/
|
||||||
|
// @NotNull(message = "每人奖励次数不能为空")
|
||||||
|
@Min(value = 1, message = "每人奖励次数不能小于1")
|
||||||
|
private Integer rewardCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* n天结算
|
||||||
|
*/
|
||||||
|
// @NotNull(message = "结算天数不能为空")
|
||||||
|
@Min(value = 0, message = "结算天数不能小于0")
|
||||||
|
private Integer settlementDay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* not_upgrade不自动升级 invite邀请有效人数 cost消费金额
|
||||||
|
*/
|
||||||
|
// @NotBlank(message = "升级条件不能为空")
|
||||||
|
private String upgradeType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未开通页面富文本
|
||||||
|
*/
|
||||||
|
private String notActivatedPage;
|
||||||
|
|
||||||
|
|
||||||
|
@Valid
|
||||||
|
private List<MkDistributionLevelConfigDTO> levelConfigList;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
|
||||||
|
package com.czg.market.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.alibaba.fastjson2.annotation.JSONField;
|
||||||
|
import jakarta.validation.constraints.*;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import java.io.Serial;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销员等级配置 实体类。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MkDistributionLevelConfigDTO implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 名称
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "名称不能为空")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效人数
|
||||||
|
*/
|
||||||
|
@Min(value = 1, message = "有效人数不能小于1")
|
||||||
|
private Integer inviteCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消费金额
|
||||||
|
*/
|
||||||
|
@DecimalMin(value = "0.01", message = "消费金额不能小于0.01")
|
||||||
|
private BigDecimal costAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一级分销比例
|
||||||
|
*/
|
||||||
|
@NotNull(message = "一级分销比例不为空")
|
||||||
|
private BigDecimal levelOneCommission;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二级分销比例
|
||||||
|
*/
|
||||||
|
private BigDecimal levelTwoCommission;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
package com.czg.market.entity;
|
||||||
|
|
||||||
|
import com.mybatisflex.annotation.Column;
|
||||||
|
import com.mybatisflex.annotation.Id;
|
||||||
|
import com.mybatisflex.annotation.KeyType;
|
||||||
|
import com.mybatisflex.annotation.Table;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销配置 实体类。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Table("mk_distribution_config")
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MkDistributionConfig implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Id(keyType = KeyType.Auto)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否开启
|
||||||
|
*/
|
||||||
|
private Integer isEnable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pay购买开通 auto自动开通 manual手动开通
|
||||||
|
*/
|
||||||
|
private String openType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邀请条件人数
|
||||||
|
*/
|
||||||
|
private Integer inviteCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 被邀请人消费有效 0 1
|
||||||
|
*/
|
||||||
|
private Integer inviteConsume;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 购买开通金额
|
||||||
|
*/
|
||||||
|
private BigDecimal payAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每人奖励次数
|
||||||
|
*/
|
||||||
|
private Integer rewardCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* n天结算
|
||||||
|
*/
|
||||||
|
private Integer settlementDay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* not_upgrade不自动升级 invite邀请有效人数 cost消费金额
|
||||||
|
*/
|
||||||
|
private String upgradeType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未开通页面富文本
|
||||||
|
*/
|
||||||
|
private String notActivatedPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "now()")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改时间
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主店id
|
||||||
|
*/
|
||||||
|
private Long mainShopId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
package com.czg.market.entity;
|
||||||
|
|
||||||
|
import com.mybatisflex.annotation.Column;
|
||||||
|
import com.mybatisflex.annotation.Id;
|
||||||
|
import com.mybatisflex.annotation.KeyType;
|
||||||
|
import com.mybatisflex.annotation.Table;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销员等级配置 实体类。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Table("mk_distribution_level_config")
|
||||||
|
public class MkDistributionLevelConfig implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Id(keyType = KeyType.Auto)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销配置表id
|
||||||
|
*/
|
||||||
|
private Long distributionConfigId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主店id
|
||||||
|
*/
|
||||||
|
private Long mainShopId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效人数
|
||||||
|
*/
|
||||||
|
private Integer inviteCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消费金额
|
||||||
|
*/
|
||||||
|
private BigDecimal costAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一级分销比例
|
||||||
|
*/
|
||||||
|
private BigDecimal levelOneCommission;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二级分销比例
|
||||||
|
*/
|
||||||
|
private BigDecimal levelTwoCommission;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "now()")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改时间
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.czg.market.service;
|
||||||
|
|
||||||
|
import com.czg.market.dto.MkDistributionConfigDTO;
|
||||||
|
import com.czg.market.vo.MkDistributionConfigVO;
|
||||||
|
import com.czg.market.vo.MkRedemptionConfigVO;
|
||||||
|
import com.mybatisflex.core.service.IService;
|
||||||
|
import com.czg.market.entity.MkDistributionConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销配置 服务层。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
public interface MkDistributionConfigService extends IService<MkDistributionConfig> {
|
||||||
|
MkDistributionConfigVO detail(Long mainShopId);
|
||||||
|
|
||||||
|
Boolean edit(Long shopId, MkDistributionConfigDTO dto);
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.czg.market.service;
|
||||||
|
|
||||||
|
import com.czg.market.dto.MkDistributionLevelConfigDTO;
|
||||||
|
import com.mybatisflex.core.service.IService;
|
||||||
|
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销员等级配置 服务层。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
public interface MkDistributionLevelConfigService extends IService<MkDistributionLevelConfig> {
|
||||||
|
|
||||||
|
void updateByShopId(@Valid List<MkDistributionLevelConfigDTO> levelConfigList, Long mainShopId, Long id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.czg.market.vo;
|
||||||
|
|
||||||
|
import com.czg.market.entity.MkDistributionConfig;
|
||||||
|
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Administrator
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class MkDistributionConfigVO extends MkDistributionConfig implements Serializable {
|
||||||
|
private List<MkDistributionLevelConfig> levelConfigList;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -188,7 +188,7 @@ public class UShopUserServiceImpl implements UShopUserService {
|
|||||||
@Override
|
@Override
|
||||||
public ShopUserDetailDTO getInfo(Long shopId, long userId) {
|
public ShopUserDetailDTO getInfo(Long shopId, long userId) {
|
||||||
Long mainId = shopInfoService.getMainIdByShopId(shopId);
|
Long mainId = shopInfoService.getMainIdByShopId(shopId);
|
||||||
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getMainShopId, mainId).eq(ShopUser::getUserId, userId));
|
ShopUser shopUser = shopUserService.getShopUserInfo(mainId, shopId);
|
||||||
UserInfo userInfo = userInfoService.getById(userId);
|
UserInfo userInfo = userInfoService.getById(userId);
|
||||||
if (userInfo == null) {
|
if (userInfo == null) {
|
||||||
throw new ApiNotPrintException("用户信息不存在");
|
throw new ApiNotPrintException("用户信息不存在");
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.czg.service.market.mapper;
|
||||||
|
|
||||||
|
import com.mybatisflex.core.BaseMapper;
|
||||||
|
import com.czg.market.entity.MkDistributionConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销配置 映射层。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
public interface MkDistributionConfigMapper extends BaseMapper<MkDistributionConfig> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.czg.service.market.mapper;
|
||||||
|
|
||||||
|
import com.mybatisflex.core.BaseMapper;
|
||||||
|
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销员等级配置 映射层。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
public interface MkDistributionLevelConfigMapper extends BaseMapper<MkDistributionLevelConfig> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.czg.service.market.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.czg.market.dto.MkDistributionConfigDTO;
|
||||||
|
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||||
|
import com.czg.market.service.MkDistributionLevelConfigService;
|
||||||
|
import com.czg.market.vo.MkDistributionConfigVO;
|
||||||
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
|
import com.czg.market.entity.MkDistributionConfig;
|
||||||
|
import com.czg.market.service.MkDistributionConfigService;
|
||||||
|
import com.czg.service.market.mapper.MkDistributionConfigMapper;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销配置 服务层实现。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MkDistributionConfigServiceImpl extends ServiceImpl<MkDistributionConfigMapper, MkDistributionConfig> implements MkDistributionConfigService{
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MkDistributionLevelConfigService levelConfigService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MkDistributionConfigVO detail(Long mainShopId) {
|
||||||
|
MkDistributionConfig config = getOne(new QueryWrapper().eq(MkDistributionConfig::getMainShopId, mainShopId));
|
||||||
|
if (config == null) {
|
||||||
|
config = new MkDistributionConfig().setMainShopId(mainShopId);
|
||||||
|
save(config);
|
||||||
|
config = getOne(new QueryWrapper().eq(MkDistributionConfig::getMainShopId, mainShopId));
|
||||||
|
}
|
||||||
|
|
||||||
|
MkDistributionConfigVO configVO = BeanUtil.copyProperties(config, MkDistributionConfigVO.class);
|
||||||
|
configVO.setLevelConfigList(levelConfigService.list(new QueryWrapper().eq(MkDistributionLevelConfig::getDistributionConfigId, config.getId())));
|
||||||
|
return configVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean edit(Long shopId, MkDistributionConfigDTO dto) {
|
||||||
|
MkDistributionConfig config = getOne(new QueryWrapper().eq(MkDistributionConfig::getMainShopId, shopId));
|
||||||
|
BeanUtil.copyProperties(dto, config);
|
||||||
|
|
||||||
|
if (dto.getLevelConfigList() != null) {
|
||||||
|
levelConfigService.updateByShopId(dto.getLevelConfigList(), config.getMainShopId(), config.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
return updateById(config);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.czg.service.market.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.czg.market.dto.MkDistributionLevelConfigDTO;
|
||||||
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
|
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||||
|
import com.czg.market.service.MkDistributionLevelConfigService;
|
||||||
|
import com.czg.service.market.mapper.MkDistributionLevelConfigMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分销员等级配置 服务层实现。
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2025-10-25
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MkDistributionLevelConfigServiceImpl extends ServiceImpl<MkDistributionLevelConfigMapper, MkDistributionLevelConfig> implements MkDistributionLevelConfigService{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateByShopId(List<MkDistributionLevelConfigDTO> levelConfigList, Long mainShopId, Long id) {
|
||||||
|
if (levelConfigList.isEmpty()) {
|
||||||
|
remove(new QueryWrapper().eq(MkDistributionLevelConfig::getDistributionConfigId, id));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
levelConfigList.forEach(item -> {
|
||||||
|
MkDistributionLevelConfig config = BeanUtil.copyProperties(item, MkDistributionLevelConfig.class);
|
||||||
|
config.setDistributionConfigId(id);
|
||||||
|
config.setMainShopId(mainShopId);
|
||||||
|
saveOrUpdate(config);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.czg.service.market.mapper.MkDistributionConfigMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.czg.service.market.mapper.MkDistributionLevelConfigMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user