Althars123 3 жил өмнө
parent
commit
421052f745

+ 17 - 0
twzd-common/src/main/java/com/miaxis/common/core/domain/entity/UserInfo.java

@@ -93,4 +93,21 @@ public class UserInfo extends BaseBusinessEntity{
     @ApiModelProperty(value = "销售类型0- 非销售1- 个人销售2- 团队销售")
     private Integer saleType;
 
+    @ApiModelProperty(value = "所属城市名称")
+    private String cityName;
+
+    @ApiModelProperty(value = "所属区名称")
+    private String areaName;
+
+    @ApiModelProperty(value = "所属驾校名称")
+    private String schoolName;
+
+    @ApiModelProperty(value = "直接收益金额,单位分")
+    private Integer profitPrice;
+
+
+    @ApiModelProperty(value = "业绩,单位分")
+    private Integer achievement;
+
+
 }

+ 144 - 0
twzd-service/src/main/java/com/miaxis/school/domain/SchoolInfo.java

@@ -0,0 +1,144 @@
+package com.miaxis.school.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.miaxis.common.annotation.Excel;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+/**
+ * 驾校信息对象 school_info
+ *
+ * @author chenjian
+ * @date 2022-01-20
+ */
+@Data
+@TableName("school_info")
+@ApiModel(value = "SchoolInfo", description = "驾校信息对象 school_info")
+public class SchoolInfo extends BaseBusinessEntity{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    @TableId(value = "id")
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    /** 地市编号 */
+    @Excel(name = "地市编号")
+    @TableField("city_code")
+    @ApiModelProperty(value = "地市编号")
+    private String cityCode;
+
+    /** 地市名称 */
+    @Excel(name = "地市名称")
+    @TableField("city_name")
+    @ApiModelProperty(value = "地市名称")
+    private String cityName;
+
+    /** 地区编号 */
+    @Excel(name = "地区编号")
+    @TableField("area_code")
+    @ApiModelProperty(value = "地区编号")
+    private String areaCode;
+
+    /** 地区名称 */
+    @Excel(name = "地区名称")
+    @TableField("area_name")
+    @ApiModelProperty(value = "地区名称")
+    private String areaName;
+
+    /** 驾校编号 */
+    @Excel(name = "驾校编号")
+    @TableField("school_no")
+    @ApiModelProperty(value = "驾校编号")
+    private String schoolNo;
+
+    /** 驾校名称 */
+    @Excel(name = "驾校名称")
+    @TableField("school_name")
+    @ApiModelProperty(value = "驾校名称")
+    private String schoolName;
+
+    /** 驾校简称 */
+    @Excel(name = "驾校简称")
+    @TableField("short_name")
+    @ApiModelProperty(value = "驾校简称")
+    private String shortName;
+
+    public void setId(Long id){
+        this.id = id;
+    }
+
+    public Long getId(){
+        return id;
+    }
+    public void setCityCode(String cityCode){
+        this.cityCode = cityCode;
+    }
+
+    public String getCityCode(){
+        return cityCode;
+    }
+    public void setCityName(String cityName){
+        this.cityName = cityName;
+    }
+
+    public String getCityName(){
+        return cityName;
+    }
+    public void setAreaCode(String areaCode){
+        this.areaCode = areaCode;
+    }
+
+    public String getAreaCode(){
+        return areaCode;
+    }
+    public void setAreaName(String areaName){
+        this.areaName = areaName;
+    }
+
+    public String getAreaName(){
+        return areaName;
+    }
+    public void setSchoolNo(String schoolNo){
+        this.schoolNo = schoolNo;
+    }
+
+    public String getSchoolNo(){
+        return schoolNo;
+    }
+    public void setSchoolName(String schoolName){
+        this.schoolName = schoolName;
+    }
+
+    public String getSchoolName(){
+        return schoolName;
+    }
+    public void setShortName(String shortName){
+        this.shortName = shortName;
+    }
+
+    public String getShortName(){
+        return shortName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("cityCode", getCityCode())
+            .append("cityName", getCityName())
+            .append("areaCode", getAreaCode())
+            .append("areaName", getAreaName())
+            .append("schoolNo", getSchoolNo())
+            .append("schoolName", getSchoolName())
+            .append("shortName", getShortName())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 25 - 0
twzd-service/src/main/java/com/miaxis/school/mapper/SchoolInfoMapper.java

@@ -0,0 +1,25 @@
+package com.miaxis.school.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.school.domain.SchoolInfo;
+import com.miaxis.wx.service.impl.WxGzhServiceImpl;
+
+import java.util.List;
+
+/**
+ * 驾校信息Mapper接口
+ *
+ * @author miaxis
+ * @date 2022-01-20
+ */
+public interface SchoolInfoMapper extends BaseMapper<SchoolInfo> {
+    /**
+     * 查询驾校信息列表
+     *
+     * @param schoolInfo 驾校信息
+     * @return 驾校信息集合
+     */
+    public List<SchoolInfo> selectSchoolInfoList(SchoolInfo schoolInfo);
+
+    List<String> queryNames(WxGzhServiceImpl.QueryParams queryParams);
+}

+ 21 - 0
twzd-service/src/main/java/com/miaxis/school/service/ISchoolInfoService.java

@@ -0,0 +1,21 @@
+package com.miaxis.school.service;
+
+import java.util.List;
+import com.miaxis.school.domain.SchoolInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 驾校信息Service接口
+ *
+ * @author miaxis
+ * @date 2022-01-20
+ */
+public interface ISchoolInfoService extends IService<SchoolInfo>{
+    /**
+     * 查询驾校信息列表
+     *
+     * @param schoolInfo 驾校信息
+     * @return 驾校信息集合
+     */
+    public List<SchoolInfo> selectSchoolInfoList(SchoolInfo schoolInfo);
+}

+ 36 - 0
twzd-service/src/main/java/com/miaxis/school/service/impl/SchoolInfoServiceImpl.java

@@ -0,0 +1,36 @@
+package com.miaxis.school.service.impl;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.miaxis.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.apache.commons.lang3.StringUtils;
+import com.miaxis.school.mapper.SchoolInfoMapper;
+import com.miaxis.school.domain.SchoolInfo;
+import com.miaxis.school.service.ISchoolInfoService;
+
+/**
+ * 驾校信息Service业务层处理
+ *
+ * @author miaxis
+ * @date 2022-01-20
+ */
+@Service
+public class SchoolInfoServiceImpl extends ServiceImpl<SchoolInfoMapper, SchoolInfo> implements ISchoolInfoService {
+    @Autowired
+    private SchoolInfoMapper schoolInfoMapper;
+
+    /**
+     * 查询驾校信息列表
+     *
+     * @param schoolInfo 驾校信息
+     * @return 驾校信息
+     */
+    @Override
+    public List<SchoolInfo> selectSchoolInfoList(SchoolInfo schoolInfo){
+        return schoolInfoMapper.selectSchoolInfoList(schoolInfo);
+    }
+}

+ 4 - 1
twzd-service/src/main/java/com/miaxis/user/mapper/UserInfoMapper.java

@@ -1,9 +1,10 @@
 package com.miaxis.user.mapper;
 
-import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.miaxis.common.core.domain.entity.UserInfo;
 
+import java.util.List;
+
 /**
  * 用户Mapper接口
  *
@@ -23,4 +24,6 @@ public interface UserInfoMapper extends BaseMapper<UserInfo> {
     List<UserInfo> selectUserByParentOpenid(String openid);
 
     List<UserInfo> selectUserByList(List<String> collect);
+
+    UserInfo getUpUserInfo(String fromUserName);
 }

+ 4 - 2
twzd-service/src/main/java/com/miaxis/user/service/IUserInfoService.java

@@ -1,10 +1,10 @@
 package com.miaxis.user.service;
 
-import java.util.List;
-
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.miaxis.common.core.domain.entity.UserInfo;
 
+import java.util.List;
+
 /**
  * 用户Service接口
  *
@@ -19,4 +19,6 @@ public interface IUserInfoService extends IService<UserInfo>{
      * @return 用户集合
      */
     public List<UserInfo> selectUserInfoList(UserInfo userInfo);
+
+    UserInfo getUpUserInfo(String fromUserName);
 }

+ 5 - 0
twzd-service/src/main/java/com/miaxis/user/service/impl/UserInfoServiceImpl.java

@@ -34,4 +34,9 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
     public List<UserInfo> selectUserInfoList(UserInfo userInfo){
         return userInfoMapper.selectUserInfoList(userInfo);
     }
+
+    @Override
+    public UserInfo getUpUserInfo(String fromUserName) {
+        return userInfoMapper.getUpUserInfo(fromUserName);
+    }
 }

