From 2cc5f6295aeba326b82deaf5f8bded61b9e1ae16 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期日, 07 五月 2023 18:57:59 +0800
Subject: [PATCH] DEMO初步完成

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java             |   14 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java      |    8 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyPageDto.java                  |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysTagService.java             |    9 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java          |   14 +
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml                       |   15 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/business/MerConfigController.java  |   26 +++
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberTagVo.java                 |   21 ++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateListDto.java         |   21 ++
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberTagEditDto.java           |   26 +++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateEditDto.java         |   27 +++
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml                                  |   12 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java        |   22 ++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java                     |    1 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java    |   17 ++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java                       |    9 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java                  |    3 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java            |    5 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java    |   51 ++++++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java            |   12 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java        |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java  |   10 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java     |    7 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java  |   16 ++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/AppNearShopVo.java                      |   19 ++
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml                          |    3 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java |   34 ++++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerShopCertificateListVo.java           |   32 ++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteConfigService.java                  |    5 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml                   |    6 
 30 files changed, 439 insertions(+), 10 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteConfigService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteConfigService.java
index 4d04fac..ce07fd4 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteConfigService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteConfigService.java
@@ -10,6 +10,8 @@
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
+
 /**
  * @author jqs34
  * @version 1.0
@@ -22,4 +24,7 @@
 
     @PostMapping("/config/getSysTag")
     public R<SysTag> getSysTag(@RequestBody Long sysTagId);
+
+    @PostMapping("/config/listSysTag")
+    public R<List<SysTag>> listSysTag(@RequestBody Integer tagType);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java
index b5d2605..5703683 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java
@@ -11,6 +11,8 @@
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
+
 /**
  * 系统配置服务
  * 
@@ -27,10 +29,14 @@
         log.error("系统配置服务调用失败:{}", throwable.getMessage());
         return new RemoteConfigService()
         {
-
             @Override
             public R<SysTag> getSysTag(Long sysTagId) {
-                return R.fail("获取系统标签失败:" + throwable.getMessage());
+                return R.fail("获取标签失败:" + throwable.getMessage());
+            }
+
+            @Override
+            public R<List<SysTag>> listSysTag(Integer tagType) {
+                return R.fail("获取标签失败:" + throwable.getMessage());
             }
         };
     }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java
index 0bcf8a1..ed80863 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.member.domain.dto.MerCashMemberPageDto;
 import com.ruoyi.member.domain.dto.MerMemberPageDto;
+import com.ruoyi.member.domain.dto.MerMemberTagEditDto;
 import com.ruoyi.member.domain.vo.*;
 import com.ruoyi.member.service.member.MemberService;
 import com.ruoyi.system.api.domain.dto.MerBaseDto;
@@ -81,4 +82,19 @@
         return R.ok(merMemberBasicFileVo);
     }
 
+    @RequestMapping(value = "/getMerMemberTags", method = RequestMethod.POST)
+    @ApiOperation(value = "获取会员标签")
+    public R<List<MerMemberTagVo>> getMerMemberTags(@RequestBody MerBaseGetDto merBaseGetDto) {
+        Long userId = SecurityUtils.getUserId();
+        List<MerMemberTagVo> merMemberTagVoList = memberService.getMerMemberTags(Long.valueOf(merBaseGetDto.getId()));
+        return R.ok(merMemberTagVoList);
+    }
+
+    @RequestMapping(value = "/editMerMemberTags", method = RequestMethod.POST)
+    @ApiOperation(value = "编辑会员标签")
+    public R editMerMemberTags(@RequestBody MerMemberTagEditDto merMemberTagEditDto) {
+        Long userId = SecurityUtils.getUserId();
+        memberService.editMerMemberTags(merMemberTagEditDto);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberTagEditDto.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberTagEditDto.java
new file mode 100644
index 0000000..36b6fa9
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberTagEditDto.java
@@ -0,0 +1,26 @@
+package com.ruoyi.member.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerMemberTagEditDto
+ * @description: TODO
+ * @date 2023年05月07日
+ * @version: 1.0
+ */
+@Data
+public class MerMemberTagEditDto extends MerBaseDto {
+
+
+    @ApiModelProperty(name = "会员用户id")
+    private Long memberUserId;
+
+
+    @ApiModelProperty(name = "用户标签多个用,号隔开")
+    private String userTags;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberTagVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberTagVo.java
new file mode 100644
index 0000000..d585f6b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberTagVo.java
@@ -0,0 +1,21 @@
+package com.ruoyi.member.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerMemberTagVo
+ * @description: TODO
+ * @date 2023年05月07日
+ * @version: 1.0
+ */
+@Data
+public class MerMemberTagVo {
+
+    @ApiModelProperty(name="标签")
+    private String tagName;
+
+    @ApiModelProperty(name="选择标记0否1是")
+    private Integer selectFlag;
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index fe33958..91d33bc 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -14,12 +14,14 @@
 import com.ruoyi.member.domain.dto.AppUserAuthorizeDto;
 import com.ruoyi.member.domain.dto.MerCashMemberPageDto;
 import com.ruoyi.member.domain.dto.MerMemberPageDto;
+import com.ruoyi.member.domain.dto.MerMemberTagEditDto;
 import com.ruoyi.member.domain.pojo.member.MemberNurse;
 import com.ruoyi.member.domain.vo.*;
 import com.ruoyi.member.mapper.member.MemberMapper;
 import com.ruoyi.member.service.member.MemberNurseService;
 import com.ruoyi.member.service.member.MemberService;
 import com.ruoyi.member.util.HttpUtils;
+import com.ruoyi.system.api.RemoteConfigService;
 import com.ruoyi.system.api.RemoteOrderService;
 import com.ruoyi.system.api.RemoteShopService;
 import com.ruoyi.system.api.RemoteUserService;
@@ -27,6 +29,7 @@
 import com.ruoyi.system.api.constant.SecurityConstant;
 import com.ruoyi.system.api.domain.dto.AppEditUserDto;
 import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
+import com.ruoyi.system.api.domain.poji.config.SysTag;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
@@ -38,6 +41,7 @@
 import lombok.extern.log4j.Log4j2;
 import lombok.val;
 import com.ruoyi.common.core.utils.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpGet;
@@ -89,6 +93,9 @@
 
     @Resource
     private MemberNurseService memberNurseService;
+
+    @Resource
+    private RemoteConfigService remoteConfigService;
 
     /**
      * @description: TODO
@@ -398,4 +405,48 @@
         merMemberBasicFileVo.setMemberNurse(valueList);
         return merMemberBasicFileVo;
     }
+
+    /**
+     *
+     * @param userId
+     * @return
+     */
+    @Override
+    public List<MerMemberTagVo> getMerMemberTags(Long userId){
+        Member member = this.getByUserId(userId);
+        String userTags = member.getUserTags();
+        String[] userTagsArr = null;
+        if(StringUtils.isNotBlank(userTags)){
+            userTagsArr = userTags.split(",");
+        }
+        List<SysTag> sysTagsList = remoteConfigService.listSysTag(1).getData();
+        List<MerMemberTagVo> merMemberTagVoList = new ArrayList<>();
+        MerMemberTagVo merMemberTagVo;
+        String tagName;
+        if(sysTagsList!=null&&!sysTagsList.isEmpty()){
+            for(SysTag sysTag : sysTagsList){
+                merMemberTagVo = new MerMemberTagVo();
+                tagName = sysTag.getTagName();
+                merMemberTagVo.setTagName(tagName);
+                if(userTagsArr!=null &&  ArrayUtils.contains(userTagsArr, tagName)){
+                    merMemberTagVo.setSelectFlag(1);
+                }else{
+                    merMemberTagVo.setSelectFlag(0);
+                }
+                merMemberTagVoList.add(merMemberTagVo);
+            }
+        }
+        return merMemberTagVoList;
+    }
+
+    /**
+     *
+     * @param merMemberTagEditDto
+     */
+    @Override
+    public void editMerMemberTags(MerMemberTagEditDto merMemberTagEditDto){
+        Member member = this.getByUserId(merMemberTagEditDto.getMemberUserId());
+        member.setUserTags(merMemberTagEditDto.getUserTags());
+        this.saveOrUpdate(member);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
index b930730..3553f56 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.member.domain.dto.MerCashMemberPageDto;
 import com.ruoyi.member.domain.dto.MerMemberPageDto;
+import com.ruoyi.member.domain.dto.MerMemberTagEditDto;
 import com.ruoyi.member.domain.vo.*;
 import com.ruoyi.system.api.domain.dto.AppEditUserDto;
 import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
@@ -95,4 +96,17 @@
      * @return
      */
     MerMemberBasicFileVo getMerMemberBasicFile(Long userId);
+
+    /**
+     *
+     * @param userId
+     * @return
+     */
+    List<MerMemberTagVo> getMerMemberTags(Long userId);
+
+    /**
+     *
+     * @param merMemberTagEditDto
+     */
+    void editMerMemberTags(MerMemberTagEditDto merMemberTagEditDto);
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
index 6eb203e..b9dea8f 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.domain.dto.*;
+import com.ruoyi.order.domain.pojo.order.Order;
 import com.ruoyi.order.domain.vo.*;
 import com.ruoyi.order.service.order.OrderService;
 import com.ruoyi.system.api.RemoteMemberService;
@@ -122,7 +123,12 @@
     @ApiOperation(value = "支付订单(临时)")
     public R<AppPlaceOrderVo> placeOrder(@RequestBody AppBaseGetDto appBaseGetDto) {
         Long userId = SecurityUtils.getUserId();
-        AppPlaceOrderVo appPlaceOrderVo = null;
+        AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
+        Order order = orderService.getById(appBaseGetDto.getId());
+        appPlaceOrderVo.setOrderId(order.getOrderId());
+        appPlaceOrderVo.setOrderNo(order.getOrderNo());
+        appPlaceOrderVo.setPayMoney(order.getPayMoney());
+        appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
         return R.ok(appPlaceOrderVo);
     }
 
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java
index 09418b7..419e012 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java
@@ -25,6 +25,9 @@
     @ApiModelProperty(value = "支付金额")
     private BigDecimal payMoney;
 
+    @ApiModelProperty(value = "未支付金额")
+    private BigDecimal unpaidMoney;
+
     @ApiModelProperty(value = "支付截止时间")
     private String payDeadlineTime;
 
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 56b258d..fa69482 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -344,11 +344,13 @@
             order.setPayMoney(orderPayMoney);
             order.setOnlinePayMoney(orderPayMoney);
             appPlaceOrderVo.setPayMoney(orderPayMoney);
+            appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
             order.setCloseFlag(1);
         }else if(order.getPayType()==2){
             order.setPayMoney(orderPayDeposit);
             order.setOnlinePayMoney(orderPayDeposit);
             appPlaceOrderVo.setPayMoney(orderPayDeposit);
+            appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
             order.setCloseFlag(0);
         }
         order.setOrderRemark(appPlaceOrderDto.getOrderRemark());
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
index 8602c3e..2d5ff83 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
@@ -110,7 +110,8 @@
         tg.goods_name goodsName,
         tog.goods_type goodsType,
         tog.buy_num buyNum,
-        tgf.file_url goodsPrice,
+        tog.goods_price goodsPrice,
+        tgf.file_url goodsPicture,
         tog.goods_total_money goodsRealPrice,
         tog.cycle_num_flag cycleNumFlag,
         tog.service_num serviceNum
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
index 6c85745..314acf7 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -77,9 +77,9 @@
 
     <select id="pageUserServiceRecord" resultType="com.ruoyi.order.domain.vo.AppServiceRecordPageVo">
         SELECT
-        tcg.consumer_goods_names consumerGoodsNames,
-        tcg.service_type serviceType,
-        tcg.create_time createTime
+        tusr.consumer_goods_names consumerGoodsNames,
+        tusr.service_type serviceType,
+        tusr.create_time createTime
         FROM t_user_service_record tusr
         WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.userId} AND tusr.shop_id = #{param.shopId}
         <if test="param.goodsType != null">
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
index e0ef299..d7a5533 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
@@ -5,9 +5,13 @@
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.shop.domain.dto.MerAgencyPageDto;
 import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto;
+import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto;
+import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
 import com.ruoyi.shop.domain.vo.MerAgencyPageVo;
 import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo;
+import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
 import com.ruoyi.shop.domain.vo.MgtShopInfoVo;
+import com.ruoyi.shop.service.shop.ShopCertificateService;
 import com.ruoyi.shop.service.shop.ShopService;
 import com.ruoyi.system.api.domain.dto.MerBaseDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
@@ -38,6 +42,9 @@
     @Autowired
     private ShopService shopService;
 
+    @Autowired
+    private ShopCertificateService shopCertificateService;
+
     /**
      * 未完成实际统计
      * @param merBaseDto
@@ -63,4 +70,19 @@
         return R.ok(page.setRecords(merAgencyPageVoList));
     }
 
+    @RequestMapping(value = "/listShopCertificate", method = RequestMethod.POST)
+    @ApiOperation(value = "获取商户证书列表")
+    public R<List<MerShopCertificateListVo>> listShopCertificate(@RequestBody MerShopCertificateListDto merShopCertificateListDto) {
+        Long userId = SecurityUtils.getUserId();
+        List<MerShopCertificateListVo> merShopCertificateListVoList = shopCertificateService.listShopCertificateVo(merShopCertificateListDto);
+        return R.ok(merShopCertificateListVoList);
+    }
+
+    @RequestMapping(value = "/editShopCertificate", method = RequestMethod.POST)
+    @ApiOperation(value = "编辑商户证书")
+    public R editShopCertificate(@RequestBody MerShopCertificateEditDto merShopCertificateEditDto) {
+        Long userId = SecurityUtils.getUserId();
+        shopCertificateService.editShopCertificate(merShopCertificateEditDto);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyPageDto.java
index a81d7e2..051da52 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyPageDto.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyPageDto.java
@@ -14,7 +14,7 @@
 @Data
 public class MerAgencyPageDto extends MerPageDto {
 
-    @ApiModelProperty("商户id")
+    @ApiModelProperty(name = "商户id")
     private Long shopId;
 
     @ApiModelProperty(name = "搜索关键词")
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateEditDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateEditDto.java
new file mode 100644
index 0000000..f08060a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateEditDto.java
@@ -0,0 +1,27 @@
+package com.ruoyi.shop.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerShopCertificateDto
+ * @description: TODO
+ * @date 2023年05月07日
+ * @version: 1.0
+ */
+@Data
+public class MerShopCertificateEditDto {
+
+    @ApiModelProperty(name = "证书id 新增不传")
+    private Long cerId;
+
+    @ApiModelProperty(name = "证书名字")
+    private String cerName;
+
+    @ApiModelProperty(name = "证书编号")
+    private String cerNumber;
+
+    @ApiModelProperty(name = "证书图片")
+    private String cerPicture;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateListDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateListDto.java
new file mode 100644
index 0000000..a518bb5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerShopCertificateListDto.java
@@ -0,0 +1,21 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
+import com.ruoyi.system.api.domain.dto.MerPageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerShopCertificateListDto
+ * @description: TODO
+ * @date 2023年05月07日
+ * @version: 1.0
+ */
+@Data
+public class MerShopCertificateListDto extends MerBaseDto {
+
+
+    @ApiModelProperty(name = "状态1审核通过2审核中")
+    private Integer status;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/AppNearShopVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/AppNearShopVo.java
new file mode 100644
index 0000000..c9b1cae
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/AppNearShopVo.java
@@ -0,0 +1,19 @@
+package com.ruoyi.shop.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName AppNearShopVo
+ * @description: TODO
+ * @date 2023年05月07日
+ * @version: 1.0
+ */
+@Data
+public class AppNearShopVo {
+
+
+    private Long shopId;
+
+    private Float distance;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerShopCertificateListVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerShopCertificateListVo.java
new file mode 100644
index 0000000..caba266
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerShopCertificateListVo.java
@@ -0,0 +1,32 @@
+package com.ruoyi.shop.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerShopCertificateListVo
+ * @description: TODO
+ * @date 2023年05月07日
+ * @version: 1.0
+ */
+@Data
+public class MerShopCertificateListVo {
+
+
+    @ApiModelProperty(name = "证书id")
+    private Long cerId;
+
+    @ApiModelProperty(name = "证书名字")
+    private String cerName;
+
+    @ApiModelProperty(name = "证书编号")
+    private String cerNumber;
+
+    @ApiModelProperty(name = "证书图片")
+    private String cerPicture;
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java
index 8d4e2e6..22cf5d3 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java
@@ -1,7 +1,12 @@
 package com.ruoyi.shop.mapper.shop;
 
+import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
 import com.ruoyi.shop.domain.pojo.shop.ShopCertificate;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,11 @@
  */
 public interface ShopCertificateMapper extends BaseMapper<ShopCertificate> {
 
+
+    /**
+     *
+     * @param merShopCertificateListDto
+     * @return
+     */
+    List<MerShopCertificateListVo> listShopCertificateVo(@Param("param") MerShopCertificateListDto merShopCertificateListDto);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
index 6ab08ae..e22248c 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -1,7 +1,9 @@
 package com.ruoyi.shop.mapper.shop;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.shop.domain.dto.AppNearbyShopDto;
 import com.ruoyi.shop.domain.dto.MerAgencyPageDto;
+import com.ruoyi.shop.domain.vo.AppNearShopVo;
 import com.ruoyi.shop.domain.vo.MerAgencyPageVo;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.shop.domain.dto.MgtShopPageDto;
@@ -36,4 +38,11 @@
      * @return
      */
     List<MerAgencyPageVo> pageMerAgencyVo (Page page,  @Param("param")MerAgencyPageDto merAgencyPageDto);
+
+    /**
+     *
+     * @param appNearbyShopDto
+     * @return
+     */
+    AppNearShopVo getNearbyShop(@Param("param")AppNearbyShopDto appNearbyShopDto);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java
index f508b36..123639a 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java
@@ -2,12 +2,17 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.utils.bean.BeanUtils;
+import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto;
+import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
 import com.ruoyi.shop.domain.pojo.shop.ShopCertificate;
+import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
 import com.ruoyi.shop.mapper.shop.ShopCertificateMapper;
 import com.ruoyi.shop.service.shop.ShopCertificateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -21,6 +26,9 @@
 @Service
 public class ShopCertificateServiceImpl extends ServiceImpl<ShopCertificateMapper, ShopCertificate> implements ShopCertificateService {
 
+    @Resource
+    private ShopCertificateMapper shopCertificateMapper;
+
     /**
      * 通过商户id获取商户证书
      * @param shopId
@@ -33,4 +41,30 @@
         return this.list(queryWrapper);
     }
 
+    /**
+     *
+     * @param merShopCertificateListDto
+     * @return
+     */
+    @Override
+    public List<MerShopCertificateListVo> listShopCertificateVo(MerShopCertificateListDto merShopCertificateListDto){
+        List<MerShopCertificateListVo> merShopCertificateListVoList = shopCertificateMapper.listShopCertificateVo(merShopCertificateListDto);
+        return merShopCertificateListVoList;
+    }
+
+    /**
+     *
+     * @param merShopCertificateEditDto
+     */
+    @Override
+    public void editShopCertificate(MerShopCertificateEditDto merShopCertificateEditDto){
+        ShopCertificate shopCertificate = this.getById(merShopCertificateEditDto.getCerId());
+        if(shopCertificate==null){
+            shopCertificate = new ShopCertificate();
+        }
+        BeanUtils.copyProperties(merShopCertificateEditDto,shopCertificate);
+        shopCertificate.setCerStatus(0);
+        shopCertificate.setDelFlag(0);
+        this.saveOrUpdate(shopCertificate);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
index f8f38b5..c7d149e 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -339,7 +339,8 @@
             shop = this.getById(member.getRelationShopId());
         }else{
             //获取附近商户
-            shop = this.getById(1L);
+            AppNearShopVo appNearShopVo = shopMapper.getNearbyShop(appNearbyShopDto);
+            shop = this.getById(appNearShopVo.getShopId());
         }
         if(member.getBindingFlag()!=1){
             AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
@@ -394,4 +395,6 @@
         List<MerAgencyPageVo> merAgencyPageVoList = shopMapper.pageMerAgencyVo(page, merAgencyPageDto);
         return merAgencyPageVoList;
     }
+
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java
index 51bb83a..60bf00b 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java
@@ -1,7 +1,10 @@
 package com.ruoyi.shop.service.shop;
 
+import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto;
+import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
 import com.ruoyi.shop.domain.pojo.shop.ShopCertificate;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
 
 import java.util.List;
 
@@ -21,5 +24,16 @@
      */
     List<ShopCertificate> listShopCertificateByShopId(Long shopId);
 
+    /**
+     *
+     * @param merShopCertificateListDto
+     * @return
+     */
+    List<MerShopCertificateListVo> listShopCertificateVo(MerShopCertificateListDto merShopCertificateListDto);
 
+    /**
+     *
+     * @param merShopCertificateEditDto
+     */
+    void editShopCertificate(MerShopCertificateEditDto merShopCertificateEditDto);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
index f21791c..71e1296 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -91,5 +91,4 @@
     List<MerAgencyPageVo> pageMerAgencyVo (Page page, MerAgencyPageDto merAgencyPageDto);
 
 
-
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml
index 24d71c1..b948b86 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml
@@ -76,4 +76,19 @@
         </foreach>
     </delete>
 
+    <select id="listShopCertificateVo" resultType="com.ruoyi.shop.domain.vo.MerShopCertificateListVo">
+        SELECT
+        cer_id cerId,
+        cer_name cerName,
+        cer_number cerNumber,
+        cer_picture cerPicture
+        FROM t_shop_certificate
+        WHRER del_flag = 0 AND shop_id = #{param.shopId}
+        <if test="param.status != null and param.status == 1">
+            AND cer_status = 1
+        </if>
+        <if test="param.status != null and param.status == 2">
+            AND (cer_status = 0 OR  cer_status = 2)
+        </if>
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
index 15e885f..a6b635f 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -324,4 +324,16 @@
             OR ts.shopowner_phone LIKE CONCAT('%',#{param.keyword},'%'))
         </if>
     </select>
+
+    <select id="getNearbyShop"  resultType="com.ruoyi.shop.domain.vo.AppNearShopVo">
+        SELECT ts.shop_id shopId, ACOS(
+		COS(RADIANS(#{param.longitude})) *
+		COS(RADIANS(ts.shop_latitude)) *
+		COS(RADIANS(ts.shop_longitude) - RADIANS(#{param.latitude})) +
+		SIN(RADIANS(#{param.longitude})) *
+		SIN(RADIANS(ts.shop_latitude))
+	    ) * 6378 as distance
+        FROM t_shop ts
+        ORDER BY distance ASC LIMIT 1
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/business/MerConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/business/MerConfigController.java
new file mode 100644
index 0000000..3c86752
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/business/MerConfigController.java
@@ -0,0 +1,26 @@
+package com.ruoyi.system.controller.business;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.domain.dto.AppAgreementDto;
+import com.ruoyi.system.domain.vo.AppAgreementVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author jqs34
+ * @ClassName MerConfigController
+ * @description: TODO
+ * @date 2023年05月07日
+ * @version: 1.0
+ */
+@Api(value = "商户配置相关接口", tags = "商户配置相关接口", description = "商户配置相关接口")
+@RestController
+@RequestMapping("/mer/config")
+public class MerConfigController {
+    
+
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java
index 15243f1..047cfef 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java
@@ -8,6 +8,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @author jqs34
@@ -31,4 +32,10 @@
         return R.ok(sysTag);
     }
 
+    @PostMapping("/listSysTag")
+    public R<List<SysTag>> listSysTag(@RequestBody Integer tagType)
+    {
+        List<SysTag> sysTagList = sysTagService.listByType(tagType);
+        return R.ok(sysTagList);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysTagService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysTagService.java
index 50a845b..1099655 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysTagService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysTagService.java
@@ -3,6 +3,8 @@
 import com.ruoyi.system.api.domain.poji.config.SysTag;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 系统标签 服务类
@@ -19,4 +21,11 @@
      * @return
      */
     SysTag getByTagId(Long tagId);
+
+    /**
+     *
+     * @param tagType
+     * @return
+     */
+    List<SysTag> listByType(Integer tagType);
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java
index b146f5a..3054ef4 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java
@@ -1,10 +1,14 @@
 package com.ruoyi.system.service.impl.config;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.system.api.domain.poji.config.SysTag;
 import com.ruoyi.system.mapper.config.SysTagMapper;
 import com.ruoyi.system.service.config.SysTagService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * <p>
@@ -27,4 +31,17 @@
     public SysTag getByTagId(Long tagId){
         return this.getById(tagId);
     }
+
+    /**
+     *
+     * @param tagType
+     * @return
+     */
+    @Override
+    public List<SysTag> listByType(Integer tagType){
+        LambdaQueryWrapper<SysTag> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(SysTag::getDelFlag, 0).eq(SysTag::getTagType, 1);
+        List<SysTag> sysTagsList = this.list(queryWrapper);
+        return sysTagsList;
+    }
 }

--
Gitblit v1.7.1