2 Commity 96b4fa4b94 ... f2cdfccf3b

Autor SHA1 Wiadomość Data
  ‘linchangsheng’ f2cdfccf3b Merge remote-tracking branch 'origin/master' 5 dni temu
  ‘linchangsheng’ 378f151824 需求 5 dni temu

+ 25 - 0
src/main/java/com/gree/mall/contest/bean/admin/reqDto/AdminCompanyWechatTemplateUpdateReqDto.java

@@ -0,0 +1,25 @@
+package com.gree.mall.contest.bean.admin.reqDto;
+
+
+import com.gree.mall.contest.plus.entity.AdminCompanyWechatTemplate;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AdminCompanyWechatTemplateUpdateReqDto {
+
+     @Schema(description = "企业的微信配置id")
+    private String companyWechatId;
+     @Schema(description ="使用小程序模板:  1=模板1 2=模板2 ")
+    private Integer useTemplate;
+     @Schema(description = "主log")
+    private String mainLog;
+     @Schema(description ="通用loc")
+    private String commonLog;
+     @Schema(description ="头像log")
+    private String minLogo;
+     @Schema(description ="模板信息")
+    List<AdminCompanyWechatTemplate> companyWechatTemplatesList;
+}

+ 46 - 0
src/main/java/com/gree/mall/contest/bean/goods/GoodsShareVO.java

@@ -0,0 +1,46 @@
+package com.gree.mall.contest.bean.goods;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.gree.mall.contest.annotation.ZfireField;
+import com.gree.mall.contest.plus.entity.GoodsShare;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+@Data
+public class GoodsShareVO {
+
+    @Schema(description = "")
+    @TableId(value = "goods_share_id", type = IdType.ASSIGN_ID)
+    @ZfireField(hide = true)
+    private String goodsShareId;
+    @Schema(description = "图片")
+    @TableField(value = "img")
+    private String img;
+    @Schema(description = "图片名称")
+    @TableField(value = "name")
+    private String name;
+    @Schema(description = "显示日期开始")
+    @TableField(value = "start_time")
+    private Date startTime;
+    @Schema(description = "结束日期")
+    @TableField(value = "end_time")
+    private Date endTime;
+    @Schema(description = "创建时间")
+    @TableField(value = "create_time")
+    private Date createTime;
+    @Schema(description = "修改时间")
+    @TableField(value = "update_time")
+    private Date updateTime;
+    @Schema(description = "创建人")
+    @TableField(value = "create_by")
+    private String createBy;
+    @Schema(description = "修改人")
+    @TableField(value = "update_by")
+    private String updateBy;
+
+}

+ 61 - 0
src/main/java/com/gree/mall/contest/controller/pc/admin/AdminCompanyWechatTemplateController.java

