From aa8f41d3b4fcc7aae0bd50fdea92b126f22485df Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期五, 05 五月 2023 18:34:54 +0800
Subject: [PATCH] 商户端主流程

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java              |   14 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                |   15 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java                     |    5 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml                        |   42 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerMemberNoClearOrderDto.java         |   21 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java          |    7 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java                  |   28 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerGoodsController.java      |    1 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/goods/GoodsMapper.xml                                |    6 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerNewOrderDto.java                   |   34 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java                   |    3 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml                             |   14 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java            |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsDto.java          |   25 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsListDto.java      |   22 
 ruoyi-modules/ruoyi-member/src/main/resources/logback.xml                                                |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java                    |   10 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java                            |  337 ++++++++++++++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java             |    5 
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java                                     |    6 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberNoClearOrderVo.java           |   42 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java             |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerCloseOrderDto.java                 |   27 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberInfoVo.java                 |   40 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/ActivityController.java       |    1 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCashMemberPageVo.java             |   26 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerGoodsPageDto.java                  |    3 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerCashMemberPageDto.java           |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java     |  112 ++++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java |   40 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsVo.java                |   25 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java         |  191 ++++++++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerConsumerGoodsDto.java              |   23 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java      |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java   |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyOrderVo.java                  |    4 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java            |    3 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java   |   52 ++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java      |   44 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java                |   10 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java          |   16 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java            |   45 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java          |    4 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java       |    4 
 44 files changed, 1,331 insertions(+), 38 deletions(-)

diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
index 6de0ec3..71d8f42 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -21,6 +21,8 @@
 import io.jsonwebtoken.Claims;
 import reactor.core.publisher.Mono;
 
