Jelajahi Sumber

小程序端用户积分功能

v-qinpengfei 5 tahun lalu
induk
melakukan
ac38104194

+ 30 - 0
src/main/java/com/poteviohealth/cgp/integration/controller/app/IntegrationAppController.java

@@ -0,0 +1,30 @@
+package com.poteviohealth.cgp.integration.controller.app;
+
+import com.poteviohealth.cgp.common.controller.BaseAppController;
+import com.poteviohealth.cgp.common.model.CommonPage;
+import com.poteviohealth.cgp.common.model.PageQuery;
+import com.poteviohealth.cgp.common.model.VaultsResponse;
+import com.poteviohealth.cgp.integration.model.outvo.app.IntegrationDetailOutDTO;
+import com.poteviohealth.cgp.integration.service.IIntegralDetailService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/integration/app/")
+@Api(value = "IntegrationAppController", tags = "小程序-积分", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+public class IntegrationAppController extends BaseAppController {
+
+    @Autowired
+    private IIntegralDetailService iIntegralDetailService;
+
+    @ApiOperation(value="列表查询")
+    @RequestMapping(value = "/list",method = RequestMethod.POST)
+    @ResponseBody
+    public VaultsResponse<CommonPage<IntegrationDetailOutDTO>> listForCustomer(@RequestBody PageQuery pageQuery){
+        return iIntegralDetailService.selectPage(pageQuery);
+    }
+
+}

+ 19 - 1
src/main/java/com/poteviohealth/cgp/integration/mapstruct/IntegralConverter.java

@@ -1,11 +1,14 @@
 package com.poteviohealth.cgp.integration.mapstruct;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.poteviohealth.cgp.common.integrated.customer.model.CustomerIntegration;
 import com.poteviohealth.cgp.common.model.CommonPage;
 import com.poteviohealth.cgp.integration.model.IntegralDetail;
+import com.poteviohealth.cgp.integration.model.outvo.app.IntegrationDetailOutDTO;
 import com.poteviohealth.cgp.integration.model.outvo.web.IntegralDetailWebOutDTO;
+import org.apache.commons.lang.StringUtils;
 import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
 import org.mapstruct.factory.Mappers;
 
 import java.util.List;
@@ -39,6 +42,21 @@ public interface IntegralConverter {
      **/
     CommonPage<IntegralDetailWebOutDTO> model2WebDTO(CommonPage<IntegralDetail> integralDetailIPage);
 
+    @Mappings({
+            @Mapping(source = "sn", target = "content")
+    })
+    IntegrationDetailOutDTO model2AppDTO(IntegralDetail integralDetail);
+
+    default String setContent(String sn){
+        if(StringUtils.isBlank(sn)){
+            return "账户调整";
+        }else{
+            return "订单号:"+sn;
+        }
+    }
+
+    CommonPage<IntegrationDetailOutDTO> model2AppDTO(CommonPage<IntegralDetail> integralDetailIPage);
+
     IntegralDetail model2FeginDTO(CustomerIntegration customerIntegration);
     List<IntegralDetail> model2FeginDTO(List<CustomerIntegration> customerIntegration);
 }

+ 25 - 0
src/main/java/com/poteviohealth/cgp/integration/model/outvo/app/IntegrationDetailOutDTO.java

@@ -0,0 +1,25 @@
+package com.poteviohealth.cgp.integration.model.outvo.app;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "积分详情app输出")
+public class IntegrationDetailOutDTO {
+
+  /**
+   * 创建时间
+   */
+  private Date createdDate;
+
+  /**
+   * 显示内容
+   */
+  private String content;
+  /**
+   * 积分
+   */
+  private Long integral;
+}

+ 10 - 0
src/main/java/com/poteviohealth/cgp/integration/service/IIntegralDetailService.java

@@ -2,10 +2,12 @@ package com.poteviohealth.cgp.integration.service;
 
 import com.poteviohealth.cgp.common.integrated.customer.model.CustomerIntegration;
 import com.poteviohealth.cgp.common.model.CommonPage;
