From 6cd6ac74ea0356463ef03cf90aea2c55b0733e65 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 28 Jan 2026 10:54:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E9=94=80=E6=9B=B4=E5=90=8D=20?= =?UTF-8?q?=E5=85=A8=E6=B0=91=E8=82=A1=E4=B8=9C=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=85=A8=E6=B0=91=E8=82=A1=E4=B8=9C=E7=BE=A4=E8=81=8A=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/ADisGroupController.java | 47 +++++++++++++ .../user/UDistributionController.java | 34 +++++++--- .../controller/admin/ProductController.java | 25 ++++--- .../market/entity/MkDistributionGroup.java | 67 +++++++++++++++++++ .../czg/market/entity/MkDistributionUser.java | 5 +- .../service/MkDistributionGroupService.java | 14 ++++ .../mapper/MkDistributionGroupMapper.java | 14 ++++ .../impl/MkDistributionGroupServiceImpl.java | 18 +++++ .../impl/MkDistributionUserServiceImpl.java | 8 ++- .../mapper/MkDistributionGroupMapper.xml | 7 ++ .../service/impl/ProductServiceImpl.java | 4 +- 11 files changed, 219 insertions(+), 24 deletions(-) create mode 100644 cash-api/market-server/src/main/java/com/czg/controller/admin/ADisGroupController.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionGroup.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionGroupService.java create mode 100644 cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDistributionGroupMapper.java create mode 100644 cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionGroupServiceImpl.java create mode 100644 cash-service/market-service/src/main/resources/mapper/MkDistributionGroupMapper.xml diff --git a/cash-api/market-server/src/main/java/com/czg/controller/admin/ADisGroupController.java b/cash-api/market-server/src/main/java/com/czg/controller/admin/ADisGroupController.java new file mode 100644 index 000000000..212c6dcef --- /dev/null +++ b/cash-api/market-server/src/main/java/com/czg/controller/admin/ADisGroupController.java @@ -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 getShareBase() { + return CzgResult.success(mkDistributionGroupService.getById(StpKit.USER.getShopId())); + } + + /** + * 全民股东群聊:新增/修改 + */ + @PostMapping + @SaAdminCheckPermission(parentName = "全民股东群聊", value = "share:up", name = "全民股东群聊-新增/修改") + public CzgResult 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)); + } + } +} \ No newline at end of file diff --git a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java index 5c9d09df4..3294306ee 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java @@ -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 getConfig(@RequestParam Long shopId) { @@ -67,7 +68,7 @@ public class UDistributionController { } /** - * 分销员中心-首页 + * 全民股东-首页 */ @PostMapping("/centerUser") public CzgResult> centerUser() { @@ -75,7 +76,7 @@ public class UDistributionController { } /** - * 分销员中心-已开通的店铺 + * 全民股东界-已开通的店铺 */ @GetMapping("/centerUser/activates") public CzgResult> 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> 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> centerConfig(@RequestParam Long shopId) { @@ -99,7 +100,18 @@ public class UDistributionController { } /** - * 分销员中心-获取邀请码 + * 全民股东界面-进入过标识 + */ + @GetMapping("/editIn") + public CzgResult 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 getInviteCode(@RequestParam Long shopId, @RequestParam Long shopUserId) { @@ -108,7 +120,7 @@ public class UDistributionController { /** - * 分销员中心-实名认证 + * 全民股东-实名认证 */ @PostMapping("/realNameAuth") public CzgResult> realNameAuth(@RequestBody UserInfo userInfo) { @@ -120,7 +132,7 @@ public class UDistributionController { } /** - * 分销员中心-绑定邀请人 + * 全民股东-绑定邀请人 */ @PostMapping("/bindInviteUser") public CzgResult> bindInviteUser(@RequestBody MkDistributionUserDTO param) { @@ -132,7 +144,7 @@ public class UDistributionController { } /** - * 分销员:获取邀请人分页列表 + * 全民股东:获取邀请人分页列表 */ @GetMapping("/inviteUser") public CzgResult> getInviteUser( diff --git a/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java b/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java index 628edb9be..85bab5667 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java @@ -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> getProductPage(ProductDTO param) { + public CzgResult> getProductPage(ProductDTO param) { Page data = productService.getProductPage(param); - return CzgResult.success(data); + Map 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 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 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 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 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(() -> { diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionGroup.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionGroup.java new file mode 100644 index 000000000..226dab36d --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionGroup.java @@ -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; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java index c7950afca..f739c3d2a 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java @@ -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; } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionGroupService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionGroupService.java new file mode 100644 index 000000000..bbfdd0cd2 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionGroupService.java @@ -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 { + +} diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDistributionGroupMapper.java b/cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDistributionGroupMapper.java new file mode 100644 index 000000000..3461cb49e --- /dev/null +++ b/cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDistributionGroupMapper.java @@ -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 { + +} diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionGroupServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionGroupServiceImpl.java new file mode 100644 index 000000000..2143aa9c8 --- /dev/null +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionGroupServiceImpl.java @@ -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 implements MkDistributionGroupService{ + +} diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java index 7dfaef760..b9e2953fa 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java @@ -61,6 +61,8 @@ import java.util.stream.Collectors; @Service public class MkDistributionUserServiceImpl extends ServiceImpl implements MkDistributionUserService { + @Resource + private MkDistributionGroupService mkDistributionGroupService; @Resource private MkDistributionConfigService mkDistributionConfigService; @Resource @@ -156,6 +158,9 @@ public class MkDistributionUserServiceImpl extends ServiceImpl distributionUser = new HashMap<>(); distributionUser.put("distributionId", mkDistributionUser.getId()); @@ -165,6 +170,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl levelConfigList = mkDistributionConfigVO.getLevelConfigList(); @@ -186,8 +192,6 @@ public class MkDistributionUserServiceImpl extends ServiceImpl + + + + diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java index 751400229..3d85750b7 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java @@ -668,7 +668,7 @@ public class ProductServiceImpl extends ServiceImpl 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 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());