+import javax.annotation.Resource;
+
 /**
  * 网关鉴权
  * 
@@ -35,7 +37,7 @@
     @Autowired
     private IgnoreWhiteProperties ignoreWhite;
 
-    @Autowired
+    @Resource
     private RedisService redisService;
 
 
@@ -46,12 +48,14 @@
         ServerHttpRequest.Builder mutate = request.mutate();
 
         String url = request.getURI().getPath();
+        log.info("url"+url);
         // 跳过不需要验证的路径
         if (StringUtils.matches(url, ignoreWhite.getWhites()))
         {
             return chain.filter(exchange);
         }
         String token = getToken(request);
+        log.info("token"+token);
         if (StringUtils.isEmpty(token))
         {
             return unauthorizedResponse(exchange, "令牌不能为空");
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 a08716e..17a4f67 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
@@ -3,8 +3,10 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
 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.vo.AppUserInfoVo;
+import com.ruoyi.member.domain.vo.MerCashMemberPageVo;
 import com.ruoyi.member.domain.vo.MerMemberInfoVo;
 import com.ruoyi.member.domain.vo.MerMemberPageVo;
 import com.ruoyi.member.service.member.MemberService;
@@ -34,6 +36,18 @@
     @Autowired
     private MemberService memberService;
 
+
+    @RequestMapping(value = "/pageMerCashMember", method = RequestMethod.POST)
+    @ApiOperation(value = "分页获取收银搜索会员列表")
+    public R<Page<MerCashMemberPageVo>> pageMerCashMember(@RequestBody MerCashMemberPageDto merCashMemberPageDto) {
+        Long userId = SecurityUtils.getUserId();
+        Page<MerCashMemberPageVo> page = new Page<>();
+        page.setSize(merCashMemberPageDto.getPageSize());
+        page.setCurrent(merCashMemberPageDto.getPageNum());
+        List<MerCashMemberPageVo> merCashMemberPageVos = memberService.pageMerCashMember(page,merCashMemberPageDto);
+        return R.ok(page.setRecords(merCashMemberPageVos));
+    }
+
     @RequestMapping(value = "/pageMerMember", method = RequestMethod.POST)
     @ApiOperation(value = "分页获取商户绑定会员列表")
     public R<Page<MerMemberPageVo>> pageMerMember(@RequestBody MerMemberPageDto merMemberPageDto) {
@@ -45,6 +59,12 @@
         return R.ok(page.setRecords(merMemberPageVoList));
     }
 
+
+
+    /**
+     * 未完成
+     * @return
+     */
     @RequestMapping(value = "/getMerMemberInfo", method = RequestMethod.POST)
     @ApiOperation(value = "获取会员信息")
     public R<MerMemberInfoVo> getMerMemberInfo() {
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
index 2065696..3626ab8 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -32,7 +32,7 @@
     * @author jqs34
     * @date: 2023/4/30 12:49
     */
-    @InnerAuth
+
     @GetMapping("/getMember")
     public R<Member> getMember(@RequestBody Long userId)
     {
@@ -63,6 +63,8 @@
     * @date 2023/5/3 1:45
     * @version 1.0
     */
+
+
     @PostMapping("/listVoUserCouponByUserId")
     public R<List<AppUserCouponVo>> listVoUserCouponByUserId(@RequestBody Long userId){
         List<AppUserCouponVo> appUserCouponVoList = userCouponService.listVoUserCouponByUserId(userId);
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java
index fe541b5..87c2364 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java
@@ -14,6 +14,9 @@
 @Data
 public class AppUserAuthorizeDto extends AppBaseDto {
 
+    @ApiModelProperty(value = "手机code")
+    private String mobileCode;
+
     @ApiModelProperty(value = "手机iv")
     private String phoneIv;
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerCashMemberPageDto.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerCashMemberPageDto.java
new file mode 100644
index 0000000..78b575a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerCashMemberPageDto.java
@@ -0,0 +1,20 @@
+package com.ruoyi.member.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerPageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerCashMemberPageDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerCashMemberPageDto extends MerPageDto {
+
+    @ApiModelProperty(value = "关键词")
+    private String keyword;
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java
index f1a42e2..36a441b 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java
@@ -20,6 +20,9 @@
     @ApiModelProperty(value = "用户id")
     private Long userId;
 
+    @ApiModelProperty(value = "关联id")
+    private Long relationShopId;
+
     @ApiModelProperty("会员编号")
     private String memberNo;
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCashMemberPageVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCashMemberPageVo.java
new file mode 100644
index 0000000..e093231
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCashMemberPageVo.java
@@ -0,0 +1,26 @@
+package com.ruoyi.member.domain.vo;
+
+import com.ruoyi.system.api.domain.dto.MerPageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerCashMemberPageDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerCashMemberPageVo extends MerPageDto {
+
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户名")
+    private String nickName;
+
+    @ApiModelProperty(value = "手机号")
+    private String mobile;
+
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberInfoVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberInfoVo.java
index 6a6a956..e43dc66 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberInfoVo.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberInfoVo.java
@@ -1,6 +1,10 @@
 package com.ruoyi.member.domain.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * @author jqs34
@@ -11,4 +15,40 @@
  */
 @Data
 public class MerMemberInfoVo {
+
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @ApiModelProperty(name = "用户名称")
+    private String nickName;
+
+    @ApiModelProperty(name = "手机号码")
+    private String phonenumber;
+
+    @ApiModelProperty("用户头像")
+    private String avatar;
+
+    @ApiModelProperty(value = "用户标签")
+    private String userTags;
+
+    @ApiModelProperty(value = "次数剩余")
+    private Integer surpNumber;
+
+    @ApiModelProperty(value = "消费次数")
+    private Integer userNumber;
+
+    @ApiModelProperty(value = "消费总额")
+    private BigDecimal payMoney;
+
+    @ApiModelProperty(value = "待支付金额")
+    private BigDecimal unpaidMoney;
+
+    @ApiModelProperty(value = "最近跟进任务")
+    private String lastTaskContent;
+
+    @ApiModelProperty(value = "最近跟进任务时间")
+    private Date lastTaskTime;
+
+    @ApiModelProperty(value = "下次跟进任务时间")
+    private Date nextTaskTime;
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
index e9a7055..d770f30 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 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.vo.MerCashMemberPageVo;
 import com.ruoyi.member.domain.vo.MerMemberPageVo;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import org.apache.ibatis.annotations.Param;
@@ -39,4 +41,12 @@
      * @return
      */
     List<MerMemberPageVo> pageMerMember(Page page,@Param("param")MerMemberPageDto merMemberPageDto);
+
+    /**
+     * 分页获取收银用户列表
+     * @param page
+     * @param merCashMemberPageDto
+     * @return
+     */
+    List<MerCashMemberPageVo> pageMerCashMember(Page page, MerCashMemberPageDto merCashMemberPageDto);
 }
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 2190d35..5ece8ef 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
@@ -3,19 +3,20 @@
 import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
 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.vo.AppUserAuthorizeVo;
-import com.ruoyi.member.domain.vo.AppUserInfoVo;
-import com.ruoyi.member.domain.vo.MerMemberInfoVo;
-import com.ruoyi.member.domain.vo.MerMemberPageVo;
+import com.ruoyi.member.domain.vo.*;
 import com.ruoyi.member.mapper.member.MemberMapper;
 import com.ruoyi.member.service.member.MemberService;
+import com.ruoyi.member.util.HttpUtils;
 import com.ruoyi.system.api.RemoteOrderService;
 import com.ruoyi.system.api.RemoteShopService;
 import com.ruoyi.system.api.RemoteUserService;
@@ -28,14 +29,20 @@
 import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
 import com.ruoyi.system.api.model.AppMiniLoginDto;
 import com.ruoyi.system.api.model.AppMiniLoginVo;
-import org.apache.commons.lang3.StringUtils;
+import lombok.extern.log4j.Log4j;
+import lombok.extern.log4j.Log4j2;
+import lombok.val;
+import com.ruoyi.common.core.utils.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.util.EntityUtils;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * <p>
@@ -46,7 +53,15 @@
  * @since 2023-04-25
  */
 @Service
+@Log4j2
 public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService {
+
+    private static final String ACCESS_TOKEN_HOST = "https://api.weixin.qq.com/cgi-bin/token";
+
+    private static final String WX_APPID = "wxb7f0ea286fc4e535";
+
+    private static final String WX_SECRET = "852a2512a6ab559cafc68bae5d4160ac";
+
 
     @Resource
     private RemoteUserService sysUserService;
@@ -115,6 +130,7 @@
                 String password = "hongruitang";
                 sysUser.setPassword(SecurityUtils.encryptPassword(password));
                 sysUser = sysUserService.registerUser(sysUser).getData();
+                log.info("sysUser1"+sysUser.toString());
                 member = new Member();
                 member.setUserId(sysUser.getUserId());
                 member.setDelFlag(0);
@@ -123,8 +139,13 @@
                 member.setMiniOpenid(openid);
                 member.setCreateTime(new Date());
                 this.save(member);
+
             }else{
-                sysUser = sysUserService.getSysUser(member.getUserId()).getData();
+                log.info("member2"+member.toString());
+                R<SysUser> sysUser1 = sysUserService.getSysUser(member.getUserId());
+                log.info("sysUser1"+ sysUser1.getCode() + " : " + sysUser1.getMsg());
+                sysUser = sysUser1.getData();
+                log.info("sysUser"+sysUser.toString());
             }
             appMiniLoginVo.setMiniOpenid(openid);
             appMiniLoginVo.setWxUnionid(unionid);
@@ -132,8 +153,10 @@
             appMiniLoginVo.setSessionKey(sessionKey);
             stringRedisTemplate.opsForValue().set(SecurityConstant.SESSION_KEY+openid,sessionKey);
         }else{
+            log.info("null");
             return null;
         }
+        log.info("appMiniLoginVo"+appMiniLoginVo.toString());
         return appMiniLoginVo;
     }
 
@@ -154,7 +177,7 @@
         String mobile = null;
         try {
             //解密微信加密用户信息和手机号
-            WxMaPhoneNumberInfo wxPhoneInfo;
+            /*WxMaPhoneNumberInfo wxPhoneInfo;
             if(StringUtils.isNotBlank(appUserAuthorizeDto.getPhoneEncryptedData())&&StringUtils.isNotBlank(appUserAuthorizeDto.getPhoneIv())){
                 wxPhoneInfo = wxMaService.getUserService().getPhoneNoInfo(sessionkey, appUserAuthorizeDto.getPhoneEncryptedData(), appUserAuthorizeDto.getPhoneIv());
             }else{
@@ -163,7 +186,31 @@
             if(StringUtils.isBlank(wxPhoneInfo.getPhoneNumber())){
                 throw new ServiceException(AppErrorConstant.AUTHORIZE_FAILED);
             }
-            mobile = wxPhoneInfo.getPhoneNumber();
+            mobile = wxPhoneInfo.getPhoneNumber();*/
+            String accessToken = stringRedisTemplate.opsForValue().get("wx_access_token");
+            if (StringUtils.isBlank(accessToken)) {
+                String responseAccessToken = getAccessTokenByWX();
+                JSONObject jsonAccessToken = JSONObject.parseObject(responseAccessToken);
+                accessToken = jsonAccessToken.getString("access_token");
+                String errmsg = jsonAccessToken.getString("errmsg");
+                Long expiresIn = jsonAccessToken.getLong("expires_in");
+                if (StringUtils.isBlank(accessToken)) {
+                    throw new ServiceException(errmsg);
+                } else {
+                    expiresIn = expiresIn - 100;
+                    stringRedisTemplate.opsForValue().set("wx_access_token", accessToken, expiresIn.intValue(), TimeUnit.SECONDS);
+                }
+            }
+            String responseUserPhoneNumber = getMobileByWX(accessToken, appUserAuthorizeDto.getMobileCode());
+            JSONObject jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber);
+            String errcode = jsonUserPhoneNumber.getString("errcode");
+            String errmsg = jsonUserPhoneNumber.getString("errmsg");
+            if (!errcode.equals("0")) {
+                throw new ServiceException(errmsg);
+            }
+            String phoneInfo = jsonUserPhoneNumber.getString("phone_info");
+            JSONObject jsonUserPhoneInfo = JSONObject.parseObject(phoneInfo);
+            mobile = jsonUserPhoneInfo.getString("purePhoneNumber");
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -182,6 +229,28 @@
         return appUserAuthorizeVo;
     }
 
+    public static String getAccessTokenByWX() throws Exception {
+        String host = ACCESS_TOKEN_HOST + "?appid=" + WX_APPID + "&secret=" + WX_SECRET + "&grant_type=client_credential";
+        Map<String, String> headers  = new HashMap<>(8);
+        HttpResponse response = HttpUtils.doGet(host, "", "GET", headers, null);
+        return EntityUtils.toString(response.getEntity());
+    }
+
+    public static String getMobileByWX(String accessToken,  String code) throws Exception {
+        String method = "POST";
+        Map<String, String> headers = new HashMap<>(16);
+        headers.put("Content-Type", "application/json");
+        headers.put("Accept", "application/json");
+        Map<String, String> querys = new HashMap<>(16);
+        Map<String, String> bodys = new HashMap<>(16);
+        querys.put("access_token", accessToken );
+        bodys.put("code", code);
+        String body = JSONObject.toJSONString(bodys);
+        String host = "https://api.weixin.qq.com/wxa/business/getuserphonenumber";
+        HttpResponse response = HttpUtils.doPost(host, "", "POST", headers, querys, body);
+        return EntityUtils.toString(response.getEntity());
+    }
+
     /**
      * 获取用户信息
      * @param userId
@@ -193,6 +262,7 @@
         SysUser sysUser = sysUserService.getSysUser(userId).getData();
         Member member = this.getByUserId(userId);
         appUserInfoVo.setUserId(userId);
+        appUserInfoVo.setRelationShopId(member.getRelationShopId());
         appUserInfoVo.setMemberNo(member.getMemberNo());
         appUserInfoVo.setNickName(sysUser.getNickName());
         appUserInfoVo.setPhonenumber(sysUser.getPhonenumber());
@@ -267,7 +337,27 @@
     @Override
     public MerMemberInfoVo getMerMemberInfo(Long userId){
         MerMemberInfoVo merMemberInfoVo = new MerMemberInfoVo();
+        SysUser sysUser = sysUserService.getSysUser(userId).getData();
+        Member member = this.getByUserId(userId);
+        merMemberInfoVo.setUserId(userId);
+        merMemberInfoVo.setNickName(sysUser.getNickName());
+        merMemberInfoVo.setPhonenumber(sysUser.getPhonenumber());
+        merMemberInfoVo.setAvatar(sysUser.getAvatar());
+        //未完成
+
         return merMemberInfoVo;
     }
 
+    /**
+     * 分页获取收银用户列表
+     * @param page
+     * @param merCashMemberPageDto
+     * @return
+     */
+    @Override
+    public List<MerCashMemberPageVo> pageMerCashMember(Page page, MerCashMemberPageDto merCashMemberPageDto){
+
+        List<MerCashMemberPageVo> merCashMemberPageVos = memberMapper.pageMerCashMember(page,merCashMemberPageDto);
+        return merCashMemberPageVos;
+    }
 }
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 64e3dd2..34c9290 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
@@ -1,11 +1,9 @@
 package com.ruoyi.member.service.member;
 
 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.vo.AppUserAuthorizeVo;
-import com.ruoyi.member.domain.vo.AppUserInfoVo;
-import com.ruoyi.member.domain.vo.MerMemberInfoVo;
-import com.ruoyi.member.domain.vo.MerMemberPageVo;
+import com.ruoyi.member.domain.vo.*;
 import com.ruoyi.system.api.domain.dto.AppEditUserDto;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.model.AppMiniLoginDto;
@@ -74,4 +72,12 @@
     * @version 1.0
     */
     MerMemberInfoVo getMerMemberInfo(Long userId);
+
+    /**
+     * 分页获取收银用户列表
+     * @param page
+     * @param merCashMemberPageDto
+     * @return
+     */
+    List<MerCashMemberPageVo> pageMerCashMember(Page page, MerCashMemberPageDto merCashMemberPageDto);
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java
new file mode 100644
index 0000000..4ad5625
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java
@@ -0,0 +1,337 @@
+package com.ruoyi.member.util;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.entity.ByteArrayEntity;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.message.BasicNameValuePair;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName HttpUtils
+ * @Description TODO
+ * @Author zhanglin
+ * @Date 2020/2/11 10:30
+ * @Version 1.0
+ **/
+public class HttpUtils {
+
+    public static void main(String[] args) {
+        BigDecimal payMoney = BigDecimal.valueOf(0.73);
+        System.out.println(BigDecimal.ZERO.compareTo(payMoney));
+    }
+
+
+    /**
+     * get
+     *
+     * @param host
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doGet(String host)throws Exception {
+        return doGet(host, "", "GET", null, null);
+    }
+
+    /**
+     * get
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doGet(String host, String path, String method, Map<String, String> headers, Map<String, String> querys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpGet request = new HttpGet(buildUrl(host, path, querys));
+        if(null != headers) {
+            for (Map.Entry<String, String> e : headers.entrySet()) {
+                request.addHeader(e.getKey(), e.getValue());
+            }
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * post form
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param bodys
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPost(String host, String path, String method,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      Map<String, String> bodys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (bodys != null) {
+            List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();
+
+            for (String key : bodys.keySet()) {
+                nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key)));
+            }
+            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8");
+            formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
+            request.setEntity(formEntity);
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Post String
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPost(String host, String path, String method,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      String body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (StringUtils.isNotBlank(body)) {
+            request.setEntity(new StringEntity(body, "utf-8"));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Post stream
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPost(String host, String path, String method,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      byte[] body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (body != null) {
+            request.setEntity(new ByteArrayEntity(body));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Put String
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPut(String host, String path, String method,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys,
+                                     String body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPut request = new HttpPut(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (StringUtils.isNotBlank(body)) {
+            request.setEntity(new StringEntity(body, "utf-8"));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Put stream
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPut(String host, String path, String method,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys,
+                                     byte[] body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPut request = new HttpPut(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (body != null) {
+            request.setEntity(new ByteArrayEntity(body));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Delete
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doDelete(String host, String path, String method,
+                                        Map<String, String> headers,
+                                        Map<String, String> querys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpDelete request = new HttpDelete(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        return httpClient.execute(request);
+    }
+
+    private static String buildUrl(String host, String path, Map<String, String> querys) throws UnsupportedEncodingException {
+        StringBuilder sbUrl = new StringBuilder();
+        sbUrl.append(host);
+        if (!StringUtils.isBlank(path)) {
+            sbUrl.append(path);
+        }
+        if (null != querys) {
+            StringBuilder sbQuery = new StringBuilder();
+            for (Map.Entry<String, String> query : querys.entrySet()) {
+                if (0 < sbQuery.length()) {
+                    sbQuery.append("&");
+                }
+                if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) {
+                    sbQuery.append(query.getValue());
+                }
+                if (!StringUtils.isBlank(query.getKey())) {
+                    sbQuery.append(query.getKey());
+                    if (!StringUtils.isBlank(query.getValue())) {
+                        sbQuery.append("=");
+                        sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8"));
+                    }
+                }
+            }
+            if (0 < sbQuery.length()) {
+                sbUrl.append("?").append(sbQuery);
+            }
+        }
+
+        return sbUrl.toString();
+    }
+
+    private static HttpClient wrapClient(String host) {
+        HttpClient httpClient = new DefaultHttpClient();
+        if (host.startsWith("https://")) {
+            sslClient(httpClient);
+        }
+
+        return httpClient;
+    }
+
+    private static void sslClient(HttpClient httpClient) {
+        try {
+            SSLContext ctx = SSLContext.getInstance("TLS");
+            X509TrustManager tm = new X509TrustManager() {
+                public X509Certificate[] getAcceptedIssuers() {
+                    return null;
+                }
+                public void checkClientTrusted(X509Certificate[] xcs, String str) {
+
+                }
+                public void checkServerTrusted(X509Certificate[] xcs, String str) {
+
+                }
+            };
+            ctx.init(null, new TrustManager[] { tm }, null);
+            SSLSocketFactory ssf = new SSLSocketFactory(ctx);
+            ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
+            ClientConnectionManager ccm = httpClient.getConnectionManager();
+            SchemeRegistry registry = ccm.getSchemeRegistry();
+            registry.register(new Scheme("https", 443, ssf));
+        } catch (KeyManagementException ex) {
+            throw new RuntimeException(ex);
+        } catch (NoSuchAlgorithmException ex) {
+            throw new RuntimeException(ex);
+        }
+    }
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-member/src/main/resources/logback.xml
index 5273bf3..7691358 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/logback.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/logback.xml
@@ -58,7 +58,7 @@
     </appender>
 
     <!-- 系统模块日志级别控制  -->
-	<logger name="com.ruoyi" level="info" />
+	<logger name="com.ruoyi" level="debug" />
 	<!-- Spring日志级别控制  -->
 	<logger name="org.springframework" level="warn" />
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
index 0aa67d0..79505f2 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -134,7 +134,7 @@
     </delete>
 
 
-    <select id="getOneByMiniOpenid" parameterType="com.ruoyi.system.api.domain.poji.member.Member">
+    <select id="getOneByMiniOpenid" resultType="com.ruoyi.system.api.domain.poji.member.Member">
         SELECT * FROM t_member WHERE mini_openid = #{miniOpenid}
     </select>
 
@@ -156,4 +156,16 @@
             AND (tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.referrer LIKE CONCAT('%',#{param.keyword},'%'))
         </if>
     </select>
+
+    <select id="pageMerCashMember" resultType="com.ruoyi.member.domain.vo.MerCashMemberPageVo">
+        SELECT
+        tm.user_id userId,
+        tm.real_name nickName,
+        tm.mobile mobile
+        FROM t_member tm
+        WHERE tm.relationShopId = #{param.shopId}
+        <if test="param.keyword != null and param.keyword != ''">
+            AND (tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%'))
+        </if>
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java
new file mode 100644
index 0000000..363734a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java
@@ -0,0 +1,52 @@
+package com.ruoyi.order.controller.business;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
+import com.ruoyi.order.domain.dto.MerMemberNoClearOrderDto;
+import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto;
+import com.ruoyi.order.domain.vo.MerConsumerGoodsVo;
+import com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo;
+import com.ruoyi.order.service.order.ConsumerGoodsService;
+import io.swagger.annotations.ApiOperation;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * @author jqs34
+ * @ClassName MerConsumerController
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerConsumerController {
+
+    @Autowired
+    private ConsumerGoodsService consumerGoodsService;
+
+    @RequestMapping(value = "/listMerConsumerGoods", method = RequestMethod.POST)
+    @ApiOperation(value = "获取用户服务列表")
+    public R<MerConsumerGoodsVo> listMerConsumerGoods(@RequestBody MerConsumerGoodsDto merConsumerGoodsDto) {
+        Long userId = SecurityUtils.getUserId();
+        merConsumerGoodsDto.setUserId(userId);
+        MerConsumerGoodsVo merConsumerGoodsVo = consumerGoodsService.listMerConsumerGoods(merConsumerGoodsDto);
+        return R.ok(merConsumerGoodsVo);
+    }
+
+
+    @RequestMapping(value = "/sureMerConsumerGoods", method = RequestMethod.POST)
+    @ApiOperation(value = "确认商品次数")
+    public R sureMerConsumerGoods(@RequestBody MerSureConsumerGoodsDto merSureConsumerGoodsDto) {
+        Long userId = SecurityUtils.getUserId();
+        merSureConsumerGoodsDto.setUserId(userId);
+        consumerGoodsService.sureMerConsumerGoods(merSureConsumerGoodsDto);
+        return R.ok();
+    }
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerGoodsController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerGoodsController.java
index ce73cb3..9b45824 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerGoodsController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerGoodsController.java
@@ -52,6 +52,7 @@
     @ApiOperation(value = "编辑商户商品价格")
     public R editMerShopGoods(@RequestBody MerShopGoodsEditDto merShopGoodsEditDto) {
         Long userId = SecurityUtils.getUserId();
+        merShopGoodsEditDto.setUserId(userId);
         goodsService.editMerShopGoods(merShopGoodsEditDto);
         return R.ok();
     }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
index 92f54b2..53bff3f 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -1,14 +1,15 @@
 package com.ruoyi.order.controller.business;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.security.annotation.InnerAuth;
 import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.order.domain.dto.AppSureOrderDto;
-import com.ruoyi.order.domain.dto.MerVerifyCodeDto;
-import com.ruoyi.order.domain.dto.MerVerifyOrderDto;
+import com.ruoyi.order.domain.dto.*;
 import com.ruoyi.order.domain.vo.*;
 import com.ruoyi.order.service.order.OrderService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.domain.dto.MerPageDto;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -17,6 +18,8 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
 
 /**
  * @author jqs34
@@ -39,6 +42,7 @@
     @ApiOperation(value = "核销code")
     public R<MerVerifyCodeVo> verifyCode(@RequestBody MerVerifyCodeDto merVerifyCodeDto) {
         Long userId = SecurityUtils.getUserId();
+        merVerifyCodeDto.setUserId(userId);
         String verifyCode = merVerifyCodeDto.getVerifyCode();
         String[] verifyCodeArr = verifyCode.split("-");
         MerVerifyCodeVo merVerifyCodeVo = new MerVerifyCodeVo();
@@ -68,8 +72,42 @@
     @ApiOperation(value = "核销订单")
     public R<MerVerifyOrderVo> sureVerifyOrder(@RequestBody MerVerifyOrderDto merVerifyOrderDto) {
         Long userId = SecurityUtils.getUserId();
+        merVerifyOrderDto.setUserId(userId);
         MerVerifyOrderVo merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto);
         return R.ok(merVerifyOrderVo);
     }
 
+
+    @RequestMapping(value = "/pageMerMemberNoClearOrder", method = RequestMethod.POST)
+    @ApiOperation(value = "分页获取用户未结清订单")
+    public R<Page<MerMemberNoClearOrderVo>> pageMerMemberNoClearOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
+        Long userId = SecurityUtils.getUserId();
+        merMemberNoClearOrderDto.setUserId(userId);
+        Page<MerMemberNoClearOrderVo> page = new Page<>();
+        page.setSize(merMemberNoClearOrderDto.getPageSize());
+        page.setCurrent(merMemberNoClearOrderDto.getPageNum());
+        List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberNoClearOrder(page,merMemberNoClearOrderDto);
+        return R.ok(page.setRecords(merMemberNoClearOrderVoList));
+    }
+
+    @RequestMapping(value = "/merCloseOrder", method = RequestMethod.POST)
+    @ApiOperation(value = "结清订单")
+    public R merCloseOrder(@RequestBody MerCloseOrderDto merCloseOrderDto) {
+        Long userId = SecurityUtils.getUserId();
+        merCloseOrderDto.setUserId(userId);
+        orderService.merCloseOrder(merCloseOrderDto);
+        return R.ok();
+    }
+
+
+    @RequestMapping(value = "/createNewOrder", method = RequestMethod.POST)
+    @ApiOperation(value = "创建新订单")
+    public R createNewOrder(@RequestBody MerNewOrderDto merNewOrderDto) {
+        Long userId = SecurityUtils.getUserId();
+        merNewOrderDto.setUserId(userId);
+        orderService.createNewOrder(merNewOrderDto);
+        return R.ok();
+    }
+
+
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/ActivityController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/ActivityController.java
index 30ecf9c..e95517e 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/ActivityController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/ActivityController.java
@@ -25,7 +25,6 @@
     @Autowired
     private ActivityGoodsService activityGoodsService;
 
-    @InnerAuth
     @PostMapping("/getActivityGoods")
     public R<ActivityGoods> getActivityGoods(@RequestBody String goodsId)
     {
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
index 4c6728e..e76ae26 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
@@ -25,14 +25,14 @@
     @Autowired
     private OrderService orderService;
 
-    @InnerAuth
+
     @PostMapping("/getAppOrderTotal")
     public R<AppOrderTotalVo> getAppOrderTotal(@RequestBody Long userId){
         AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId);
         return R.ok(appOrderTotalVo);
     }
 
-    @InnerAuth
+
     @PostMapping("/getMerHomeTotal")
     public R<MerHomeShopTotalVo> getMerHomeTotal(@RequestBody MerHomeShopTotalVo merHomeShopTotalVo){
         merHomeShopTotalVo = orderService.getMerHomeTotal(merHomeShopTotalVo);
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerCloseOrderDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerCloseOrderDto.java
new file mode 100644
index 0000000..9ae6559
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerCloseOrderDto.java
@@ -0,0 +1,27 @@
+package com.ruoyi.order.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author jqs34
+ * @ClassName MerCloseOrderDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerCloseOrderDto extends MerBaseDto {
+
+    @ApiModelProperty(value = "订单id")
+    private String orderId;
+
+    @ApiModelProperty(value = "支付金额")
+    private BigDecimal payMoney;
+
+    @ApiModelProperty(value = "支付备注")
+    private String payRemark;
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerConsumerGoodsDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerConsumerGoodsDto.java
new file mode 100644
index 0000000..1ac7aaa
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerConsumerGoodsDto.java
@@ -0,0 +1,23 @@
+package com.ruoyi.order.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 MerConsumerGoodsDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerConsumerGoodsDto extends MerBaseDto {
+
+    @ApiModelProperty(name = "会员用户id")
+    private Long memberUserId;
+
+    @ApiModelProperty("商品类型1周期2服务3体验")
+    private Integer goodsType;
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerGoodsPageDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerGoodsPageDto.java
index d8f97d8..1750e1e 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerGoodsPageDto.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerGoodsPageDto.java
@@ -15,6 +15,9 @@
 @Data
 public class MerGoodsPageDto extends MerPageDto {
 
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
     @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
     private Integer goodsType;
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerMemberNoClearOrderDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerMemberNoClearOrderDto.java
new file mode 100644
index 0000000..a6b0ae1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerMemberNoClearOrderDto.java
@@ -0,0 +1,21 @@
+package com.ruoyi.order.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerPageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerMemberNoClearOrderDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerMemberNoClearOrderDto extends MerPageDto {
+
+
+    @ApiModelProperty(value = "会员用户id")
+    private Long memberUserId;
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerNewOrderDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerNewOrderDto.java
new file mode 100644
index 0000000..9eb703e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerNewOrderDto.java
@@ -0,0 +1,34 @@
+package com.ruoyi.order.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author jqs34
+ * @ClassName MerNewOrderDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerNewOrderDto extends MerBaseDto {
+
+    @ApiModelProperty(value = "购买用户id")
+    private Long buyUserId;
+
+    @ApiModelProperty(value = "购买列表")
+    List<AppBuyGoodsDto> appBuyGoodsDtoList;
+
+    @ApiModelProperty(value = "支付金额")
+    private BigDecimal payMoney;
+
+    @ApiModelProperty(value = "支付方式")
+    private Integer payType;
+
+    @ApiModelProperty(value = "订单备注")
+    private String orderRemark;
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsDto.java
new file mode 100644
index 0000000..d8de4b1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsDto.java
@@ -0,0 +1,25 @@
+package com.ruoyi.order.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author jqs34
+ * @ClassName MerSureConsumerGoodsDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerSureConsumerGoodsDto extends MerBaseDto {
+
+    @ApiModelProperty(name = "会员用户id")
+    private Long memberUserId;
+
+    @ApiModelProperty(name = "确认服务列表")
+    private List<MerSureConsumerGoodsListDto> merSureConsumerGoodsListDtoList;
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsListDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsListDto.java
new file mode 100644
index 0000000..cb6c7f4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerSureConsumerGoodsListDto.java
@@ -0,0 +1,22 @@
+package com.ruoyi.order.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerSureConsumerGoodsListDto
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerSureConsumerGoodsListDto {
+
+
+    @ApiModelProperty(name = "服务id")
+    private String consumerGoodsId;
+
+    @ApiModelProperty(name = "服务次数")
+    private Integer service_num;
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java
index e447e06..06e167a 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java
@@ -103,6 +103,11 @@
     @TableField("use_time")
     private String useTime;
 
+    /**
+     * 商品类型1周期2服务3体验
+     */
+    @TableField("goods_type")
+    private Integer goodsType;
 
     @Override
     protected Serializable pkVal() {
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java
index eae04e2..fb86dcf 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java
@@ -150,6 +150,11 @@
      */
     @TableField("goods_num")
     private Integer goodsNum;
+    /**
+     * 结清标记
+     */
+    @TableField("close_flag")
+    private Integer closeFlag;
 
     @Override
     protected Serializable pkVal() {
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java
new file mode 100644
index 0000000..eac3bdb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java
@@ -0,0 +1,45 @@
+package com.ruoyi.order.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jqs34
+ * @ClassName MerConsumerGoodsVo
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerConsumerGoodsListVo {
+
+    @ApiModelProperty("服务id")
+    private String consumerGoodsId;
+
+    @ApiModelProperty("服务状态-1删除1未完成2完成")
+    private Integer serviceStatus;
+
+    @ApiModelProperty("商户id")
+    private Long shopId;
+
+    @ApiModelProperty("商品类型1周期2服务3体验4单品")
+    private Integer goodsType;
+
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+
+    @ApiModelProperty("商品图片")
+    private String goodsPicture;
+
+    @ApiModelProperty("商品调理问题")
+    private String goodsNurses;
+
+    @ApiModelProperty("周期标记")
+    private Integer cycleNumFlag;
+
+    @ApiModelProperty("服务次数")
+    private Integer serviceNum;
+
+    @ApiModelProperty("消耗次数")
+    private Integer usedNum;
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsVo.java
new file mode 100644
index 0000000..dfadc67
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsVo.java
@@ -0,0 +1,25 @@
+package com.ruoyi.order.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author jqs34
+ * @ClassName MerConsumerGoodsVo
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerConsumerGoodsVo {
+
+    @ApiModelProperty("未确认商品")
+    private List<MerConsumerGoodsListVo> noSureList;
+
+    @ApiModelProperty("确认商品")
+    private List<MerConsumerGoodsListVo> sureList;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberNoClearOrderVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberNoClearOrderVo.java
new file mode 100644
index 0000000..ff23b5a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberNoClearOrderVo.java
@@ -0,0 +1,42 @@
+package com.ruoyi.order.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author jqs34
+ * @ClassName MerMemberUnclearOrder
+ * @description: TODO
+ * @date 2023年05月05日
+ * @version: 1.0
+ */
+@Data
+public class MerMemberNoClearOrderVo {
+
+    @ApiModelProperty(value = "订单id")
+    private String orderId;
+
+    @ApiModelProperty("订单编号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "商品总价")
+    private BigDecimal orderGoodsMoney;
+
+    @ApiModelProperty(value = "优惠券抵扣")
+    private BigDecimal couponDiscount;
+
+    @ApiModelProperty("应收金额")
+    private BigDecimal receivableMoney;
+
+    @ApiModelProperty("应收订金")
+    private BigDecimal receivableDeposit;
+
+    @ApiModelProperty("订单实际支付金额")
+    private BigDecimal payMoney;
+
+    @ApiModelProperty("订单未支付金额")
+    private BigDecimal unPaidMoney;
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyOrderVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyOrderVo.java
index 77c99ca..dc52ff3 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyOrderVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyOrderVo.java
@@ -1,5 +1,6 @@
 package com.ruoyi.order.domain.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -64,4 +65,7 @@
 
     @ApiModelProperty(value = "用户电话")
     private String userMobile;
+
+    @ApiModelProperty("结清标记0否1是")
+    private Integer closeFlag;
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java
index 9ab8390..12f5e71 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java
@@ -2,9 +2,11 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.order.domain.dto.AppConsumerPageDto;
+import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
 import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.order.domain.vo.AppConsumerPageVo;
+import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -26,4 +28,18 @@
      * @return
      */
     List<AppConsumerPageVo> pageUserConsumerGoods(Page page, @Param("param") AppConsumerPageDto appConsumerPageDto);
+
+    /**
+     * 获取未确认服务商品
+     * @param merConsumerGoodsDto
+     * @return
+     */
+    List<MerConsumerGoodsListVo> listMerNoSureConsumerGoods(@Param("param") MerConsumerGoodsDto merConsumerGoodsDto);
+
+    /**
+     * 获取已确认服务商品
+     * @param merConsumerGoodsDto
+     * @return
+     */
+    List<MerConsumerGoodsListVo> listMerConsumerGoods(@Param("param") MerConsumerGoodsDto merConsumerGoodsDto);
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
index d0bcccc..8c0d17a 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -5,6 +5,8 @@
 import com.ruoyi.order.domain.pojo.order.Order;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.order.domain.vo.AppUserOrderPageVo;
+import com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo;
+import com.ruoyi.system.api.domain.dto.MerPageDto;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -26,4 +28,12 @@
      * @return
      */
     List<AppUserOrderPageVo> pageUserOrder(Page page, @Param("param") AppUserOrderPageDto appUserOrderPageDto);
+
+    /**
+     * 收银未结清订单列表
+     * @param page
+     * @param userId
+     * @return
+     */
+    List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page,  @Param("userId") Long userId);
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
index 355537a..ef6f2e0 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -4,8 +4,13 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.order.domain.dto.AppConsumerPageDto;
+import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
+import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto;
+import com.ruoyi.order.domain.dto.MerSureConsumerGoodsListDto;
 import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
 import com.ruoyi.order.domain.vo.AppConsumerPageVo;
+import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo;
+import com.ruoyi.order.domain.vo.MerConsumerGoodsVo;
 import com.ruoyi.order.mapper.order.ConsumerGoodsMapper;
 import com.ruoyi.order.service.order.ConsumerGoodsService;
 import org.springframework.stereotype.Service;
@@ -37,4 +42,39 @@
     public List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto){
         return consumerGoodsMapper.pageUserConsumerGoods(page, appConsumerPageDto);
     }
+
+    /**
+     * 获取会员服务商品
+     * @param merConsumerGoodsDto
+     * @return
+     */
+    @Override
+    public MerConsumerGoodsVo listMerConsumerGoods(MerConsumerGoodsDto merConsumerGoodsDto){
+        MerConsumerGoodsVo merConsumerGoodsVo = new MerConsumerGoodsVo();
+        if(merConsumerGoodsDto.getGoodsType()==1){
+            List<MerConsumerGoodsListVo> noSureList = consumerGoodsMapper.listMerNoSureConsumerGoods(merConsumerGoodsDto);
+            merConsumerGoodsVo.setNoSureList(noSureList);
+        }
+        List<MerConsumerGoodsListVo> sureList = consumerGoodsMapper.listMerConsumerGoods(merConsumerGoodsDto);
+        merConsumerGoodsVo.setSureList(sureList);
+        return merConsumerGoodsVo;
+    }
+
+    /**
+     * 确认商品次数
+     * @param merSureConsumerGoodsDto
+     */
+    @Override
+    public void sureMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){
+        List<MerSureConsumerGoodsListDto> merSureConsumerGoodsListDtoList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList();
+        if(merSureConsumerGoodsListDtoList!=null && !merSureConsumerGoodsListDtoList.isEmpty()){
+            ConsumerGoods consumerGoods;
+            for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){
+                consumerGoods = this.getById(merSureConsumerGoodsListDto.getConsumerGoodsId());
+                consumerGoods.setCycleNumFlag(1);
+                consumerGoods.setServiceNum(merSureConsumerGoodsListDto.getService_num());
+                this.saveOrUpdate(consumerGoods);
+            }
+        }
+    }
 }
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 9a4f812..ee5a004 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
@@ -34,7 +34,6 @@
 import com.ruoyi.order.service.goods.GoodsService;
 import com.ruoyi.order.service.order.OrderService;
 import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
-import io.swagger.annotations.ApiModelProperty;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -340,10 +339,12 @@
             order.setPayMoney(orderPayMoney);
             order.setOnlinePayMoney(orderPayMoney);
             appPlaceOrderVo.setPayMoney(orderPayMoney);
+            order.setCloseFlag(1);
         }else if(order.getPayType()==2){
             order.setPayMoney(orderPayDeposit);
             order.setOnlinePayMoney(orderPayDeposit);
             appPlaceOrderVo.setPayMoney(orderPayDeposit);
+            order.setCloseFlag(0);
         }
         order.setOrderRemark(appPlaceOrderDto.getOrderRemark());
         order.setGoodsNum(goodsNum);
@@ -500,6 +501,7 @@
         SysUser sysUser = remoteUserService.getSysUser(order.getUserId()).getData();
         merVerifyOrderVo.setUserName(sysUser.getNickName());
         merVerifyOrderVo.setUserMobile(sysUser.getPhonenumber());
+        merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
         return merVerifyOrderVo;
     }
 
@@ -520,6 +522,7 @@
         order.setUseUserId(merVerifyOrderDto.getUserId());
         order.setOfflinePayMoney(relReceiveMoney);
         order.setPayMoney(order.getPayMoney().add(relReceiveMoney));
+        order.setCloseFlag(1);
         this.saveOrUpdate(order);
         //创建服务商品
         List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId);
@@ -539,6 +542,7 @@
             consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
             consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
             consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
+            consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
             consumerGoods.setCreateTime(nowTime);
             consumerGoodsService.save(consumerGoods);
         }