+import com.poteviohealth.cgp.common.model.PageQuery;
 import com.poteviohealth.cgp.common.model.VaultsResponse;
 import com.poteviohealth.cgp.common.service.IBaseService;
 import com.poteviohealth.cgp.integration.model.IntegralDetail;
 import com.poteviohealth.cgp.integration.model.invo.web.IntegralDetailWebInDTO;
+import com.poteviohealth.cgp.integration.model.outvo.app.IntegrationDetailOutDTO;
 import com.poteviohealth.cgp.integration.model.outvo.web.IntegralDetailWebOutDTO;
 
 import java.sql.Connection;
@@ -31,5 +33,13 @@ public interface IIntegralDetailService extends IBaseService<IntegralDetail> {
      **/
     VaultsResponse<CommonPage<IntegralDetailWebOutDTO>> selectPage(IntegralDetailWebInDTO integralDetailWebInDTO);
 
+    /**
+     * app查询分页
+     * @param  pageQuery app入参
+     * @return VaultsResponse<CommonPage<IntegrationDeailOutDTO>>
+     **/
+    VaultsResponse<CommonPage<IntegrationDetailOutDTO>> selectPage(PageQuery pageQuery);
+
+
     VaultsResponse saveDetail(List<CustomerIntegration> customerIntegration);
 }

+ 12 - 0
src/main/java/com/poteviohealth/cgp/integration/service/impl/IntegralDetailServiceImpl.java

@@ -8,6 +8,7 @@ import com.poteviohealth.cgp.common.filter.MiniJwtVO;
 import com.poteviohealth.cgp.common.filter.TokenContext;
 import com.poteviohealth.cgp.common.integrated.customer.model.CustomerIntegration;
 import com.poteviohealth.cgp.common.model.CommonPage;
+import com.poteviohealth.cgp.common.model.PageQuery;
 import com.poteviohealth.cgp.common.model.VaultsResponse;
 import com.poteviohealth.cgp.common.service.impl.BaseServiceImpl;
 import com.poteviohealth.cgp.common.utils.CgpTool;
@@ -15,6 +16,7 @@ import com.poteviohealth.cgp.integration.mapper.IntegralDetailMapper;
 import com.poteviohealth.cgp.integration.mapstruct.IntegralConverter;
 import com.poteviohealth.cgp.integration.model.IntegralDetail;
 import com.poteviohealth.cgp.integration.model.invo.web.IntegralDetailWebInDTO;
+import com.poteviohealth.cgp.integration.model.outvo.app.IntegrationDetailOutDTO;
 import com.poteviohealth.cgp.integration.model.outvo.web.IntegralDetailWebOutDTO;
 import com.poteviohealth.cgp.integration.service.IIntegralDetailService;
 import lombok.extern.log4j.Log4j2;
@@ -107,6 +109,16 @@ public class IntegralDetailServiceImpl extends BaseServiceImpl<IntegralDetailMap
         return VaultsResponse.success(IntegralConverter.INSTANCE.model2WebDTO(pageOrder));
     }
 
+    @Override
+    public VaultsResponse<CommonPage<IntegrationDetailOutDTO>> selectPage(PageQuery pageQuery) {
+        IntegralDetailWebInDTO integralDetailWebInDTO = new IntegralDetailWebInDTO();
+        integralDetailWebInDTO.setCustomerId(TokenContext.cureMiniUser().getCustomerId());
+        integralDetailWebInDTO.setPageSize(pageQuery.getPageSize());
+        integralDetailWebInDTO.setPageNum(pageQuery.getPageNum());
+        CommonPage<IntegralDetail> pageOrder = selectOrderIPage(integralDetailWebInDTO);
+        return VaultsResponse.success(IntegralConverter.INSTANCE.model2AppDTO(pageOrder));
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public VaultsResponse saveDetail(List<CustomerIntegration> customerIntegration) {