@@ -0,0 +1,61 @@
+package com.gree.mall.contest.controller.pc.admin;
+
+
+import com.gree.mall.contest.bean.admin.reqDto.AdminCompanyWechatTemplateUpdateReqDto;
+import com.gree.mall.contest.helper.ResponseHelper;
+import com.gree.mall.contest.logic.admin.AdminCompanyWechatTemplateLogic;
+import com.gree.mall.contest.plus.entity.AdminCompanyWechatTemplate;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@RestController
+@Tag(name = "小程序模板", description ="小程序模板" )
+@RequestMapping(value = "/admin/company/template", produces = "application/json; charset=utf-8")
+public class AdminCompanyWechatTemplateController {
+
+    @Autowired
+    private AdminCompanyWechatTemplateLogic adminCompanyWechatTemplateLogic;
+
+
+
+    @GetMapping("/detail")
+    @Operation(summary = "获取企业下模板")
+    public ResponseHelper<List<AdminCompanyWechatTemplate>> getTemplate() {
+
+
+        return ResponseHelper.success(adminCompanyWechatTemplateLogic.getTemplate());
+    }
+
+
+    @PostMapping("/updateTemplate")
+    @Operation(summary = "更改模板信息")
+    public ResponseHelper updateTemplate(HttpServletRequest request,@RequestBody AdminCompanyWechatTemplate adminCompanyWechatTemplate) {
+        adminCompanyWechatTemplateLogic.updateTemplate(request, adminCompanyWechatTemplate);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/updateCompanyWithTemplate")
+    @Operation(summary = "更改企业信息和模板信息")
+    public ResponseHelper updateCompanyWithTemplate(@RequestBody AdminCompanyWechatTemplateUpdateReqDto reqDto) {
+        adminCompanyWechatTemplateLogic.updateCompanyWithTemplate(reqDto);
+        return ResponseHelper.success();
+    }
+
+
+    @PostMapping("/initCompanyWechatTemplate")
+    @Operation(summary = "初始化企业微信模板")
+    public ResponseHelper initCompanyWechatTemplate(
+            @Parameter(required = true,description = "企业微信id")@RequestParam String companyWechatId,
+            @Parameter(required = true,description = "企业名称")@RequestParam String companyName
+    ) {
+
+        adminCompanyWechatTemplateLogic.initCompanyWechatTemplate(companyWechatId, companyName);
+        return ResponseHelper.success();
+    }
+}

+ 93 - 0
src/main/java/com/gree/mall/contest/controller/pc/goods/GoodsShareController.java

@@ -0,0 +1,93 @@
+package com.gree.mall.contest.controller.pc.goods;
+
+import cn.hutool.core.lang.TypeReference;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.contest.annotation.ZfireList;
+import com.gree.mall.contest.bean.goods.GoodsCategoryBean;
+import com.gree.mall.contest.bean.goods.GoodsShareVO;
+import com.gree.mall.contest.bean.goods.GoodsVO;
+import com.gree.mall.contest.bean.zfire.ZfireParamBean;
+import com.gree.mall.contest.exception.RemoteServiceException;
+import com.gree.mall.contest.helper.ResponseHelper;
+import com.gree.mall.contest.logic.goods.GoodsCategoryLogic;
+import com.gree.mall.contest.logic.goods.GoodsLogic;
+import com.gree.mall.contest.plus.entity.GoodsCategory;
+import com.gree.mall.contest.utils.zfire.FieldUtils;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+@Slf4j
+@RestController
+@Tag(name = "分享图片管理API", description = "分享图片管理API")
+@RequestMapping(value = "/pc/goods/share", produces = "application/json; charset=utf-8")
+@RequiredArgsConstructor
+public class GoodsShareController {
+
+    private final GoodsLogic goodsLogic;
+
+    @ZfireList
+    @PostMapping("/list")
+    @Operation(summary = "分享图片列表V2")
+    public ResponseHelper<IPage<GoodsShareVO>> list(
+            @RequestBody ZfireParamBean zfireParamBean
+    ) throws RemoteServiceException {
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
+        IPage<GoodsShareVO> adminDeptVOIPage = goodsLogic.goodsSharePage(new Page(zfireParam.getPageNum(), zfireParam.getPageSize()), zfireParam);
+        return ResponseHelper.success(adminDeptVOIPage, new TypeReference<GoodsShareVO>() {});
+    }
+
+    @PostMapping("/list/export")
+    @Operation(summary = "分享图片列表V2导出")
+    public void listExport(
+            @RequestBody ZfireParamBean zfireParamBean,
+            HttpServletRequest request,
+            HttpServletResponse response
+    ) throws Exception {
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
+        IPage<GoodsShareVO> adminDeptVOIPage = goodsLogic.goodsSharePage(new Page(zfireParam.getPageNum(), zfireParam.getPageSize()), zfireParam);
+        //3.导出
+        FieldUtils.exportData(adminDeptVOIPage.getRecords(), zfireParam.getExportFields(), request, response);
+    }
+   /* @PostMapping("/add")
+    @Operation(summary = "新增分类")
+    public ResponseHelper add(
+            @Parameter(description = "object",required = true) @RequestBody GoodsCategoryBean goodsCategoryBean,HttpServletRequest request) {
+        goodsCategoryLogic.add(goodsCategoryBean,request);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/update")
+    @Operation(summary = "修改分类")
+    public ResponseHelper update(
+            @Parameter(description = "object",required = true) @RequestBody GoodsCategory goodsCategory) {
+        goodsCategoryLogic.update(goodsCategory);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/delete")
+    @Operation(summary = "删除分类")
+    public ResponseHelper delete(
+            @Parameter(description = "分类id",required = true) @RequestParam String categoryId
+    ) {
+        goodsCategoryLogic.delete(categoryId);
+        return ResponseHelper.success();
+    }
+
+    @GetMapping("/detail")
+    @Operation(summary = "详情")
+    public ResponseHelper<GoodsCategory> detail(
+            @Parameter(description = "分类id",required = true) @RequestParam String categoryId
+    ){
+        GoodsCategory detail = goodsCategoryLogic.detail(categoryId);
+        return ResponseHelper.success(detail);
+    }*/
+}

+ 2 - 6
src/main/java/com/gree/mall/contest/logic/admin/AdminCompanyWechatOtherLogic.java

@@ -24,14 +24,10 @@ public class AdminCompanyWechatOtherLogic {
      * 获取小程序配置信息
      */
     public AdminCompanyWechatOther getOne(HttpServletRequest request) {
-        AdminUserCom adminUser = commonLogic.getAdminUser(request);
-        String loginCompanyWechatId = adminUser.getLoginCompanyWechatId();
-        if (StringUtils.isEmpty(loginCompanyWechatId)) {
-            return null;
-        }
+
 
         return adminCompanyWechatOtherService.lambdaQuery()
-                .eq(AdminCompanyWechatOther::getCompanyWechatId, loginCompanyWechatId)
+                .last("limit 1")
                 .one();
     }
 

+ 129 - 0
src/main/java/com/gree/mall/contest/logic/admin/AdminCompanyWechatTemplateLogic.java

@@ -0,0 +1,129 @@
+package com.gree.mall.contest.logic.admin;
+
+import com.aliyuncs.utils.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+
+import com.gree.mall.contest.bean.admin.reqDto.AdminCompanyWechatTemplateUpdateReqDto;
+import com.gree.mall.contest.exception.RemoteServiceException;
+import com.gree.mall.contest.plus.entity.AdminCompanyWechatTemplate;
+import com.gree.mall.contest.plus.service.AdminCompanyWechatTemplateService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Service
+public class AdminCompanyWechatTemplateLogic {
+
+
+    @Autowired
+    private AdminCompanyWechatTemplateService adminCompanyWechatTemplateService;
+
+    /**
+     * 获取企业下模板
+     */
+    public List<AdminCompanyWechatTemplate> getTemplate( ) {
+        return adminCompanyWechatTemplateService.lambdaQuery()
+                .list();
+    }
+
+
+    /**
+     * 更改模板信息
+     */
+    public void updateTemplate(HttpServletRequest request, AdminCompanyWechatTemplate adminCompanyWechatTemplate) {
+
+        if (StringUtils.isEmpty(adminCompanyWechatTemplate.getCompanyWechatTemplateId())) {
+            throw new RemoteServiceException("模板id不能为null");
+        }
+        adminCompanyWechatTemplate.setTemplateType(null);
+        adminCompanyWechatTemplateService.updateById(adminCompanyWechatTemplate);
+
+    }
+
+    /**
+     * 更改企业信息和模板信息
+     */
+    public void updateCompanyWithTemplate(AdminCompanyWechatTemplateUpdateReqDto reqDto){
+        final AdminCompanyWechatTemplate wechatTemplate = adminCompanyWechatTemplateService.lambdaQuery()
+                .last("limit 1")
+                .one();
+
+        adminCompanyWechatTemplateService.lambdaUpdate()
+                .set(AdminCompanyWechatTemplate::getMinLogo1, reqDto.getMainLog())
+                .set(AdminCompanyWechatTemplate::getMinLogo2, reqDto.getCommonLog())
+                .set(AdminCompanyWechatTemplate::getMinLogo3, reqDto.getMinLogo())
+                .eq(AdminCompanyWechatTemplate::getCompanyWechatTemplateId, wechatTemplate.getCompanyWechatTemplateId())
+                .update();
+
+//        AdminCompanyWechat adminCompanyWechat = new AdminCompanyWechat();
+//        adminCompanyWechat.setCompanyWechatId(reqDto.getCompanyWechatId());
+//        adminCompanyWechat.setUseTemplate(reqDto.getUseTemplate());
+//        adminCompanyWechat.setMinLogo1(reqDto.getMainLog());
+//        adminCompanyWechat.setMinLogo2(reqDto.getCommonLog());
+//        adminCompanyWechat.setMinLogo3(reqDto.getMinLogo());
+//        adminCompanyWechat.updateById();
+
+        List<AdminCompanyWechatTemplate> templateList = reqDto.getCompanyWechatTemplatesList();
+        if(CollectionUtils.isNotEmpty(templateList)){
+            for (AdminCompanyWechatTemplate template:templateList
+                 ) {
+                if(StringUtils.isEmpty(template.getCompanyWechatTemplateId())){
+                    throw new RemoteServiceException("小程序模板id不能为null");
+                }
+                template.setTemplateType(null);
+            }
+            adminCompanyWechatTemplateService.updateBatchById(templateList);
+        }
+
+    }
+
+
+    /**
+     * 添加商户时 初始化企业微信模板 添加新模板后需要手动跟新
+     */
+    public void initCompanyWechatTemplate(String companyWechatId, String companyName) {
+
+        //清除旧模板
+        adminCompanyWechatTemplateService.lambdaUpdate()
+                .eq(AdminCompanyWechatTemplate::getCompanyId, companyWechatId)
+                .remove();
+
+        List<AdminCompanyWechatTemplate> templateList = new ArrayList<>();
+
+        for (int i = 1; i <= 2; i++) {
+
+            AdminCompanyWechatTemplate data = new AdminCompanyWechatTemplate();
+            templateList.add(data);
+
+            data.setCompanyId(companyWechatId);
+            data.setCompanyName(companyName);
+            data.setTemplateType(i);
+
+            if(i==1){
+                data.setCategoryStatus(true);
+                data.setCarouseStatus(true);
+                data.setKillStatus(true);
+                data.setOkStatus(true);
+            }
+            if(i==2){
+                data.setPopupStatus(true);
+                data.setCarouseStatus(true);
+                data.setActive1Status(true);
+                data.setCategoryStatus(true);
+                data.setKillStatus(true);
+                data.setCouponStatus(true);
+                data.setNewsStatus(true);
+            }
+
+        }
+
+        adminCompanyWechatTemplateService.saveBatch(templateList);
+
+    }
+
+}

+ 4 - 0
src/main/java/com/gree/mall/contest/logic/goods/GoodsLogic.java

@@ -1565,4 +1565,8 @@ public class GoodsLogic {
         }
         return list;
     }
+
+    public IPage<GoodsShareVO> goodsSharePage(Page page, ZfireParamBean zfireParam) {
+        return null;
+    }
 }