@@ -560,4 +564,189 @@
         merVerifyOrderVo.setUserMobile(sysUser.getPhonenumber());
         return merVerifyOrderVo;
     }
+
+    /**
+     * 收银未结清订单列表
+     * @param page
+     * @param merMemberNoClearOrderDto
+     * @return
+     */
+    @Override
+    public List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto){
+        List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberNoClearOrder(page,merMemberNoClearOrderDto.getMemberUserId());
+        if(merMemberNoClearOrderVoList!=null&&!merMemberNoClearOrderVoList.isEmpty()){
+            for(MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList){
+                merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney()));
+            }
+        }
+        return merMemberNoClearOrderVoList;
+    }
+
+    /**
+     * 结清订单
+     * @param merCloseOrderDto
+     */
+    @Override
+    public void merCloseOrder(MerCloseOrderDto merCloseOrderDto){
+        Order order = this.getById(merCloseOrderDto.getOrderId());
+        order.setOfflinePayMoney(merCloseOrderDto.getPayMoney());
+        order.setPayMoney(order.getPayMoney().add(merCloseOrderDto.getPayMoney()));
+        order.setCloseFlag(1);
+        this.saveOrUpdate(order);
+    }
+
+    /**
+     * 创建新订单
+     * @param merNewOrderDto
+     */
+    @Override
+    public void createNewOrder(MerNewOrderDto merNewOrderDto){
+        Long userId = merNewOrderDto.getBuyUserId();
+        //创建订单
+        List<AppBuyGoodsDto> appBuyGoodsDtoList = merNewOrderDto.getAppBuyGoodsDtoList();
+        String goodsId;
+        Integer buyNum;
+        BigDecimal buyNumBig;
+        Integer serviceNum;
+        Integer goodsNum = 0;
+        Long userCouponId;
+        Goods goods;
+        BigDecimal goodsPrice;
+        BigDecimal goodsTotalPrice;
+        BigDecimal goodsRealPrice;
+        List<AppUserCouponVo> appUserCouponVoList = remoteMemberService.listVoUserCouponByUserId(userId).getData();
+        Map<Long,AppUserCouponVo> appUserCouponVoMap = appUserCouponVoList.stream().collect(Collectors.toMap(AppUserCouponVo::getUserCouponId, Function.identity()));
+        AppUserCouponVo appUserCouponVo;
+        Integer couponType;
+        BigDecimal moneyThreshold;
+        BigDecimal discountMoney = new BigDecimal("0.00");
+        BigDecimal discountPercent;
+        BigDecimal goodsDeposit;
+        BigDecimal orderGoodsMoney = new BigDecimal("0.00");
+        BigDecimal couponDiscount = new BigDecimal("0.00");
+        BigDecimal orderPayDeposit = new BigDecimal("0.00");
+        BigDecimal orderPayMoney = new BigDecimal("0.00");
+        String orderId = IdUtils.simpleUUID();
+        String orderNo = CodeFactoryUtil.getShopOrderNo();
+        OrderGoods orderGoods;
+        String orderGoodsId;
+        for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){
+            goodsId = appBuyGoodsDto.getGoodsId();
+            userCouponId = appBuyGoodsDto.getUserCouponId();
+            goods = goodsService.getById(goodsId);
+            buyNum = appBuyGoodsDto.getBuyNum();
+            goodsPrice = goods.getSalesPrice();
+            serviceNum = goods.getServiceNum();
+            //商户定制价格
+            ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(merNewOrderDto.getShopId(),goods.getGoodsId());
+            if(shopGoods!=null){
+                goodsPrice = shopGoods.getSalesPrice();
+                serviceNum = shopGoods.getServiceNum();
+            }
+            buyNumBig = BigDecimal.valueOf(buyNum);
+            goodsTotalPrice = goodsPrice.multiply(buyNumBig);
+            goodsRealPrice = goodsTotalPrice;
+            if(userCouponId!=null){
+                appUserCouponVo = appUserCouponVoMap.get(userCouponId);
+                if(StringUtils.isBlank(appUserCouponVo.getRelGoodsIds()) || appUserCouponVo.getRelGoodsIds().contains(goodsId)){
+                    couponType = appUserCouponVo.getCouponType();
+                    if(couponType == 1 && appUserCouponVo.getMoneyThreshold()!=null && appUserCouponVo.getDiscountMoney()!=null){
+                        moneyThreshold = appUserCouponVo.getMoneyThreshold();
+                        if(goodsTotalPrice.compareTo(moneyThreshold)>=0){
+                            discountMoney = appUserCouponVo.getDiscountMoney();
+                            goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
+                        }
+                    }else if(couponType == 2 && appUserCouponVo.getDiscountPercent()!=null){
+                        discountPercent = appUserCouponVo.getDiscountPercent();
+                        goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2,BigDecimal.ROUND_HALF_UP);
+                        discountMoney = goodsRealPrice.subtract(goodsTotalPrice);
+                    }else if(couponType == 3 && appUserCouponVo.getDiscountMoney()!=null){
+                        discountMoney = appUserCouponVo.getDiscountMoney();
+                        goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
+                    }
+                }
+            }
+
+            goodsDeposit = goods.getSubscription();
+            if(goodsDeposit == null){
+                goodsDeposit = new BigDecimal("0.00");
+            }
+            goodsNum = goodsNum + buyNum;
+            orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice);
+            couponDiscount = couponDiscount.add(discountMoney);
+            orderPayDeposit = orderPayDeposit.add(goodsDeposit);
+            orderPayMoney = orderPayMoney.add(goodsRealPrice);
+            //创建OrderGoods
+            orderGoods = new OrderGoods();
+            orderGoodsId = IdUtils.simpleUUID();
+            orderGoods.setOrderGoodsId(orderGoodsId);
+            orderGoods.setDelFlag(0);
+            orderGoods.setOrderId(orderId);
+            orderGoods.setGoodsId(goodsId);
+            orderGoods.setBuyNum(buyNum);
+            orderGoods.setCouponId(userCouponId.toString());
+            orderGoods.setGoodsPrice(goodsPrice);
+            orderGoods.setGoodsTotalMoney(orderGoodsMoney);
+            orderGoods.setGoodsReceivableMoney(goodsRealPrice);
+            orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
+            orderGoods.setServiceNum(serviceNum);
+            orderGoods.setGoodsType(goods.getGoodsType());
+            orderGoodsService.save(orderGoods);
+        }
+        Order order = new Order();
+        order.setOrderId(orderId);
+        order.setDelFlag(0);
+        order.setOrderStatus(3);
+        order.setOrderNo(orderNo);
+        order.setOrderFrom(1);
+        order.setShopId(merNewOrderDto.getShopId());
+        order.setUserId(userId);
+        order.setOrderMoney(orderGoodsMoney);
+        order.setCouponMoney(couponDiscount);
+        order.setDiscountMoney(couponDiscount);
+        order.setReceivableMoney(orderPayMoney);
+        order.setPayType(1);
+        if(order.getPayType()==1){
+            order.setPayMoney(orderPayMoney);
+            order.setOnlinePayMoney(orderPayMoney);
+            order.setCloseFlag(1);
+        }else if(order.getPayType()==2){
+            order.setPayMoney(orderPayDeposit);
+            order.setOnlinePayMoney(orderPayDeposit);
+            order.setCloseFlag(0);
+        }
+        order.setOrderRemark(merNewOrderDto.getOrderRemark());
+        order.setGoodsNum(goodsNum);
+        order.setCreateTime(new Date());
+        order.setPayTime(new Date());
+        order.setUseTime(new Date());
+        order.setUseUserId(merNewOrderDto.getUserId());
+        order.setPayMoney(merNewOrderDto.getPayMoney());
+        order.setOnlinePayMoney(new BigDecimal("0.00"));
+        order.setOfflinePayMoney(merNewOrderDto.getPayMoney());
+        order.setCloseFlag(1);
+        this.save(order);
+        //创建服务
+        List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId);
+        ConsumerGoods consumerGoods;
+        String consumerGoodsId;
+        for(AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList){
+            consumerGoods = new ConsumerGoods();
+            consumerGoodsId = IdUtils.simpleUUID();
+            consumerGoods.setConsumerGoodsId(consumerGoodsId);
+            consumerGoods.setDelFlag(0);
+            consumerGoods.setServiceStatus(1);
+            consumerGoods.setShopId(order.getShopId());
+            consumerGoods.setUserId(order.getUserId());
+            consumerGoods.setOrderId(orderId);
+            consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
+            consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
+            consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
+            consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
+            consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
+            consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+            consumerGoods.setCreateTime(new Date());
+            consumerGoodsService.save(consumerGoods);
+        }
+    }
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java
index bceada6..ed3abba 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java
@@ -2,9 +2,12 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.order.domain.dto.AppConsumerPageDto;
+import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
+import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto;
 import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.order.domain.vo.AppConsumerPageVo;
