Browse Source

fixed 小程序端商户管理功能

fushengqian 4 months ago
parent
commit
717b6f78f6

+ 7 - 0
fuint-application/src/main/java/com/fuint/common/param/CouponListParam.java

@@ -6,18 +6,25 @@ import java.io.Serializable;
 
 
 /**
 /**
  * 卡券列表请求参数
  * 卡券列表请求参数
+ *
  * Created by FSQ
  * Created by FSQ
  * CopyRight https://www.fuint.cn
  * CopyRight https://www.fuint.cn
  */
  */
 @Data
 @Data
 public class CouponListParam extends PageParam implements Serializable {
 public class CouponListParam extends PageParam implements Serializable {
 
 
+    @ApiModelProperty(value="关键字", name="keyword")
+    private String keyword;
+
     @ApiModelProperty(value="卡券类型", name="type")
     @ApiModelProperty(value="卡券类型", name="type")
     private String type;
     private String type;
 
 
     @ApiModelProperty(value="商户ID", name="merchantId")
     @ApiModelProperty(value="商户ID", name="merchantId")
     private Integer merchantId;
     private Integer merchantId;
 
 
+    @ApiModelProperty(value="店铺ID", name="storeId")
+    private Integer storeId;
+
     @ApiModelProperty(value="领取所需积分", name="needPoint")
     @ApiModelProperty(value="领取所需积分", name="needPoint")
     private Integer needPoint;
     private Integer needPoint;
 
 

+ 14 - 0
fuint-application/src/main/java/com/fuint/common/service/impl/CouponServiceImpl.java

@@ -453,6 +453,8 @@ public class CouponServiceImpl extends ServiceImpl<MtCouponMapper, MtCoupon> imp
         Integer needPoint = couponListParam.getNeedPoint() == null ? 0 : couponListParam.getNeedPoint();
         Integer needPoint = couponListParam.getNeedPoint() == null ? 0 : couponListParam.getNeedPoint();
         String sendWay = couponListParam.getSendWay() == null ? "front" : couponListParam.getSendWay();
         String sendWay = couponListParam.getSendWay() == null ? "front" : couponListParam.getSendWay();
         Integer merchantId = couponListParam.getMerchantId() == null ? 0 : couponListParam.getMerchantId();
         Integer merchantId = couponListParam.getMerchantId() == null ? 0 : couponListParam.getMerchantId();
+        Integer storeId = couponListParam.getStoreId() == null ? 0 : couponListParam.getStoreId();
+        String keyword = couponListParam.getKeyword() == null ? "" : couponListParam.getKeyword();
 
 
         Page<MtCoupon> pageHelper = PageHelper.startPage(pageNumber, pageSize);
         Page<MtCoupon> pageHelper = PageHelper.startPage(pageNumber, pageSize);
         LambdaQueryWrapper<MtCoupon> lambdaQueryWrapper = Wrappers.lambdaQuery();
         LambdaQueryWrapper<MtCoupon> lambdaQueryWrapper = Wrappers.lambdaQuery();
@@ -463,6 +465,12 @@ public class CouponServiceImpl extends ServiceImpl<MtCouponMapper, MtCoupon> imp
         if (StringUtil.isNotEmpty(sendWay)) {
         if (StringUtil.isNotEmpty(sendWay)) {
             lambdaQueryWrapper.eq(MtCoupon::getSendWay, sendWay);
             lambdaQueryWrapper.eq(MtCoupon::getSendWay, sendWay);
         }
         }
+        if (StringUtil.isNotEmpty(keyword)) {
+            lambdaQueryWrapper.and(wq -> wq
+                    .eq(MtCoupon::getId, keyword)
+                    .or()
+                    .like(MtCoupon::getName, keyword));
+        }
         if (StringUtil.isNotEmpty(type)) {
         if (StringUtil.isNotEmpty(type)) {
             lambdaQueryWrapper.eq(MtCoupon::getType, type);
             lambdaQueryWrapper.eq(MtCoupon::getType, type);
         }
         }
@@ -472,6 +480,9 @@ public class CouponServiceImpl extends ServiceImpl<MtCouponMapper, MtCoupon> imp
         if (merchantId != null && merchantId > 0) {
         if (merchantId != null && merchantId > 0) {
             lambdaQueryWrapper.eq(MtCoupon::getMerchantId, merchantId);
             lambdaQueryWrapper.eq(MtCoupon::getMerchantId, merchantId);
         }
         }
+        if (storeId != null && storeId > 0) {
+            lambdaQueryWrapper.eq(MtCoupon::getStoreId, storeId);
+        }
 
 
         lambdaQueryWrapper.orderByDesc(MtCoupon::getId);
         lambdaQueryWrapper.orderByDesc(MtCoupon::getId);
         List<MtCoupon> dataList = mtCouponMapper.selectList(lambdaQueryWrapper);
         List<MtCoupon> dataList = mtCouponMapper.selectList(lambdaQueryWrapper);
@@ -599,6 +610,9 @@ public class CouponServiceImpl extends ServiceImpl<MtCouponMapper, MtCoupon> imp
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     @OperationServiceLog(description = "发放卡券")
     @OperationServiceLog(description = "发放卡券")
     public void sendCoupon(Integer couponId, Integer userId, Integer num, Boolean sendMessage, String uuid, String operator) throws BusinessCheckException {
     public void sendCoupon(Integer couponId, Integer userId, Integer num, Boolean sendMessage, String uuid, String operator) throws BusinessCheckException {
+        if (StringUtil.isEmpty(uuid)) {
+            uuid = UUID.randomUUID().toString().replaceAll("-", "");
+        }
         MtCoupon couponInfo = queryCouponById(couponId);
         MtCoupon couponInfo = queryCouponById(couponId);
         MtUser userInfo = memberService.queryMemberById(userId);
         MtUser userInfo = memberService.queryMemberById(userId);
 
 

+ 1 - 1
fuint-application/src/main/java/com/fuint/module/clientApi/controller/ClientConfirmController.java

@@ -112,7 +112,7 @@ public class ClientConfirmController extends BaseController {
                         }
                         }
                     }
                     }
                     if (!isSameStore) {
                     if (!isSameStore) {
-                        return getFailureResult(1003, "员工对该卡券没有权限");
+                        return getFailureResult(1003, "抱歉,该卡券存在店铺使用范围限制,您所在店铺无法核销!");
                     }
                     }
                 }
                 }
             }
             }

