Duan_xu преди 2 години
родител
ревизия
5d4e6fd188

+ 15 - 11
src/main/java/com/caimei365/user/components/WeChatService.java

@@ -17,6 +17,8 @@ import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 import java.security.AlgorithmParameters;
 import java.security.Security;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -306,16 +308,14 @@ public class WeChatService {
      * @param remarkText 备注
      * @param pagePath 跳转链接
      */
-    public void sendTemplateMsgs(String accessToken, String openid, String title, String name,String time, Double money, String date,String remarkText, String pagePath) {
+    public void sendTemplateMsgs(String accessToken, String openid, String title, String name, Double money, String date,String remarkText, String pagePath) {
         JSONObject first = new JSONObject();
         first.put("value", title);
         JSONObject keyword1 = new JSONObject();
         keyword1.put("value", name);
         JSONObject keyword2 = new JSONObject();
-        keyword2.put("value", time);
+        keyword2.put("value", money.toString());
         JSONObject keyword3 = new JSONObject();
-        keyword3.put("value", money.toString());
-        JSONObject keyword4 = new JSONObject();
         keyword3.put("value", date);
         JSONObject remark = new JSONObject();
         remark.put("value", remarkText);
@@ -325,7 +325,6 @@ public class WeChatService {
         data.put("keyword1", keyword1);
         data.put("keyword2", keyword2);
         data.put("keyword3", keyword3);
-        data.put("keyword4", keyword4);
         data.put("remark", remark);
 
         JSONObject miniProgram = new JSONObject();
@@ -362,15 +361,17 @@ public class WeChatService {
      * @param remarkText 备注
      * @param pagePath 跳转链接
      */
-    public void sendTemplateMsg(String accessToken, String openid, String title, String name,String type,String date,String remarkText, String pagePath) {
+    public void sendTemplateMsg(String accessToken, String openid,String date,String remarkText, String pagePath) {
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        Date dat=new Date();
         JSONObject first = new JSONObject();
-        first.put("value", title);
+        first.put("value", "恭喜您成功续费采美超级会员");
         JSONObject keyword1 = new JSONObject();
-        keyword1.put("value", name);
+        keyword1.put("value", "超级会员");
         JSONObject keyword2 = new JSONObject();
-        keyword2.put("value", date);
+        keyword1.put("value", dateFormat.format(dat));
         JSONObject remark = new JSONObject();
-        remark.put("value", remarkText);
+        remark.put("value", "如在使用中有任何疑问,请在小程序内联系在线客服");
 
         JSONObject data = new JSONObject();
         data.put("first", first);
@@ -496,7 +497,7 @@ public class WeChatService {
 
         JSONObject json = new JSONObject(new LinkedHashMap());
         json.put("touser",openid);
-        json.put("template_id","QHsM0AhlgGaX6kJ6vFm1wAKIkNjnZdWPjFGOKopLbsM");
+        json.put("template_id","jYUIq63wP6mGFvkgNHgTOXAgF7j6h_VZKgST_-2fqCo");
         json.put("url","https://www.caimei365.com/");
         json.put("miniprogram", miniProgram);
         json.put("data", data);
@@ -517,4 +518,7 @@ public class WeChatService {
 
 
 
+
+
+
 }

+ 5 - 2
src/main/java/com/caimei365/user/mapper/MessageCenterMapper.java

@@ -1,11 +1,10 @@
 package com.caimei365.user.mapper;
 
-import com.caimei365.user.model.ResponseJson;
+
 import com.caimei365.user.model.vo.CouponVo;
 import com.caimei365.user.model.vo.MessageCenter;
 import com.caimei365.user.model.vo.UserVo;
 import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -60,6 +59,8 @@ public interface MessageCenterMapper {
 
     String FromUnionId(Integer userID);
 
+    String UnionIdList(Integer userID);
+
     Integer getVipHistoryCount(Integer userID);
 
     MessageCenter MainImage(Integer userType, Integer commonId,Integer orderID);
@@ -80,6 +81,8 @@ public interface MessageCenterMapper {
 
     Integer userIds(Integer shopID);
 
+    String shopName(Integer shopID);
+
     Integer deleteMessage(String id);
 
     Integer updateRead(Integer userType,String Id);

+ 60 - 172
src/main/java/com/caimei365/user/service/impl/LoginServiceImpl.java

@@ -338,7 +338,7 @@ public class LoginServiceImpl implements LoginService {
         PageHelper.startPage(pageNum, pageSize);
         List<MessageCenter> list = messageCenterMapper.MessageList(2, messageType, commonId);
         list.forEach(mess -> {
-            if (mess.getShopId() != null) {
+                String shopName=messageCenterMapper.shopName(commonId);
                 MessageCenter messageCenter = messageCenterMapper.productImage(mess.getProductId(),commonId);
                 if (messageCenter != null) {
                     mess.setMainImage(messageCenter.getMainImage());
@@ -350,9 +350,8 @@ public class LoginServiceImpl implements LoginService {
                     }
                     mess.setProductCount(messageCenter.getProductCount());
                     mess.setRefundType(messageCenter.getRefundType());
-                    mess.setShopName(messageCenter.getShopName());
-                }
             }
+            mess.setShopName(shopName);
         });
         if (source == 2) {
             messageCenterMapper.updateMessageAsRead(2, messageType, commonId);
@@ -362,177 +361,66 @@ public class LoginServiceImpl implements LoginService {
     }
 
 
-    /**
-     * 当天天下午3点推送
-     */
-//    @Scheduled(cron = "0 0 15 * * ?")
-    @Scheduled(cron = "0 0/2 * * * ?")
-    public Void Timesjf(){
-        //1.获取下午3点的时间
-        log.info(">>>>>>上架费到期推送开始");
-        List<Integer> shopIDs = messageCenterMapper.receiptShopID();
-        shopIDs.forEach(shopID -> {
-            if (shopID != null) {
-                String receiptDate = messageCenterMapper.receiptDate(shopID);
-                Double receiptAmount = messageCenterMapper.receiptAmount(shopID);
-                Calendar calendar = Calendar.getInstance();
-
-                Date d = new Date();
-                //1.日期格式
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
-                Date time = null;
-                try {
-                    time = sdf.parse(receiptDate);
-                } catch (ParseException e) {
-                    e.printStackTrace();
-                }
-                calendar.setTime(time);
-                calendar.add(Calendar.YEAR, 1);
-                String dateStrings = sdf.format(calendar.getTime());
-                //2.到期时间
-                Date da1 = null;
-                try {
-                    da1 = sdf.parse(dateStrings);
-                } catch (ParseException e) {
-                    e.printStackTrace();
-                }
-                //到期时间-当前时间=还剩多少天
-                Long s = (da1.getTime() - d.getTime()) / 24 / 60 / 60 / 1000;
-                //3.输出间隔天数         getTime获取的是毫秒
-                log.info("输出间隔天数----------->", s);
-                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                String current = dateFormat.format(new Date());
-                MessageCenter messageCenter = new MessageCenter();
-                //推送信息中心-上架费服务通知
-                if (s == 30) {
-                    messageCenter.setShopId(shopID);
-                    messageCenter.setClubId(null);
-                    messageCenter.setUserType(2);
-                    messageCenter.setMessageType(3);
-                    messageCenter.setShopTieredType(1);
-                    messageCenter.setContent(s + "日后");
-                    messageCenter.setTime(current);
-                    messageCenterMapper.addMessageCenter(messageCenter);
-                    String mobile = messageCenterMapper.contractMobiles(shopID);
-                    String content = "【采美365】您的供应商账号上架费将于30日后到期,到期后将无法发布和编辑商品,同时也会影响到其他采美提供的支持服务。请联系采美工作人员进行续费,联系电话0755-22907771 或15338851365";
-                    remoteCallService.remoteSendSms(0, 1, mobile, content);
-                }
-                if (s == 7) {
-                    messageCenter.setShopId(shopID);
-                    messageCenter.setClubId(null);
-                    messageCenter.setUserType(2);
-                    messageCenter.setMessageType(3);
-                    messageCenter.setShopTieredType(1);
-                    messageCenter.setContent(s + "日后");
-                    messageCenter.setTime(current);
-                    messageCenterMapper.addMessageCenter(messageCenter);
-                    String mobile = messageCenterMapper.contractMobiles(shopID);
-                    String content = "【采美365】您的供应商账号上架费将于7日后到期,到期后将无法发布和编辑商品,同时也会影响到其他采美提供的支持服务。请联系采美工作人员进行续费,联系电话0755-22907771 或15338851365";
-                    remoteCallService.remoteSendSms(0, 1, mobile, content);
-                }
-                if (s == 1) {
-                    messageCenter.setShopId(shopID);
-                    messageCenter.setClubId(null);
-                    messageCenter.setUserType(2);
-                    messageCenter.setMessageType(3);
-                    messageCenter.setShopTieredType(1);
-                    messageCenter.setContent("今日");
-                    messageCenter.setTime(current);
-                    messageCenterMapper.addMessageCenter(messageCenter);
-                    String mobile = messageCenterMapper.contractMobiles(shopID);
-                    String content = "【采美365】您的供应商账号上架费将于今日后到期,到期后将无法发布和编辑商品,同时也会影响到其他采美提供的支持服务。请联系采美工作人员进行续费,联系电话0755-22907771 或15338851365";
-                    remoteCallService.remoteSendSms(0, 1, mobile, content);
-                }
-                if (s <= 0) {
-                    messageCenter.setShopId(shopID);
-                    messageCenter.setClubId(null);
-                    messageCenter.setUserType(2);
-                    messageCenter.setMessageType(3);
-                    messageCenter.setShopTieredType(1);
-                    messageCenter.setContent("已过期");
-                    messageCenter.setTime(current);
-                    messageCenterMapper.addMessageCenter(messageCenter);
-                }
-                try {
-                    log.info("***********上架费过期微信公众号推送************");
-                    Integer userId=messageCenterMapper.userIds(shopID);
-                    String accessToken = weChatService.getAccessToken();
-                    String openid = messageCenterMapper.getOpenidListByPermission(messageCenterMapper.FromUnionId(userId));
-                    String date = s.toString();
-                    String remarkText = "如在使用中有任何疑问,请在小程序内联系在线客服";
-                    // 跳转到【小程序付款-选择支付方式页面】
-                    String pagePath = "https://www.caimei365.com/";
-                    // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接
-                    log.error("获取openid>>>>>" + openid);
-                    weChatService.sendTemplate(accessToken, openid, date, receiptDate, dateStrings, receiptAmount, remarkText, pagePath);
-                } catch (Exception e) {
-                    log.error("【上架费过期通知】获取微信公众号access_token异常!", e);
-                }
-            }
-        });
-        log.info(">>>>>>上架费到期推送结束");
-        return null;
-    }
-
-
-    /**
-     * 当天天下午3点推送超级会员过期条件
-     */
-//    @Scheduled(cron = "0 0 15 * * ?")
-    @Scheduled(cron = "0 0/2 * * * ?")
-    private Void Timerw() throws ParseException {
-
-        List<SuperVipPo> superV = vipMapper.findVip();
-        superV.forEach(superVip -> {
-            Integer clubId = messageCenterMapper.clubIdCule(superVip.getUserId());
-            if (clubId != null) {
-                if (superVip != null) {
-                    Date d = new Date();
-                    //1.日期格式
-                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
-                    String endTime = sdf.format(superVip.getEndTime());
-                    //2.某天的日期
-                    Date da1 = null;
-                    try {
-                        da1 = sdf.parse(endTime);
-                    } catch (ParseException e) {
-                        e.printStackTrace();
-                    }
-                    Long s = (d.getTime() - da1.getTime()) / 24 / 60 / 60 / 1000;
-                    //3.输出间隔天数         getTime获取的是毫秒
-                    log.info("输出间隔天数----------->", s);
-                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                    String current = dateFormat.format(new Date());
-                    MessageCenter messageCenter = new MessageCenter();
-                    //推送信息中心-账户通知
-                    if (s == 7) {
-                        messageCenter.setShopId(null);
-                        messageCenter.setClubId(clubId);
-                        messageCenter.setUserType(1);
-                        messageCenter.setMessageType(2);
-                        messageCenter.setAccountType(3);
-                        messageCenter.setContent(s + "日后");
-                        messageCenter.setTime(current);
-                        messageCenterMapper.addMessageCenter(messageCenter);
-
 
-                    }
-                    if (s == 1) {
-                        messageCenter.setShopId(null);
-                        messageCenter.setClubId(clubId);
-                        messageCenter.setUserType(1);
-                        messageCenter.setMessageType(2);
-                        messageCenter.setAccountType(3);
-                        messageCenter.setContent("今日后");
-                        messageCenter.setTime(current);
-                        messageCenterMapper.addMessageCenter(messageCenter);
+//    /**
+//     * 当天天下午3点推送超级会员过期条件
+//     */
+////    @Scheduled(cron = "0 0 15 * * ?")
+//    @Scheduled(cron = "0 0/2 * * * ?")
+//    private Void Timerw() throws ParseException {
+//
+//        List<SuperVipPo> superV = vipMapper.findVip();
+//        superV.forEach(superVip -> {
+//            Integer clubId = messageCenterMapper.clubIdCule(superVip.getUserId());
+//            if (clubId != null) {
+//                if (superVip != null) {
+//                    Date d = new Date();
+//                    //1.日期格式
+//                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+//                    String endTime = sdf.format(superVip.getEndTime());
+//                    //2.某天的日期
+//                    Date da1 = null;
+//                    try {
+//                        da1 = sdf.parse(endTime);
+//                    } catch (ParseException e) {
+//                        e.printStackTrace();
+//                    }
+//                    Long s = (d.getTime() - da1.getTime()) / 24 / 60 / 60 / 1000;
+//                    //3.输出间隔天数         getTime获取的是毫秒
+//                    log.info("输出间隔天数----------->", s);
+//                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//                    String current = dateFormat.format(new Date());
+//                    MessageCenter messageCenter = new MessageCenter();
+//                    //推送信息中心-账户通知
+//                    if (s == 7) {
+//                        messageCenter.setShopId(null);
+//                        messageCenter.setClubId(clubId);
+//                        messageCenter.setUserType(1);
+//                        messageCenter.setMessageType(2);
+//                        messageCenter.setAccountType(3);
+//                        messageCenter.setContent(s + "日后");
+//                        messageCenter.setTime(current);
+//                        messageCenterMapper.addMessageCenter(messageCenter);
+//
+//
+//                    }
+//                    if (s == 1) {
+//                        messageCenter.setShopId(null);
+//                        messageCenter.setClubId(clubId);
+//                        messageCenter.setUserType(1);
+//                        messageCenter.setMessageType(2);
+//                        messageCenter.setAccountType(3);
+//                        messageCenter.setContent("今日后");
+//                        messageCenter.setTime(current);
+//                        messageCenterMapper.addMessageCenter(messageCenter);
+//
+//                    }
+//                }
+//            }
+//        });
+//        return null;
+//    }
 
-                    }
-                }
-            }
-        });
-        return null;
-    }
 
 
     /**

+ 42 - 70
src/main/java/com/caimei365/user/service/impl/RegisterServiceImpl.java

@@ -229,18 +229,8 @@ public class RegisterServiceImpl implements RegisterService {
         messageCenter.setTime(current);
         messageCenterMapper.addMessageCenter(messageCenter);
 
-        // 注册成功短信
-//        String content = "注册成功!您可以通过手机号"+clubRegisterDto.getBindMobile()+"登录。";
-//        boolean smsFlag = remoteCallService.remoteSendSms(0, 1, clubRegisterDto.getBindMobile(), content);
-//        if (!smsFlag) {
-//            // 短信发送失败重试一次
-//            remoteCallService.remoteSendSms(0, 1, clubRegisterDto.getBindMobile(), content);
-//        }
-        /*
-            绑定微信,成为机构运营人员
-         */
+        //    绑定微信,成为机构运营人员
         if (StringUtils.isNotEmpty(clubRegisterDto.getNickName())) {
-
             MessageCenter messageCente=new MessageCenter();
             messageCente.setShopId(null);
             messageCente.setClubId(club.getClubId());
@@ -249,7 +239,7 @@ public class RegisterServiceImpl implements RegisterService {
             messageCente.setAccountType(7);
             messageCente.setContent(clubRegisterDto.getNickName());
             messageCente.setTime(current);
-            messageCenterMapper.addMessageCenter(messageCenter);
+            messageCenterMapper.addMessageCenter(messageCente);
 
             OperationPo operation = new OperationPo();
             // 组织Id,采美默认0
@@ -1037,6 +1027,27 @@ public class RegisterServiceImpl implements RegisterService {
                     messageCenter.setContent(pac.getDuration() + "个月");
                     messageCenter.setTime(current);
                     messageCenterMapper.addMessageCenter(messageCenter);
+
+                    try {
+                        log.info("***********会员充值微信公众号推送************");
+                        String accessToken = weChatService.getAccessToken();
+                        String unionId=messageCenterMapper.UnionIdList(userId);
+                        String openid = messageCenterMapper.getOpenidListByPermission(unionId);
+                        String title="恭喜您成为采美商城超级会员";
+                        String name=pac.getDuration() + "个月";
+                        Double price=pac.getPrice();
+                        String date="30";
+                        String time = current;
+                        String remarkText = "如在使用中有任何疑问,请在小程序内联系在线客服";
+                        // 跳转到【小程序付款-选择支付方式页面】
+                        String pagePath = "/pages/user/member/member";
+                        // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接
+                        log.error("获取openid>>>>>" + openid);
+                        weChatService.sendTemplateMsgs(accessToken, openid,title,name,price,date,remarkText, pagePath);
+                    } catch (Exception e) {
+                        log.error("【会员充值微信通知】获取微信公众号access_token异常!", e);
+                    }
+
                 }
                 return ResponseJson.success("支付采美豆购买成功");
             }
@@ -1061,6 +1072,25 @@ public class RegisterServiceImpl implements RegisterService {
                     messageCenter.setContent(pac.getDuration() + "个月");
                     messageCenter.setTime(current);
                     messageCenterMapper.addMessageCenter(messageCenter);
+
+                    try {
+                        log.info("***********会员续费微信公众号推送************");
+                        String accessToken = weChatService.getAccessToken();
+                        String unionId=messageCenterMapper.UnionIdList(userId);
+                        String openid = messageCenterMapper.getOpenidListByPermission(unionId);
+                        String date=current;
+                        String remarkText = "如在使用中有任何疑问,请在小程序内联系在线客服";
+                        // 跳转到【小程序付款-选择支付方式页面】
+                        String pagePath = "/pages/user/member/member";
+                        // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接
+                        log.error("获取openid>>>>>" + openid);
+                        weChatService.sendTemplateMsg(accessToken, openid,date,remarkText, pagePath);
+                    } catch (Exception e) {
+                        log.error("【会员充值微信通知】获取微信公众号access_token异常!", e);
+                    }
+
+
+
                 }
 
                 return ResponseJson.success("支付采美豆购买成功");
@@ -1129,64 +1159,6 @@ public class RegisterServiceImpl implements RegisterService {
         } else {
             // 新增超级会员购买记录
             vipMapper.addPayHistory(payHistory);
-//推送信息中心-账户通知
-            Integer clubId = messageCenterMapper.clubIdCule(userId);
-            if (clubId != null) {
-                //3.输出间隔天数         getTime获取的是毫秒
-                log.info("输出间隔月份----------->"+ s);
-                MessageCenter messageCenter = new MessageCenter();
-                messageCenter.setShopId(null);
-                messageCenter.setClubId(clubId);
-                messageCenter.setUserType(1);
-                messageCenter.setMessageType(2);
-                messageCenter.setAccountType(2);
-                messageCenter.setContent(s + "个月");
-                messageCenter.setTime(current);
-                messageCenterMapper.addMessageCenter(messageCenter);
-            }
-            if(count==0){
-                String name = "0";
-                try {
-                    log.info("***********会员办理微信公众号推送************");
-                    String accessToken = weChatService.getAccessToken();
-                    String openid = messageCenterMapper.getOpenidListByPermission(messageCenterMapper.FromUnionId(userId));
-                    name = "恭喜成为采美商城超级会员";
-                    String time="超级会员("+s+"个月)";
-                    String associateTitle = "会员办理成功通知";
-                    String date=s+"天";
-                    Double money =  payHistory.getPrice();
-                    String remarkText = "如在使用中有任何疑问,请在小程序内联系在线客服";
-                    // 跳转到【小程序付款-选择支付方式页面】
-                    String pagePath = "/pages/user/member/member";
-                    // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接
-                    log.error("获取openid>>>>>" + openid);
-                    weChatService.sendTemplateMsgs(accessToken, openid, associateTitle, name, time, money,date ,remarkText, pagePath);
-                } catch (Exception e) {
-                    log.error("【订单下单通知】获取微信公众号access_token异常!", e);
-                }
-            }else {
-                String name = "0";
-                SimpleDateFormat dnf=new SimpleDateFormat("yyyy年MM月dd日");
-
-                try {
-                    log.info("***********会员续费微信公众号推送************");
-                    String accessToken = weChatService.getAccessToken();
-                    String openid = messageCenterMapper.getOpenidListByPermission(messageCenterMapper.FromUnionId(userId));
-                    name = "恭喜您成功续费采美超级会员";
-                    String type="超级会员";
-                    String associateTitle = "续费成功提醒";
-                    String date=dnf.format(payHistory.getEndTime());
-                    String remarkText = "如在使用中有任何疑问,请在小程序内联系在线客服";
-                    // 跳转到【小程序付款-选择支付方式页面】
-                    String pagePath = "/pages/user/member/member";
-                    // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接
-                    log.error("获取openid>>>>>" + openid);
-                    weChatService.sendTemplateMsg(accessToken,openid, associateTitle,name,type,date,remarkText, pagePath);
-                } catch (Exception e) {
-                    log.error("【订单下单通知】获取微信公众号access_token异常!", e);
-                }
-            }
-
         }
 
         if (payHistory.getId() > 0) {

+ 2 - 0
src/main/java/com/caimei365/user/service/impl/RemoteCallServiceImpl.java

@@ -50,6 +50,8 @@ public class RemoteCallServiceImpl implements RemoteCallService {
             list.add("15814011616");
             list.add("13100721916");
             list.add("15113936829");
+            list.add("18476937515");
+            list.add("18175515644");
             if ("prod".equals(profile) || list.contains(mobile)) {
                 if (StringUtils.isNotBlank(mobile) && mobile.length() == 11) {
                     String regex = "^(1[3-9]\\d{9}$)";

+ 1 - 0
src/main/resources/mapper/LoginMapper.xml

@@ -290,6 +290,7 @@
         SELECT firstClubType
         FROM club
         WHERE userID = #{userId}
+        limit 1
     </select>
     <select id="findLoginFailRecord" resultType="com.caimei365.user.model.vo.LoginFailRecordVo">
         select id, loginTime, userId

+ 9 - 0
src/main/resources/mapper/MessageCenter.xml

@@ -106,6 +106,10 @@
         SELECT unionID FROM `cm_order` WHERE userID=#{userID} AND unionID IS NOT NULL  ORDER BY orderID DESC LIMIT 1
     </select>
 
+    <select id="UnionIdList" resultType="java.lang.String">
+        SELECT unionID FROM `cm_mall_operation_user` WHERE userID=#{userID} LIMIT 1
+    </select>
+
     <select id="getVipHistoryCount" resultType="java.lang.Integer">
         SELECT count(1)
         FROM cm_svip_history
@@ -230,4 +234,9 @@
             a.shopOD=#{shopID}
     </select>
 
+
+    <select id="shopName" resultType="java.lang.String">
+        SELECT name FROM `shop` WHERE shopID=#{shopID}
+    </select>
+
 </mapper>