+import com.ruoyi.order.domain.vo.MerConsumerGoodsVo;
 
 import java.util.List;
 
@@ -25,4 +28,17 @@
      * @return
      */
     List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto);
+
+    /**
+     * 获取会员服务商品
+     * @param merConsumerGoodsDto
+     * @return
+     */
+    MerConsumerGoodsVo listMerConsumerGoods(MerConsumerGoodsDto merConsumerGoodsDto);
+
+    /**
+     * 确认商品次数
+     * @param merSureConsumerGoodsDto
+     */
+    void sureMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto);
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
index 226ce20..367d1e8 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -1,14 +1,12 @@
 package com.ruoyi.order.service.order;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.order.domain.dto.MerVerifyOrderDto;
+import com.ruoyi.order.domain.dto.*;
 import com.ruoyi.order.domain.vo.*;
 import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
-import com.ruoyi.order.domain.dto.AppPlaceOrderDto;
-import com.ruoyi.order.domain.dto.AppSureOrderDto;
-import com.ruoyi.order.domain.dto.AppUserOrderPageDto;
 import com.ruoyi.order.domain.pojo.order.Order;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.system.api.domain.dto.MerPageDto;
 import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
 import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
 
@@ -88,4 +86,26 @@
      * @return
      */
     MerVerifyOrderVo sureVerifyOrder(MerVerifyOrderDto merVerifyOrderDto);