+ 4 - 0
fuint-application/src/main/java/com/fuint/module/clientApi/controller/ClientMyCouponController.java

@@ -53,6 +53,7 @@ public class ClientMyCouponController extends BaseController {
         String token = request.getHeader("Access-Token");
         String token = request.getHeader("Access-Token");
         String status = request.getParameter("status") == null ? "" : request.getParameter("status");
         String status = request.getParameter("status") == null ? "" : request.getParameter("status");
         String type = request.getParameter("type") == null ? "" : request.getParameter("type");
         String type = request.getParameter("type") == null ? "" : request.getParameter("type");
+        String userId = request.getParameter("userId") == null ? "" : request.getParameter("userId");
 
 
         if (StringUtil.isEmpty(token)) {
         if (StringUtil.isEmpty(token)) {
             return getFailureResult(1001);
             return getFailureResult(1001);
@@ -62,6 +63,9 @@ public class ClientMyCouponController extends BaseController {
         if (null == mtUser) {
         if (null == mtUser) {
             return getFailureResult(1001);
             return getFailureResult(1001);
         }
         }
+        if (StringUtil.isNotEmpty(userId)) {
+            mtUser.setId(Integer.parseInt(userId));
+        }
 
 
         Map<String, Object> param = new HashMap<>();
         Map<String, Object> param = new HashMap<>();
         param.put("userId", mtUser.getId());
         param.put("userId", mtUser.getId());

+ 8 - 1
fuint-application/src/main/java/com/fuint/module/clientApi/controller/ClientUserController.java

@@ -181,8 +181,15 @@ public class ClientUserController extends BaseController {
     @CrossOrigin
     @CrossOrigin
     public ResponseObject asset(HttpServletRequest request) throws BusinessCheckException {
     public ResponseObject asset(HttpServletRequest request) throws BusinessCheckException {
         String token = request.getHeader("Access-Token");
         String token = request.getHeader("Access-Token");
-        UserInfo mtUser = TokenUtil.getUserInfoByToken(token);
+        String userId = request.getParameter("userId");
 
 
+        UserInfo mtUser = TokenUtil.getUserInfoByToken(token);
+        if (StringUtil.isNotEmpty(userId)) {
+            MtUser userInfo = memberService.queryMemberById(Integer.parseInt(userId));
+            if (userInfo != null) {
+                mtUser.setId(userInfo.getId());
+            }
+        }
         Integer couponNum = 0;
         Integer couponNum = 0;
         Integer preStoreNum = 0;
         Integer preStoreNum = 0;
         Integer timerNum = 0;
         Integer timerNum = 0;

+ 30 - 0
fuint-application/src/main/java/com/fuint/module/merchantApi/controller/MerchantBalanceController.java

@@ -8,6 +8,8 @@ import com.fuint.framework.exception.BusinessCheckException;
 import com.fuint.framework.web.BaseController;
 import com.fuint.framework.web.BaseController;
 import com.fuint.framework.web.ResponseObject;
 import com.fuint.framework.web.ResponseObject;
 import com.fuint.repository.model.MtOrder;
 import com.fuint.repository.model.MtOrder;
+import com.fuint.repository.model.MtStaff;
+import com.fuint.repository.model.MtUser;
 import com.fuint.utils.StringUtil;
 import com.fuint.utils.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
@@ -36,6 +38,21 @@ public class MerchantBalanceController extends BaseController {
      * */
      * */
     private PaymentService paymentService;
     private PaymentService paymentService;
 
 
+    /**
+     * 会员服务接口
+     */
+    private MemberService memberService;
+
+    /**
+     * 店铺员工服务接口
+     * */
+    private StaffService staffService;
+
+    /**
+     * 商户服务接口
+     * */
+    private MerchantService merchantService;
+
     /**
     /**
      * 充值余额
      * 充值余额
      * */
      * */
@@ -43,6 +60,8 @@ public class MerchantBalanceController extends BaseController {
     @CrossOrigin
     @CrossOrigin
     public ResponseObject doRecharge(HttpServletRequest request, @RequestBody RechargeParam rechargeParam) throws BusinessCheckException {
     public ResponseObject doRecharge(HttpServletRequest request, @RequestBody RechargeParam rechargeParam) throws BusinessCheckException {
         String token = request.getHeader("Access-Token");
         String token = request.getHeader("Access-Token");
+        String merchantNo = request.getHeader("merchantNo") == null ? "" : request.getHeader("merchantNo");
+        Integer merchantId = merchantService.getMerchantId(merchantNo);
         if (StringUtil.isEmpty(token)) {
         if (StringUtil.isEmpty(token)) {
             return getFailureResult(1001);
             return getFailureResult(1001);
         }
         }
@@ -52,6 +71,17 @@ public class MerchantBalanceController extends BaseController {
             return getFailureResult(1001);
             return getFailureResult(1001);
         }
         }
 
 
+        MtStaff staffInfo = null;
+        MtUser mtUser = memberService.queryMemberById(userInfo.getId());
+        if (mtUser != null && mtUser.getMobile() != null) {
+            staffInfo = staffService.queryStaffByMobile(mtUser.getMobile());
+        }
+        if (staffInfo == null) {
+            return getFailureResult(201, "该账号不是商户");
+        }
+        if (!merchantId.equals(staffInfo.getMerchantId())) {
+            return getFailureResult(201, "您没有操作权限");
+        }
         MtOrder mtOrder = orderService.doRecharge(request, rechargeParam);
         MtOrder mtOrder = orderService.doRecharge(request, rechargeParam);
         Boolean result = false;
         Boolean result = false;
         if (mtOrder != null) {
         if (mtOrder != null) {

+ 83 - 0
fuint-application/src/main/java/com/fuint/module/merchantApi/controller/MerchantCouponController.java

@@ -0,0 +1,83 @@
+package com.fuint.module.merchantApi.controller;
+
+import com.fuint.common.dto.*;
+import com.fuint.common.param.CouponReceiveParam;
+import com.fuint.common.service.*;
+import com.fuint.common.util.TokenUtil;
+import com.fuint.framework.exception.BusinessCheckException;
+import com.fuint.framework.web.BaseController;
+import com.fuint.framework.web.ResponseObject;
+import com.fuint.repository.model.MtStaff;
+import com.fuint.repository.model.MtUser;
+import com.fuint.utils.StringUtil;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 卡券接口controller
+ *
+ * Created by FSQ
+ * CopyRight https://www.fuint.cn
+ */
+@Api(tags="商户端-卡券相关接口")
+@RestController
+@AllArgsConstructor
+@RequestMapping(value = "/merchantApi/coupon")
+public class MerchantCouponController extends BaseController {
+
+    /**
+     * 会员服务接口
+     */
+    private MemberService memberService;
+
+    /**
+     * 店铺员工服务接口
+     * */
+    private StaffService staffService;
+
+    /**
+     * 商户服务接口
+     * */
+    private MerchantService merchantService;
+
+    /**
+     * 卡券服务接口
+     */
+    private CouponService couponService;
+
+    /**
+     * 充值余额
+     * */
+    @RequestMapping(value = "/sendCoupon", method = RequestMethod.POST)
+    @CrossOrigin
+    public ResponseObject sendCoupon(HttpServletRequest request, @RequestBody CouponReceiveParam receiveParam) throws BusinessCheckException {
+        String token = request.getHeader("Access-Token");
+        String merchantNo = request.getHeader("merchantNo") == null ? "" : request.getHeader("merchantNo");
+        Integer merchantId = merchantService.getMerchantId(merchantNo);
+        if (StringUtil.isEmpty(token)) {
+            return getFailureResult(1001);
+        }
+
+        UserInfo userInfo = TokenUtil.getUserInfoByToken(token);
+        if (null == userInfo) {
+            return getFailureResult(1001);
+        }
+
+        MtStaff staffInfo = null;
+        MtUser mtUser = memberService.queryMemberById(userInfo.getId());
+        if (mtUser != null && mtUser.getMobile() != null) {
+            staffInfo = staffService.queryStaffByMobile(mtUser.getMobile());
+        }
+        if (staffInfo == null) {
+            return getFailureResult(201, "该账号不是商户");
+        }
+        if (!merchantId.equals(staffInfo.getMerchantId())) {
+            return getFailureResult(201, "您没有操作权限");
+        }
+
+        couponService.sendCoupon(receiveParam.getCouponId(), receiveParam.getUserId(), receiveParam.getNum(), true, null, staffInfo.getRealName());
+        return getSuccessResult(true);
+    }
+}

+ 6 - 3
fuint-application/src/main/java/com/fuint/module/merchantApi/controller/MerchantMemberController.java

@@ -222,7 +222,6 @@ public class MerchantMemberController extends BaseController {
         if (staffInfo == null) {
         if (staffInfo == null) {
             return getFailureResult(201, "该账号不是商户");
             return getFailureResult(201, "该账号不是商户");
         }
         }
-
         MtUser mtUser = new MtUser();
         MtUser mtUser = new MtUser();
         if (memberInfoParam.getId() != null) {
         if (memberInfoParam.getId() != null) {
             mtUser = memberService.queryMemberById(memberInfoParam.getId());
             mtUser = memberService.queryMemberById(memberInfoParam.getId());
@@ -235,8 +234,12 @@ public class MerchantMemberController extends BaseController {
         mtUser.setSex(memberInfoParam.getSex());
         mtUser.setSex(memberInfoParam.getSex());
         mtUser.setBirthday(memberInfoParam.getBirthday());
         mtUser.setBirthday(memberInfoParam.getBirthday());
         mtUser.setUserNo(memberInfoParam.getUserNo());
         mtUser.setUserNo(memberInfoParam.getUserNo());
-
-        MtUser memberInfo = memberService.addMember(mtUser, null);
+        MtUser memberInfo;
+        if (memberInfoParam.getId() == null) {
+            memberInfo = memberService.addMember(mtUser, null);
+        } else {
+            memberInfo = memberService.updateMember(mtUser, false);
+        }
         return getSuccessResult(memberInfo);
         return getSuccessResult(memberInfo);
     }
     }
 }
 }