Bladeren bron

营销:接入 APP 装修页面

owen 1 jaar geleden
bovenliggende
commit
d6b59743a3

+ 36 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/diy/AppDiyPageController.java

@@ -0,0 +1,36 @@
+package cn.iocoder.yudao.module.promotion.controller.app.diy;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.promotion.controller.app.diy.vo.AppDiyPagePropertyRespVO;
+import cn.iocoder.yudao.module.promotion.dal.dataobject.diy.DiyPageDO;
+import cn.iocoder.yudao.module.promotion.service.diy.DiyPageService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "用户 APP - 装修页面")
+@RestController
+@RequestMapping("/promotion/diy-page")
+@Validated
+public class AppDiyPageController {
+    @Resource
+    private DiyPageService diyPageService;
+
+    @GetMapping("/get")
+    @Operation(summary = "获得装修页面")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    public CommonResult<AppDiyPagePropertyRespVO> getDiyPage(@RequestParam("id") Long id) {
+        DiyPageDO diyPage = diyPageService.getDiyPage(id);
+        return success(BeanUtils.toBean(diyPage, AppDiyPagePropertyRespVO.class));
+    }
+
+}

+ 2 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/diy/vo/AppDiyPagePropertyRespVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.promotion.controller.app.diy.vo;
 
+import com.fasterxml.jackson.annotation.JsonRawValue;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.ToString;
@@ -16,6 +17,7 @@ public class AppDiyPagePropertyRespVO {
     private String name;
 
     @Schema(description = "页面属性", example = "[]")
+    @JsonRawValue
     private String property;
 
 }

+ 18 - 19
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/diy/DiyTemplateServiceImpl.java

@@ -11,11 +11,11 @@ import cn.iocoder.yudao.module.promotion.convert.diy.DiyPageConvert;
 import cn.iocoder.yudao.module.promotion.convert.diy.DiyTemplateConvert;
 import cn.iocoder.yudao.module.promotion.dal.dataobject.diy.DiyTemplateDO;
 import cn.iocoder.yudao.module.promotion.dal.mysql.diy.DiyTemplateMapper;
+import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 
-import jakarta.annotation.Resource;
 import java.time.LocalDateTime;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -36,7 +36,7 @@ public class DiyTemplateServiceImpl implements DiyTemplateService {
     @Resource
     private DiyPageService diyPageService;
 
-    // TODO @疯狂:事务;
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Long createDiyTemplate(DiyTemplateCreateReqVO createReqVO) {
         // 校验名称唯一
@@ -121,8 +121,8 @@ public class DiyTemplateServiceImpl implements DiyTemplateService {
         return diyTemplateMapper.selectPage(pageReqVO);
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
-    // TODO @疯狂:事务;
     public void useDiyTemplate(Long id) {
         // 校验存在
         validateDiyTemplateExists(id);
@@ -134,10 +134,23 @@ public class DiyTemplateServiceImpl implements DiyTemplateService {
             if (used.getId().equals(id)) {
                 return;
             }
-            this.updateUsed(used.getId(), false, null);
+            this.updateTemplateUsed(used.getId(), false, null);
         }
         // 更新为已使用
-        this.updateUsed(id, true, LocalDateTime.now());
+        this.updateTemplateUsed(id, true, LocalDateTime.now());
+    }
+
+    /**
+     * 更新模板是否使用
+     *
+     * @param id       模板编号
+     * @param used     是否使用
+     * @param usedTime 使用时间
+     */
+    private void updateTemplateUsed(Long id, Boolean used, LocalDateTime usedTime) {
+        DiyTemplateDO updateObj = new DiyTemplateDO().setId(id)
+                .setUsed(used).setUsedTime(usedTime);
+        diyTemplateMapper.updateById(updateObj);
     }
 
     @Override
@@ -155,18 +168,4 @@ public class DiyTemplateServiceImpl implements DiyTemplateService {
         return diyTemplateMapper.selectByUsed(true);
     }
 
-    // TODO @疯狂:挪到 useDiyTemplate 下面,改名 updateTemplateUsed 会不会好点哈;
-    /**
-     * 更新模板是否使用
-     *
-     * @param id       模板编号
-     * @param used     是否使用
-     * @param usedTime 使用时间
-     */
-    private void updateUsed(Long id, Boolean used, LocalDateTime usedTime) {
-        DiyTemplateDO updateObj = new DiyTemplateDO().setId(id)
-                .setUsed(used).setUsedTime(usedTime);
-        diyTemplateMapper.updateById(updateObj);
-    }
-
 }