+
+    /**
+     * 收银未结清订单列表
+     * @param page
+     * @param merMemberNoClearOrderDto
+     * @return
+     */
+    List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto);
+
+
+    /**
+     * 结清订单
+     * @param merCloseOrderDto
+     */
+    void merCloseOrder(MerCloseOrderDto merCloseOrderDto);
+
+    /**
+     * 创建新订单
+     * @param merNewOrderDto
+     */
+    void createNewOrder(MerNewOrderDto merNewOrderDto);
+
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/goods/GoodsMapper.xml
index 9d2e8c5..25107d7 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/goods/GoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -303,6 +303,12 @@
         LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
         LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId}
         WHERE tg.del_flag = 0 AND tg.goods_status = 1
+        <if test="param.goodsType != null">
+            AND tg.goods_type = #{param.goodsType}
+        </if>
+        <if test="param.goodsName != null and param.goodsName != ''">
+            AND tg.goods_name LIKE CONCAT('%',#{param.goodsName},'%')
+        </if>
         ORDER BY tg.create_time DESC
     </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
index da21e71..58b94dd 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -122,7 +122,7 @@
         tcg.consumer_goods_id consumerGoodsId,
         tcg.service_status serviceStatus,
         tcg.shop_id shopId,
-        tg.goods_type goodsType,
+        tcg.goods_type goodsType,
         tg.goods_name goodsName,
         tgf.file_url goodsPicture,
         tg.goods_nurses goodsNurses,
@@ -138,4 +138,44 @@
         </if>
         ORDER BY tcg.cycle_num_flag ASC, tcg.create_time DESC
     </select>
+
+    <select id="pageUserConsumerGoods" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo">
+        SELECT
+        tcg.consumer_goods_id consumerGoodsId,
+        tcg.service_status serviceStatus,
+        tcg.shop_id shopId,
+        tcg.goods_type goodsType,
+        tg.goods_name goodsName,
+        tgf.file_url goodsPicture,
+        tg.goods_nurses goodsNurses,
+        tcg.cycle_num_flag cycleNumFlag,
+        tcg.service_num serviceNum,
+        tcg.used_num usedNum
+        FROM t_consumer_goods tcg
+        INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id
+        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
+        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId}
+        AND tcg.goods_type = 1 AND tcg.cycle_num_flag = 0
+        ORDER BY tcg.create_time DESC
+    </select>
+
+    <select id="listMerConsumerGoods" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo">
+        SELECT
+        tcg.consumer_goods_id consumerGoodsId,
+        tcg.service_status serviceStatus,
+        tcg.shop_id shopId,
+        tcg.goods_type goodsType,
+        tg.goods_name goodsName,
+        tgf.file_url goodsPicture,
+        tg.goods_nurses goodsNurses,
+        tcg.cycle_num_flag cycleNumFlag,
+        tcg.service_num serviceNum,
+        tcg.used_num usedNum
+        FROM t_consumer_goods tcg
+        INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id
+        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
+        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId}
+        AND tcg.goods_type = #{param.goodsType} AND tcg.cycle_num_flag = 1
+        ORDER BY tcg.create_time DESC
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index d5cef6c..9d5148c 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -174,7 +174,7 @@
         toc.order_id orderId,
         toc.order_no orderNo,
         toc.order_status orderStatus,
