Quellcode durchsuchen

Merge branch 'v3' of http://git.ycjcjy.com/zhiyuxing/estateagents into v3

张延森 vor 5 Jahren
Ursprung
Commit
66e49ebe43

+ 2
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java Datei anzeigen

@@ -154,7 +154,8 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
154 154
 				throw new Exception("更新用户公司信息失败");
155 155
 			}
156 156
 		}
157
-
157
+		
158
+		taUser.setLoginPassword(null);
158 159
 		if (taUserMapper.updateById(taUser) < 1) {
159 160
 			throw new Exception("更新用户信息失败");
160 161
 		}

+ 5
- 1
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java Datei anzeigen

@@ -234,6 +234,10 @@ public class TaBuildingDynamicController extends BaseController {
234 234
         }
235 235
 
236 236
         TaBuildingDynamic buildingDynamic = iBuildingDynamicService.getById(taActivityDynamicEnlist.getDynamicId());
237
+        // TODO 看代码里面是 is_enlist = 1 才是允许报名
238
+        if (buildingDynamic.getIsEnlist().intValue() != 1) {
239
+            return ResponseBean.error("活动不允许报名", ResponseBean.ERROR_UNAVAILABLE);
240
+        }
237 241
 
238 242
         // 携带的报名人数(是已经包括自己了),不能超过活动总人数
239 243
 
@@ -270,7 +274,7 @@ public class TaBuildingDynamicController extends BaseController {
270 274
     }
271 275
     
272 276
     
273
-    @ApiOperation(value = "后端活动添加", notes = "后端微信活动添加")
277
+    @ApiOperation(value = "后端活动添加", notes = "后端活动添加")
274 278
     @ApiImplicitParams({
275 279
             @ApiImplicitParam(dataType = "TaBuildingDynamic", name = "parameter", paramType = "body",value = "活动详细信息")
276 280
     })

+ 20
- 0
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java Datei anzeigen

@@ -15,6 +15,7 @@ import com.huiju.estateagents.entity.SysButtonInMenu;
15 15
 import com.huiju.estateagents.entity.TaRoleButton;
16 16
 import com.huiju.estateagents.service.ISysButtonInMenuService;
17 17
 import com.huiju.estateagents.service.ITaRoleButtonService;
18
+import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
18 19
 import io.jsonwebtoken.*;
19 20
 import org.springframework.beans.factory.annotation.Autowired;
20 21
 import org.springframework.stereotype.Component;