+ 3 - 0
twzd-service/src/main/java/com/miaxis/wx/service/impl/QueryParams.java

@@ -0,0 +1,3 @@
+package com.miaxis.wx.service.impl;
+
+

+ 82 - 6
twzd-service/src/main/java/com/miaxis/wx/service/impl/WxGzhServiceImpl.java

@@ -8,13 +8,16 @@ import com.miaxis.common.core.domain.entity.UserInfo;
 import com.miaxis.common.utils.StringUtils;
 import com.miaxis.common.utils.wx.MessageUtil;
 import com.miaxis.feign.service.IWxSendService;
+import com.miaxis.school.mapper.SchoolInfoMapper;
 import com.miaxis.system.service.ISysUserService;
+import com.miaxis.user.service.IUserInfoService;
 import com.miaxis.wx.domain.WxForeverCode;
 import com.miaxis.wx.mapper.WxMenuMapper;
 import com.miaxis.wx.service.IWxForeverCodeService;
 import com.miaxis.wx.service.IWxGzhService;
 import com.miaxis.wx.service.IWxMessageEvenService;
 import com.qcloud.cos.COSClient;
+import lombok.Data;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.IOUtils;
@@ -46,10 +49,14 @@ public class WxGzhServiceImpl implements IWxGzhService {
 
     private final ISysUserService userService;
 
+    private final IUserInfoService userInfoService;
+
     private final IWxMessageEvenService wxMessageEvenService;
 
     private final IWxForeverCodeService wxForeverCodeService;
 
+    private final SchoolInfoMapper schoolInfoMapper;
+
     @Value("${app.appid}")
     private String appid;
 
@@ -126,10 +133,12 @@ public class WxGzhServiceImpl implements IWxGzhService {
                 }
                 else if (content.startsWith("你好")){
                     return MessageUtil.initText(fromUserName, toUserName, "你好啊");
-                }else if (content.startsWith("傻逼")){
-                    return MessageUtil.initText(fromUserName, toUserName, "你才是煞笔");
+                }else if (content.startsWith("查看菜单")){
+                    String content1 = "<a href=\"weixin://bizmsgmenu?msgmenuid=1&msgmenucontent=菜单1\">\\n";
+                    content1+="<a href=\"weixin://bizmsgmenu?msgmenuid=2&msgmenucontent=菜单2\">\\n";
+                    return MessageUtil.initText(fromUserName, toUserName, content1);
                 }else {
-                    return MessageUtil.initText(fromUserName, toUserName, "文本消息-默认回复信息");
+                    return MessageUtil.initText(fromUserName, toUserName, "金牌车教,您的学车好伙伴!");
                 }
 
             } else if (MessageUtil.MESSAGE_IMAGE.equals(msgType)) { // 图片消息
@@ -159,7 +168,7 @@ public class WxGzhServiceImpl implements IWxGzhService {
                         return MessageUtil.initText(fromUserName,toUserName,subscribeEvent);
 
                     }else {
-                        return MessageUtil.initText(fromUserName, toUserName, "关注事件");
+                        return MessageUtil.initText(fromUserName, toUserName, "欢迎关注金牌车教,您的学车好伙伴!");
                     }
 
                 }  else if (MessageUtil.MESSAGE_UNSUBSCRIBE.equals(event)) { // 取消订阅事件
@@ -183,6 +192,15 @@ public class WxGzhServiceImpl implements IWxGzhService {
                             String mediaId = wxMessageEvenService.gainTicketEvent(fromUserName, this.getGzhToken(),true,wxForeverCode);
                             return MessageUtil.initImage(fromUserName,toUserName,mediaId);
                         }
+                        //判定是否需要填写驾校信息
+                        //查询该用户的销售类型
+                        UserInfo userInfo = userInfoService.getOne(new QueryWrapper<UserInfo>().eq("openid", fromUserName));
+                        //查询该用户的上级
+                        UserInfo upUserInfo = userInfoService.getUpUserInfo(fromUserName);
+                        //当用户销售类型为 普通用户(含驾校分成) 并且他的父级不是代理商(含驾校分成)时,则需要填写驾校信息,且未填写驾校信息时
+//                        if (userInfo.getSaleType() ==1 && upUserInfo.getSaleType()!=3 && upUserInfo.getSchoolName() == null ){
+//                            return choseSchoolName(userInfo,null,fromUserName,toUserName);
+//                        }
                         String mediaId = wxMessageEvenService.gainTicketEvent(fromUserName, this.getGzhToken(), false, wxForeverCode);
                         return MessageUtil.initImage(fromUserName,toUserName,mediaId);
                     }
