分销更名 全民股东
新增全民股东群聊配置
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package com.czg.controller.admin;
|
||||
|
||||
import com.czg.annotation.SaAdminCheckPermission;
|
||||
import com.czg.market.entity.MkDistributionGroup;
|
||||
import com.czg.market.service.MkDistributionGroupService;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.sa.StpKit;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* 全民股东群聊
|
||||
*
|
||||
* @author ww
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/admin/disGroup")
|
||||
public class ADisGroupController {
|
||||
|
||||
@Resource
|
||||
private MkDistributionGroupService mkDistributionGroupService;
|
||||
|
||||
/**
|
||||
* 全民股东群聊
|
||||
*/
|
||||
@GetMapping
|
||||
@SaAdminCheckPermission(parentName = "全民股东群聊", value = "share:config", name = "全民股东群聊-配置")
|
||||
public CzgResult<MkDistributionGroup> getShareBase() {
|
||||
return CzgResult.success(mkDistributionGroupService.getById(StpKit.USER.getShopId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 全民股东群聊:新增/修改
|
||||
*/
|
||||
@PostMapping
|
||||
@SaAdminCheckPermission(parentName = "全民股东群聊", value = "share:up", name = "全民股东群聊-新增/修改")
|
||||
public CzgResult<Boolean> editShareBase(@RequestBody MkDistributionGroup group) {
|
||||
group.setShopId(StpKit.USER.getShopId());
|
||||
MkDistributionGroup share = mkDistributionGroupService.getById(group.getShopId());
|
||||
if (share == null) {
|
||||
return CzgResult.success(mkDistributionGroupService.save(group));
|
||||
} else {
|
||||
return CzgResult.success(mkDistributionGroupService.updateById(group, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.czg.controller.user;
|
||||
import com.czg.account.entity.UserInfo;
|
||||
import com.czg.market.dto.MkDistributionUserDTO;
|
||||
import com.czg.market.dto.MkDistributionWithdrawFlowDTO;
|
||||
import com.czg.market.entity.MkDistributionUser;
|
||||
import com.czg.market.entity.MkDistributionWithdrawFlow;
|
||||
import com.czg.market.service.MkDistributionConfigService;
|
||||
import com.czg.market.service.MkDistributionFlowService;
|
||||
@@ -16,7 +17,7 @@ import com.czg.sa.StpKit;
|
||||
import com.czg.task.DistributionTask;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import io.seata.core.exception.TransactionException;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -25,7 +26,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 分销相关
|
||||
* 全民股东相关
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
@@ -59,7 +60,7 @@ public class UDistributionController {
|
||||
|
||||
|
||||
/**
|
||||
* 分销员中心-获取配置
|
||||
* 全民股东=-获取配置
|
||||
*/
|
||||
@GetMapping("/getConfig")
|
||||
public CzgResult<MkDistributionConfigVO> getConfig(@RequestParam Long shopId) {
|
||||
@@ -67,7 +68,7 @@ public class UDistributionController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销员中心-首页
|
||||
* 全民股东-首页
|
||||
*/
|
||||
@PostMapping("/centerUser")
|
||||
public CzgResult<Map<String, Object>> centerUser() {
|
||||
@@ -75,7 +76,7 @@ public class UDistributionController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销员中心-已开通的店铺
|
||||
* 全民股东界-已开通的店铺
|
||||
*/
|
||||
@GetMapping("/centerUser/activates")
|
||||
public CzgResult<Page<DistributionCenterShopVO>> activates(@RequestParam(required = false, defaultValue = "1") Integer page, @RequestParam(required = false, defaultValue = "10") Integer size) {
|
||||
@@ -83,7 +84,7 @@ public class UDistributionController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销员中心-未开通的店铺
|
||||
* 全民股东-未开通的店铺
|
||||
*/
|
||||
@GetMapping("/centerUser/unActivates")
|
||||
public CzgResult<Page<DistributionCenterShopVO>> unActivates(@RequestParam(required = false, defaultValue = "1") Integer page, @RequestParam(required = false, defaultValue = "10") Integer size) {
|
||||
@@ -91,7 +92,7 @@ public class UDistributionController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销员中心-配置信息
|
||||
* 全民股东-配置信息
|
||||
*/
|
||||
@GetMapping("/centerConfig")
|
||||
public CzgResult<Map<String, Object>> centerConfig(@RequestParam Long shopId) {
|
||||
@@ -99,7 +100,18 @@ public class UDistributionController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销员中心-获取邀请码
|
||||
* 全民股东界面-进入过标识
|
||||
*/
|
||||
@GetMapping("/editIn")
|
||||
public CzgResult<Boolean> editIn(@RequestParam Long shopUserId) {
|
||||
MkDistributionUser distributionUser = new MkDistributionUser();
|
||||
distributionUser.setFirstIn(1);
|
||||
distributionUserService.update(distributionUser, QueryWrapper.create().eq(MkDistributionUser::getId, shopUserId));
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 全民股东-获取邀请码
|
||||
*/
|
||||
@GetMapping("/getInviteCode")
|
||||
public CzgResult<String> getInviteCode(@RequestParam Long shopId, @RequestParam Long shopUserId) {
|
||||
@@ -108,7 +120,7 @@ public class UDistributionController {
|
||||
|
||||
|
||||
/**
|
||||
* 分销员中心-实名认证
|
||||
* 全民股东-实名认证
|
||||
*/
|
||||
@PostMapping("/realNameAuth")
|
||||
public CzgResult<Map<String, Object>> realNameAuth(@RequestBody UserInfo userInfo) {
|
||||
@@ -120,7 +132,7 @@ public class UDistributionController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销员中心-绑定邀请人
|
||||
* 全民股东-绑定邀请人
|
||||
*/
|
||||
@PostMapping("/bindInviteUser")
|
||||
public CzgResult<Map<String, Object>> bindInviteUser(@RequestBody MkDistributionUserDTO param) {
|
||||
@@ -132,7 +144,7 @@ public class UDistributionController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销员:获取邀请人分页列表
|
||||
* 全民股东:获取邀请人分页列表
|
||||
*/
|
||||
@GetMapping("/inviteUser")
|
||||
public CzgResult<Page<InviteUserVO>> getInviteUser(
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.czg.controller.admin;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.czg.account.entity.ShopInfo;
|
||||
import com.czg.account.service.ShopInfoService;
|
||||
import com.czg.config.RabbitPublisher;
|
||||
@@ -30,6 +31,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
@@ -66,9 +68,16 @@ public class ProductController {
|
||||
@GetMapping("page")
|
||||
@OperationLog("商品-分页")
|
||||
//@SaAdminCheckPermission("product:page")
|
||||
public CzgResult<Page<ProductDTO>> getProductPage(ProductDTO param) {
|
||||
public CzgResult<Map<String, Object>> getProductPage(ProductDTO param) {
|
||||
Page<ProductDTO> data = productService.getProductPage(param);
|
||||
return CzgResult.success(data);
|
||||
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(data), Map.class);
|
||||
if(data.getRecords() != null){
|
||||
ProductDTO first = data.getRecords().getFirst();
|
||||
map.put("warnLine", first.getWarnLine());
|
||||
}else {
|
||||
map.put("warnLine", 0);
|
||||
}
|
||||
return CzgResult.success(map);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,7 +120,7 @@ public class ProductController {
|
||||
for (ProdSkuDTO prodSkuDTO : dto.getSkuList()) {
|
||||
ValidatorUtil.validateEntity(prodSkuDTO, DefaultGroup.class);
|
||||
}
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
dto.setShopId(shopId);
|
||||
productService.addProduct(dto);
|
||||
asyncProductToShop(dto.getId());
|
||||
@@ -140,7 +149,7 @@ public class ProductController {
|
||||
if (dto.getStockNumber() != null) {
|
||||
StpKit.USER.checkStaffPermission("yun_xu_xiu_gai_shang_pin_ku_cun");
|
||||
}
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
dto.setShopId(shopId);
|
||||
productService.updateProduct(dto);
|
||||
asyncProductToShop(dto.getId());
|
||||
@@ -155,7 +164,7 @@ public class ProductController {
|
||||
//@SaStaffCheckPermission("yun_xu_xiu_gai_shang_pin")
|
||||
public CzgResult<Void> updateProductStock(@RequestBody ProductModifyStockParam param) {
|
||||
ValidatorUtil.validateEntity(param, DefaultGroup.class);
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
param.setShopId(shopId);
|
||||
productService.updateProductStock(param);
|
||||
ThreadUtil.execAsync(() -> {
|
||||
@@ -176,7 +185,7 @@ public class ProductController {
|
||||
public CzgResult<Void> deleteProduct(@PathVariable("id") Long id) {
|
||||
//效验数据
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
productService.deleteProduct(shopId, id);
|
||||
asyncProductToShop(id);
|
||||
ThreadUtil.execAsync(() -> {
|
||||
@@ -193,7 +202,7 @@ public class ProductController {
|
||||
//@SaStaffCheckPermission("yun_xu_shang_xia_jia_shang_pin")
|
||||
//@SaAdminCheckPermission("product:on-off")
|
||||
public CzgResult<Void> onOffProduct(@RequestBody @Validated({DefaultGroup.class}) ProductIsSaleParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
param.setShopId(shopId);
|
||||
productService.onOffProduct(param);
|
||||
ThreadUtil.execAsync(() -> {
|
||||
@@ -210,7 +219,7 @@ public class ProductController {
|
||||
//@SaStaffCheckPermission("yun_xu_shou_qing_shang_pin")
|
||||
//@SaAdminCheckPermission("product:markIsSoldOut")
|
||||
public CzgResult<Void> markIsSoldOutProduct(@RequestBody @Validated({DefaultGroup.class}) ProductIsSoldOutParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
param.setShopId(shopId);
|
||||
productService.markProductIsSoldOut(param);
|
||||
ThreadUtil.execAsync(() -> {
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.czg.market.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 分销员管理群(全民股东管理) 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("mk_distribution_group")
|
||||
public class MkDistributionGroup implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 群二维码地址
|
||||
*/
|
||||
private String groupUrl;
|
||||
|
||||
/**
|
||||
* 模块标题 15字以内
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 模块内容 20字以内
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
private Integer isEnable;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.czg.market.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@@ -117,5 +116,9 @@ public class MkDistributionUser implements Serializable {
|
||||
* 邀请码
|
||||
*/
|
||||
private String inviteCode;
|
||||
/**
|
||||
* 是否第一次进入全民股东界面
|
||||
*/
|
||||
private Integer firstIn;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MkDistributionGroup;
|
||||
|
||||
/**
|
||||
* 分销员管理群(全民股东管理) 服务层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2026-01-28
|
||||
*/
|
||||
public interface MkDistributionGroupService extends IService<MkDistributionGroup> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.service.market.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.market.entity.MkDistributionGroup;
|
||||
|
||||
/**
|
||||
* 分销员管理群(全民股东管理) 映射层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2026-01-28
|
||||
*/
|
||||
public interface MkDistributionGroupMapper extends BaseMapper<MkDistributionGroup> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.czg.service.market.service.impl;
|
||||
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import com.czg.market.entity.MkDistributionGroup;
|
||||
import com.czg.market.service.MkDistributionGroupService;
|
||||
import com.czg.service.market.mapper.MkDistributionGroupMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 分销员管理群(全民股东管理) 服务层实现。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2026-01-28
|
||||
*/
|
||||
@Service
|
||||
public class MkDistributionGroupServiceImpl extends ServiceImpl<MkDistributionGroupMapper, MkDistributionGroup> implements MkDistributionGroupService{
|
||||
|
||||
}
|
||||
@@ -61,6 +61,8 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUserMapper, MkDistributionUser> implements MkDistributionUserService {
|
||||
|
||||
@Resource
|
||||
private MkDistributionGroupService mkDistributionGroupService;
|
||||
@Resource
|
||||
private MkDistributionConfigService mkDistributionConfigService;
|
||||
@Resource
|
||||
@@ -156,6 +158,9 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||
}
|
||||
MkDistributionUser mkDistributionUser = getMkDistributionUserByIdAndShopId(shopUser.getId(), shopId);
|
||||
MkDistributionConfigVO mkDistributionConfigVO = mkDistributionConfigService.detail(shopId);
|
||||
MkDistributionGroup group = mkDistributionGroupService.getById(shopId);
|
||||
result.put("config", mkDistributionConfigVO);
|
||||
result.put("group", group);
|
||||
if (mkDistributionUser != null) {
|
||||
Map<String, Object> distributionUser = new HashMap<>();
|
||||
distributionUser.put("distributionId", mkDistributionUser.getId());
|
||||
@@ -165,6 +170,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||
distributionUser.put("totalIncome", mkDistributionUser.getTotalIncome());
|
||||
distributionUser.put("pendingIncome", mkDistributionUser.getPendingIncome());
|
||||
distributionUser.put("isAssignLevel", mkDistributionUser.getIsAssignLevel());
|
||||
distributionUser.put("firstIn", mkDistributionUser.getFirstIn());
|
||||
|
||||
if (mkDistributionUser.getDistributionLevelId() != null) {
|
||||
List<MkDistributionLevelConfig> levelConfigList = mkDistributionConfigVO.getLevelConfigList();
|
||||
@@ -186,8 +192,6 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||
distributionUser.put("levelName", "无");
|
||||
}
|
||||
result.put("distributionUser", distributionUser);
|
||||
} else {
|
||||
result.put("config", mkDistributionConfigVO);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -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.MkDistributionGroupMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -668,7 +668,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
|
||||
|
||||
@Override
|
||||
public void stockWarning(Integer warnLine) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
UpdateChain.of(Product.class)
|
||||
.set(Product::getWarnLine, warnLine)
|
||||
.eq(Product::getShopId, shopId)
|
||||
@@ -678,7 +678,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void reportDamage(ProductReportDamageParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long shopId = StpKit.USER.getShopId();
|
||||
Long createUserId = StpKit.USER.getLoginIdAsLong();
|
||||
String createUserName = StpKit.USER.getAccount();
|
||||
Product product = mapper.selectOneById(param.getProductId());
|
||||
|
||||
Reference in New Issue
Block a user