@@ -44,6 +45,9 @@ public class AccessInterceptor implements HandlerInterceptor {
44 45
     @Autowired
45 46
     private ITaButtonUriMapService taButtonUriMapService;
46 47
     
48
+    @Autowired
49
+    private ITaThirdPartyMiniappConfigService taThirdPartyMiniappConfigService;
50
+    
47 51
     private String[] whiteList = {
48 52
             "/wx/chat", // 聊天暂时不鉴权
49 53
             "/api/wx/login",
@@ -83,6 +87,22 @@ public class AccessInterceptor implements HandlerInterceptor {
83 87
 
84 88
     @Override
85 89
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
90
+        //第三方权限校验
91
+        String tokenHeader = request.getHeader("x-token");
92
+        if (!StringUtils.isEmpty(tokenHeader)){
93
+            String appidHeader = request.getHeader("x-appid");
94
+            String nowHeader = request.getHeader("x-time");
95
+            String thirdState = taThirdPartyMiniappConfigService.checkToken(tokenHeader,appidHeader,nowHeader);
96
+            if (thirdState.equals("success")){
97
+                return true;
98
+            }
99
+    
100
+            ResponseBean resp = ResponseBean.error(thirdState , ResponseBean.ERROR_AUTH_FAIL);
101
+            response.addHeader("Content-type", "application/json");
102
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
103
+            return false;
104
+        }
105
+        
86 106
         // 白名单跳过
87 107
         if (inWhiteList(request)) {
88 108
             return true;

+ 15
- 0
src/main/java/com/huiju/estateagents/service/impl/TaNewsTypeServiceImpl.java Datei anzeigen

@@ -7,10 +7,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.BeanTools;
9 9
 import com.huiju.estateagents.entity.TaBuilding;
10
+import com.huiju.estateagents.entity.TaNews;
10 11
 import com.huiju.estateagents.entity.TaNewsType;
11 12
 import com.huiju.estateagents.exception.EstaException;
12 13
 import com.huiju.estateagents.mapper.TaNewsTypeMapper;
13 14
 import com.huiju.estateagents.service.ITaBuildingService;
15
+import com.huiju.estateagents.service.ITaNewsService;
14 16
 import com.huiju.estateagents.service.ITaNewsTypeService;
15 17
 import org.apache.commons.lang3.StringUtils;
16 18
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +34,9 @@ public class TaNewsTypeServiceImpl extends ServiceImpl<TaNewsTypeMapper, TaNewsT
32 34
     @Autowired
33 35
     private ITaBuildingService iTaBuildingService;
34 36
 
37
+    @Autowired
38
+    private ITaNewsService iTaNewsService;
39
+
35 40
 
36 41
     @Override
37 42
     public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId) {
@@ -100,6 +105,16 @@ public class TaNewsTypeServiceImpl extends ServiceImpl<TaNewsTypeMapper, TaNewsT
100 105
         if (null == taBuilding) {
101 106
             throw new EstaException("楼盘不存在!");
102 107
         }
108
+        if (taNewsType.getStatus() != null && taNewsType.getStatus() == -1) {
109
+            QueryWrapper<TaNews> queryWrapper = new QueryWrapper<>();
110
+            queryWrapper.gt("status", -1);
111
+            queryWrapper.eq("news_type_id", taNewsType.getNewsTypeId());
112
+            Integer newsCount = iTaNewsService.count(queryWrapper);
113
+            if (newsCount != null && newsCount > 0) {
114
+                throw new EstaException("有资讯正在使用此资讯类型!");
115
+            }
116
+        }
117
+
103 118
     }
104 119
 
105 120
     @Override

+ 9
- 1
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Datei anzeigen

@@ -12,11 +12,13 @@ import com.huiju.estateagents.center.taUser.service.ITaUserService;
12 12
 import com.huiju.estateagents.common.CommConstant;
13 13
 import com.huiju.estateagents.common.DateUtils;
14 14
 import com.huiju.estateagents.common.StringUtils;
15
+import com.huiju.estateagents.entity.TaBuilding;
15 16
 import com.huiju.estateagents.entity.TaPerson;
16 17
 import com.huiju.estateagents.entity.TaRecommendCustomer;
17 18
 import com.huiju.estateagents.excel.AgentsRecommendCustomer;
18 19
 import com.huiju.estateagents.excel.ExcelRecommendCustomer;
19 20
 import com.huiju.estateagents.excel.ReporRecommendCustomer;
21
+import com.huiju.estateagents.mapper.TaBuildingMapper;
20 22
 import com.huiju.estateagents.mapper.TaPersonMapper;
21 23
 import com.huiju.estateagents.mapper.TaPersonVisitRecordMapper;
22 24
 import com.huiju.estateagents.mapper.TaRecommendCustomerMapper;
@@ -58,6 +60,9 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
58 60
     @Autowired
59 61
     ITaUserService userService;
60 62
 
63
+    @Autowired
64
+    private TaBuildingMapper taBuildingMapper;
65
+
61 66
     @Override
62 67
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
63 68
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
@@ -189,7 +194,10 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
189 194
 
190 195
 //        taRecommendCustomer.setAppointmentTime((String) params.get("appointmentTime"));
191 196
         taRecommendCustomer.setVisiteNum(params.getInteger("visiteNum"));
192
-        taRecommendCustomer.setIntention(params.getString("intention"));
197
+
198
+        TaBuilding building = taBuildingMapper.selectById(params.getString("intention"));
199
+        taRecommendCustomer.setIntention(building.getBuildingName());
200
+
193 201
         taRecommendCustomer.setRealtyManageType(params.getString("realtyManageType"));
194 202
         taRecommendCustomer.setDemandType(params.getString("demandType"));
195 203
         taRecommendCustomer.setPriceRange(params.getString("priceRange"));

+ 151
- 0
src/main/java/com/huiju/estateagents/third/controller/TaThirdPartyMiniappConfigController.java Datei anzeigen

@@ -0,0 +1,151 @@
1
+package com.huiju.estateagents.third.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
9
+import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.PathVariable;
14
+import org.springframework.web.bind.annotation.RequestBody;
15
+import org.springframework.web.bind.annotation.RequestMapping;
16
+import org.springframework.web.bind.annotation.RequestMethod;
17
+import org.springframework.web.bind.annotation.RequestParam;
18
+import org.springframework.web.bind.annotation.ResponseBody;
19
+import org.springframework.web.bind.annotation.RestController;
20
+
21
+import javax.servlet.http.HttpServletRequest;
22
+
23
+/**
24
+ * <p>
25
+    *   前端控制器
26
+    * </p>
27
+ *
28
+ * @author jobob
29
+ * @since 2019-10-17
30
+ */
31
+@RestController
32
+@RequestMapping("/api")
33
+public class TaThirdPartyMiniappConfigController extends BaseController {
34
+
35
+    private final Logger logger = LoggerFactory.getLogger(TaThirdPartyMiniappConfigController.class);
36
+
37
+    @Autowired
38
+    public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
39
+
40
+
41
+    /**
42
+     * 分页查询列表
43
+     * @param pageNum
44
+     * @param pageSize
45
+     * @return
46
+     */
47
+    @RequestMapping(value="/admin/thirdPartyMiniapp",method= RequestMethod.GET)
48
+    public ResponseBean taThirdPartyMiniappConfigList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
49
+                                                      @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
50
+                                                      HttpServletRequest request){
51
+        ResponseBean responseBean = new ResponseBean();
52
+        try {
53
+            //使用分页插件
54
+		    IPage<TaThirdPartyMiniappConfig> pg = new Page<>(pageNum, pageSize);
55
+            QueryWrapper<TaThirdPartyMiniappConfig> queryWrapper = new QueryWrapper<>();
56
+            queryWrapper.eq("org_id", getOrgId(request));
57
+
58
+            IPage<TaThirdPartyMiniappConfig> result = iTaThirdPartyMiniappConfigService.page(pg, queryWrapper);
59
+            responseBean.addSuccess(result);
60
+        }catch (Exception e){
61
+            e.printStackTrace();
62
+            logger.error("taThirdPartyMiniappConfigList -=- {}",e.toString());
63
+            responseBean.addError(e.getMessage());
64
+        }
65
+        return responseBean;
66
+    }
67
+
68
+    /**
69
+     * 保存对象
70
+     * @param taThirdPartyMiniappConfig 实体对象
71
+     * @return
72
+     */
73
+    @RequestMapping(value="/admin/thirdPartyMiniapp/add",method= RequestMethod.POST)
74
+    public ResponseBean taThirdPartyMiniappConfigAdd(@RequestBody TaThirdPartyMiniappConfig taThirdPartyMiniappConfig,HttpServletRequest request){
75
+        ResponseBean responseBean = new ResponseBean();
76
+        try {
77
+            taThirdPartyMiniappConfig.setOrgId(getOrgId(request));
78
+            if (iTaThirdPartyMiniappConfigService.save(taThirdPartyMiniappConfig)){
79
+                responseBean.addSuccess(taThirdPartyMiniappConfig);
80
+            }else {
81
+                responseBean.addError("fail");
82
+            }
83
+        }catch (Exception e){
84
+            e.printStackTrace();
85
+            logger.error("taThirdPartyMiniappConfigAdd -=- {}",e.toString());
86
+            responseBean.addError(e.getMessage());
87
+        }
88
+        return responseBean;
89
+    }
90
+
91
+    /**
92
+     * 根据id删除对象
93
+     * @param id  实体ID
94
+     */
95
+    @ResponseBody
96
+    @RequestMapping(value="/taThirdPartyMiniappConfig/{id}", method= RequestMethod.DELETE)
97
+    public ResponseBean taThirdPartyMiniappConfigDelete(@PathVariable Integer id){
98
+        ResponseBean responseBean = new ResponseBean();
99
+        try {
100
+            if(iTaThirdPartyMiniappConfigService.removeById(id)){
101
+                responseBean.addSuccess("success");
102
+            }else {
103
+                responseBean.addError("fail");
104
+            }
105
+        }catch (Exception e){
106
+            e.printStackTrace();
107
+            logger.error("taThirdPartyMiniappConfigDelete -=- {}",e.toString());
108
+            responseBean.addError(e.getMessage());
109
+        }
110
+        return responseBean;
111
+    }
112
+
113
+    /**
114
+     * 修改对象
115
+     * @param taThirdPartyMiniappConfig 实体对象
116
+     * @return
117
+     */
118
+    @RequestMapping(value="/admin/thirdPartyMiniapp/update",method= RequestMethod.PUT)
119
+    public ResponseBean taThirdPartyMiniappConfigUpdate(@RequestBody TaThirdPartyMiniappConfig taThirdPartyMiniappConfig){
120
+        ResponseBean responseBean = new ResponseBean();
121
+        try {
122
+            if (iTaThirdPartyMiniappConfigService.updateById(taThirdPartyMiniappConfig)){
123
+                responseBean.addSuccess(taThirdPartyMiniappConfig);
124
+            }else {
125
+                responseBean.addError("fail");
126
+            }
127
+        }catch (Exception e){
128
+            e.printStackTrace();
129
+            logger.error("taThirdPartyMiniappConfigUpdate -=- {}",e.toString());
130
+            responseBean.addError(e.getMessage());
131
+        }
132
+        return responseBean;
133
+    }
134
+
135
+    /**
136
+     * 根据id查询对象
137
+     * @param id  实体ID
138
+     */
139
+    @RequestMapping(value="/admin/thirdPartyMiniapp/{id}",method= RequestMethod.GET)
140
+    public ResponseBean taThirdPartyMiniappConfigGet(@PathVariable Integer id){
141
+        ResponseBean responseBean = new ResponseBean();
142
+        try {
143
+            responseBean.addSuccess(iTaThirdPartyMiniappConfigService.getById(id));
144
+        }catch (Exception e){
145
+            e.printStackTrace();
146
+            logger.error("taThirdPartyMiniappConfigDelete -=- {}",e.toString());
147
+            responseBean.addError(e.getMessage());
148
+        }
149
+        return responseBean;
150
+    }
151
+}

+ 64
- 0
src/main/java/com/huiju/estateagents/third/entity/TaThirdPartyMiniappConfig.java Datei anzeigen

@@ -0,0 +1,64 @@
1
+package com.huiju.estateagents.third.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import com.baomidou.mybatisplus.annotation.TableName;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+import java.io.Serializable;
11
+import java.time.LocalDateTime;
12
+
13
+/**
14
+ * <p>
15
+ *  
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-10-17
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@Accessors(chain = true)
24
+@TableName("ta_third_party_miniapp_config")
25
+public class TaThirdPartyMiniappConfig implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * id
31
+     */
32
+    @TableId(value = "config_id", type = IdType.AUTO)
33
+    private Integer configId;
34
+
35
+    /**
36
+     * appid
37
+     */
38
+    private String appid;
39
+
40
+    /**
41
+     * app_secret
42
+     */
43
+    private String appSecret;
44
+
45
+    /**
46
+     * 目标类型
47
+     */
48
+    private String targetType;
49
+
50
+    /**
51
+     * 目标id
52
+     */
53
+    private String targetId;
54
+
55
+    /**
56
+     * 公司id
57
+     */
58
+    private Integer orgId;
59
+    
60
+    /**
61
+     * 过期时间
62
+     */
63
+    private LocalDateTime expirationDate;
64
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/third/mapper/TaThirdPartyMiniappConfigMapper.java Datei anzeigen

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.third.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ *   Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2019-10-17
14
+ */
15
+@Mapper
16
+public interface TaThirdPartyMiniappConfigMapper extends BaseMapper<TaThirdPartyMiniappConfig> {
17
+
18
+}

+ 24
- 0
src/main/java/com/huiju/estateagents/third/service/ITaThirdPartyMiniappConfigService.java Datei anzeigen

@@ -0,0 +1,24 @@
1
+package com.huiju.estateagents.third.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
5
+
6
+/**
7
+ * <p>
8
+ *   服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-10-17
13
+ */
14
+public interface ITaThirdPartyMiniappConfigService extends IService<TaThirdPartyMiniappConfig> {
15
+	
16
+	/**
17
+	 * 校验是否合法第三方接口调用
18
+	 * @param tokenHeader
19
+	 * @param appidHeader
20
+	 * @param nowHeader
21
+	 * @return
22
+	 */
23
+	String checkToken(String tokenHeader, String appidHeader, String nowHeader);
24
+}

+ 61
- 0
src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java Datei anzeigen

@@ -0,0 +1,61 @@
1
+package com.huiju.estateagents.third.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.common.MD5Utils;
6
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
7
+import com.huiju.estateagents.third.mapper.TaThirdPartyMiniappConfigMapper;
8
+import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
9
+import org.springframework.beans.factory.annotation.Autowired;
10
+import org.springframework.stereotype.Service;
11
+
12
+import java.time.LocalDateTime;
13
+
14
+/**
15
+ * <p>
16
+ *   服务实现类
17
+ * </p>
18
+ *
19
+ * @author jobob
20
+ * @since 2019-10-17
21
+ */
22
+@Service
23
+public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPartyMiniappConfigMapper, TaThirdPartyMiniappConfig> implements ITaThirdPartyMiniappConfigService {
24
+	
25
+	@Autowired
26
+	private TaThirdPartyMiniappConfigMapper taThirdPartyMiniappConfigMapper;
27
+	
28
+	/**
29
+	 * 校验是否合法第三方接口调用
30
+	 *
31
+	 * @param tokenHeader
32
+	 * @param appidHeader
33
+	 * @param nowHeader
34
+	 * @return
35
+	 */
36
+	@Override
37
+	public String checkToken(String tokenHeader, String appidHeader, String nowHeader) {
38
+		//秘钥是否过期
39
+		QueryWrapper<TaThirdPartyMiniappConfig> queryWrapper = new QueryWrapper<>();
40
+		queryWrapper.eq("appid",appidHeader);
41
+		TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = taThirdPartyMiniappConfigMapper.selectOne(queryWrapper);
42
+		if (LocalDateTime.now().isAfter(taThirdPartyMiniappConfig.getExpirationDate())){
43
+			return "秘钥已过期,请重新申请";
44
+		}
45
+		
46
+		//判断nowHeader是十五分钟之内(15 * 60 * 1000)
47
+		if (System.currentTimeMillis() - Long.valueOf(nowHeader) > (15 * 60 * 1000)){
48
+			return "密钥超时,请在十五分钟内请求";
49
+		}
50
+		
51
+		//重新加密对比
52
+		StringBuilder stringBuilder = new StringBuilder();
53
+		stringBuilder.append(taThirdPartyMiniappConfig.getAppid()).append(taThirdPartyMiniappConfig.getAppSecret()).append(nowHeader);
54
+		String token = MD5Utils.md5(MD5Utils.md5(stringBuilder.toString()));
55
+		if (!tokenHeader.equals(token)){
56
+			return "秘钥出错请重新生成";
57
+		}
58
+		
59
+		return "success";
60
+	}
61
+}

+ 1
- 1
src/main/resources/mapper/TaBuildingMapper.xml Datei anzeigen

@@ -36,7 +36,7 @@
36 36
     <select id="buildingListSelect" resultType="com.huiju.estateagents.entity.TaBuilding">
37 37
         SELECT * FROM ta_building
38 38
         <where>
39
-            status =1
39
+            1 =1
40 40
             <if test="Name != null and Name != ''">
41 41
                 and  (ta_building.name like concat('%',#{Name,jdbcType=VARCHAR},'%') or ta_building.building_name like concat('%',#{Name,jdbcType=VARCHAR},'%'))
42 42
             </if>

+ 5
- 0
src/main/resources/mapper/TaThirdPartyMiniappConfigMapper.xml Datei anzeigen

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.third.mapper.TaThirdPartyMiniappConfigMapper">
4
+
5
+</mapper>