@@ -197,8 +215,66 @@ public class WxGzhServiceImpl implements IWxGzhService {
         return null;
     }
 
-    public static void main(String[] args) {
-        System.out.println("qrscene_ovKTX5-FKLF6_sgTtCIXpG_lz3PY".substring(8));
+//    private String choseSchoolName(UserInfo userInfo,String text,String fromUserName,String toUserName) throws Exception {
+//        int index =0;
+//        if (userInfo.getCityName() ==null){
+//            if ()
+//            QueryParams queryParams = new QueryParams();
+//            queryParams.setChoseColumName("city_name");
+//            List<String> cities = schoolInfoMapper.queryNames(queryParams);
+//            String content = "请选择驾校所在省份: \\n";
+//            for (String city: cities){
+//                content+="  "+"<a href=\"weixin://bizmsgmenu?msgmenuid="+index+"&msgmenucontent="+city+"\">"+city+"</a>\\n";
+//                index++;
+//            }
+//            return MessageUtil.initText(fromUserName, toUserName, content);
+//        }
+//
+//        //如果输入值是市名称,则查出改市所有区名称
+//        if (cities.contains(text)){
+//            QueryParams queryParamsArea = new QueryParams();
+//            queryParams.setChoseColumName("area_name");
+//            queryParams.setConditionColumName("city_name");
+//            queryParams.setValue(text);
+//            List<String> areas = schoolInfoMapper.queryNames(queryParamsArea);
+//            String content = "请选择驾校所在区: \\n";
+//            for (String area: areas){
+//                content+="  "+"<a href=\"weixin://bizmsgmenu?msgmenuid="+index+"&msgmenucontent="+area+"\">"+area+"</a>\\n";
+//                index++;
+//            }
+//            return MessageUtil.initText(fromUserName, toUserName, content);
+//        }
+//
+//        QueryParams queryParamsArea = new QueryParams();
+//        queryParams.setChoseColumName("area_name");
+//        queryParams.setConditionColumName("city_name");
+//        queryParams.setValue(text);
+//        List<String> areas = schoolInfoMapper.queryNames(queryParamsArea);
+//        //如果输入值是区名称,则选出所有区驾校名称
+//        if (areas.contains(text)){
+//            QueryParams queryParamsSchool = new QueryParams();
+//            queryParams.setChoseColumName("area_name");
+//            queryParams.setConditionColumName("city_name");
+//            queryParams.setValue(text);
+//            List<String> areas = schoolInfoMapper.queryNames(queryParamsArea);
+//            String content = "请选择驾校所在区: \\n";
+//            for (String area: areas){
+//                content+="  "+"<a href=\"weixin://bizmsgmenu?msgmenuid="+index+"&msgmenucontent="+area+"\">"+area+"</a>\\n";
+//                index++;
+//            }
+//            return MessageUtil.initText(fromUserName, toUserName, content);
+//        }
+
+
+//        return null;
+//    }
+
+
+    @Data
+    public class QueryParams {
+        String choseColumName;
+        String conditionColumName;
+        String value;
     }
 
 

+ 45 - 0
twzd-service/src/main/resources/mapper/school/SchoolInfoMapper.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miaxis.school.mapper.SchoolInfoMapper">
+
+    <resultMap type="SchoolInfo" id="SchoolInfoResult">
+        <result property="id"    column="id"    />
+        <result property="cityCode"    column="city_code"    />
+        <result property="cityName"    column="city_name"    />
+        <result property="areaCode"    column="area_code"    />
+        <result property="areaName"    column="area_name"    />
+        <result property="schoolNo"    column="school_no"    />
+        <result property="schoolName"    column="school_name"    />
+        <result property="shortName"    column="short_name"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectSchoolInfoVo">
+        select * from school_info
+    </sql>
+
+    <select id="selectSchoolInfoList" parameterType="SchoolInfo" resultMap="SchoolInfoResult">
+        <include refid="selectSchoolInfoVo"/>
+        <where>
+            <if test="cityCode != null  and cityCode != ''"> and city_code = #{cityCode}</if>
+            <if test="cityName != null  and cityName != ''"> and city_name like concat('%', #{cityName}, '%')</if>
+            <if test="areaCode != null  and areaCode != ''"> and area_code = #{areaCode}</if>
+            <if test="areaName != null  and areaName != ''"> and area_name like concat('%', #{areaName}, '%')</if>
+            <if test="schoolNo != null  and schoolNo != ''"> and school_no = #{schoolNo}</if>
+            <if test="schoolName != null  and schoolName != ''"> and school_name like concat('%', #{schoolName}, '%')</if>
+            <if test="shortName != null  and shortName != ''"> and short_name like concat('%', #{shortName}, '%')</if>
+        </where>
+    </select>
+
+    <select id="queryNames" resultType="string">
+        select distinct(${columName}) from school_info
+        <if test="conditionColumName != null  and conditionColumName != ''">
+        where ${conditionColumName} = #{value}
+        </if>
+
+    </select>
+
+</mapper>

+ 4 - 0
twzd-service/src/main/resources/mapper/user/UserInfoMapper.xml

@@ -66,5 +66,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY u.create_time desc
 
     </select>
+    <select id="getUpUserInfo"  resultType="com.miaxis.common.core.domain.entity.UserInfo">
+        select * from user_info
+        where openid = (select parent_openid from wx_spread_relation where openid = #{fromUserName})
+    </select>
 
 </mapper>