-        tooc.order_from orderFrom,
+        toc.order_from orderFrom,
         toc.receivable_money receivableMoney,
         toc.goods_num goodsNum,
         toc.shop_id shopId,
@@ -198,4 +198,17 @@
         ORDER BY toc.create_time DESC
     </select>
 
+    <select id="pageUserOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo">
+        SELECT
+        toc.order_id orderId,
+        toc.order_no orderNo,
+        toc.order_money orderGoodsMoney,
+        toc.coupon_money couponDiscount,
+        toc.receivable_money receivableMoney,
+        toc.receivable_deposit receivableDeposit,
+        toc.pay_money payMoney
+        FROM t_order toc
+        WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND toc.orderStatus = 2 AND toc.close_flag = 0
+        ORDER BY toc.create_time DESC
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
index 984dd7d..bc3d4db 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -27,7 +27,7 @@
     @Resource
     private ShopService shopService;
 
-    @InnerAuth
+
     @PostMapping("/getShop")
     public R<Shop> getShop(@RequestBody Long shopId)
     {
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 76c2ab3..15243f1 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
@@ -23,7 +23,7 @@
     @Resource
     private SysTagService sysTagService;
 
-    @InnerAuth
+
     @PostMapping("/getSysTag")
     public R<SysTag> getSysTag(@RequestBody Long sysTagId)
     {
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
index f288fd7..694c53c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -352,10 +352,11 @@
      * @date 2023/4/30 15:36
      * @version 1.0
      */
-    @InnerAuth
     @PostMapping("/getSysUser")
     public R<SysUser> getSysUser(@RequestBody Long userId){
+        logger.info("userId"+userId);
         SysUser sysUser = userService.selectUserById(userId);
+        logger.info("sysUser"+sysUser.toString());
         return R.ok(sysUser);
     }
 
@@ -367,7 +368,7 @@
      */
     @PostMapping("/registerUser")
     public R<SysUser> registerUser(@RequestBody SysUser sysUser){
-        sysUser = userService.registerUser(sysUser);
+        userService.registerUser(sysUser);
         return R.ok(sysUser);
     }
 
@@ -379,7 +380,6 @@
      * @date 2023/4/30 15:32
      * @version 1.0
      */
-    @InnerAuth
     @PostMapping("/updateUserMobile")
     public R updateUserMobile(@RequestBody SysUser sysUser){
         userService.updateUserMobile(sysUser);
@@ -391,7 +391,6 @@
      * @param appEditUserDto
      * @return
      */
-    @InnerAuth
     @PostMapping("/editUserInfo")
     public R editUserInfo(@RequestBody AppEditUserDto appEditUserDto){
         userService.editUserInfo(appEditUserDto);

--
Gitblit v1.7.1