张延森 il y a 4 ans
Parent
révision
29f5fd03e3

+ 1
- 1
pom.xml Voir le fichier

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.huiju</groupId>
12 12
 	<artifactId>xiangsong</artifactId>
13
-	<version>1.0.25</version>
13
+	<version>1.0.27</version>
14 14
 	<name>xiangsong</name>
15 15
 	<description>香颂</description>
16 16
 

+ 162
- 0
src/main/java/com/huiju/estateagents/controller/TpMessageEventController.java Voir le fichier

@@ -0,0 +1,162 @@
1
+package com.huiju.estateagents.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.common.CommConstant;
9
+import com.huiju.estateagents.common.StringUtils;
10
+import io.swagger.annotations.Api;
11
+import io.swagger.annotations.ApiOperation;
12
+import io.swagger.annotations.ApiParam;
13
+import org.slf4j.Logger;
14
+import org.slf4j.LoggerFactory;
15
+import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.web.bind.annotation.PathVariable;
17
+import org.springframework.web.bind.annotation.RequestBody;
18
+import org.springframework.web.bind.annotation.RequestMapping;
19
+import org.springframework.web.bind.annotation.RequestMethod;
20
+import org.springframework.web.bind.annotation.RequestParam;
21
+import com.huiju.estateagents.service.ITpMessageEventService;
22
+import com.huiju.estateagents.entity.TpMessageEvent;
23
+import org.springframework.web.bind.annotation.RestController;
24
+
25
+import javax.servlet.http.HttpServletRequest;
26
+
27
+/**
28
+ * <p>
29
+    *  前端控制器
30
+    * </p>
31
+ *
32
+ * @author yansen
33
+ * @since 2020-12-22
34
+ */
35
+
36
+@Api(tags = "")
37
+@RestController
38
+@RequestMapping("/api")
39
+public class TpMessageEventController extends BaseController {
40
+
41
+    private final Logger logger = LoggerFactory.getLogger(TpMessageEventController.class);
42
+
43
+    @Autowired
44
+    public ITpMessageEventService iTpMessageEventService;
45
+
46
+
47
+    /**
48
+     * 分页查询列表
49
+     * @param pageNum
50
+     * @param pageSize
51
+     * @return
52
+     */
53
+    @RequestMapping(value="/admin/tpMessageEvent",method= RequestMethod.GET)
54
+    @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
55
+    public ResponseBean tpMessageEventList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
+                                           @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
57
+                                           @ApiParam("事件名称") @RequestParam(value ="name", required = false) String name,
58
+                                           @ApiParam("事件类型") @RequestParam(value ="evtType", required = false) String evtType,
59
+                                           HttpServletRequest request) throws Exception {
60
+
61
+		    IPage<TpMessageEvent> pg = new Page<>(pageNum, pageSize);
62
+            QueryWrapper<TpMessageEvent> queryWrapper = new QueryWrapper<>();
63
+            queryWrapper.eq("org_id", getOrgId(request));
64
+            queryWrapper.like(!StringUtils.isEmpty(name), "name", "%"+name+"%");
65
+            queryWrapper.like(!StringUtils.isEmpty(evtType), "evtType", "%"+evtType+"%");
66
+            queryWrapper.orderByAsc("evt_type");
67
+            queryWrapper.orderByAsc("evt_date");
68
+
69
+            IPage<TpMessageEvent> result = iTpMessageEventService.page(pg, queryWrapper);
70
+            return ResponseBean.success(result);
71
+    }
72
+
73
+    /**
74
+     * 保存对象
75
+     * @param tpMessageEvent 实体对象
76
+     * @return
77
+     */
78
+    @RequestMapping(value="/admin/tpMessageEvent",method= RequestMethod.POST)
79
+    @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
80
+    public ResponseBean tpMessageEventAdd(@ApiParam("保存内容") @RequestBody TpMessageEvent tpMessageEvent,
81
+                                          HttpServletRequest request) throws Exception{
82
+
83
+        tpMessageEvent.setOrgId(getOrgId(request));
84
+
85
+        if (iTpMessageEventService.save(tpMessageEvent)){
86
+            return ResponseBean.success(tpMessageEvent);
87
+        }else {
88
+            return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
89
+        }
90
+    }
91
+
92
+    /**
93
+     * 根据id删除对象
94
+     * @param id  实体ID
95
+     */
96
+    @RequestMapping(value="/admin/tpMessageEvent/{id}", method= RequestMethod.DELETE)
97
+    @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
98
+    public ResponseBean tpMessageEventDelete(@ApiParam("对象ID") @PathVariable Integer id,
99
+                                             HttpServletRequest request) throws Exception{
100
+        TpMessageEvent tpMessageEvent = iTpMessageEventService.getById(id);
101
+
102
+        if (null == tpMessageEvent || tpMessageEvent.getStatus().equals(CommConstant.STATUS_DELETE)) {
103
+            return ResponseBean.success("success");
104
+        }
105
+
106
+        if (!tpMessageEvent.getOrgId().equals(getOrgId(request))) {
107
+            return ResponseBean.error("您无权限操作当前数据", ResponseBean.ERROR_UNAVAILABLE);
108
+        }
109
+
110
+        tpMessageEvent.setStatus(CommConstant.STATUS_DELETE);
111
+
112
+        return tpMessageEventUpdate(id, tpMessageEvent, request);
113
+    }
114
+
115
+    /**
116
+     * 修改对象
117
+     * @param id  实体ID
118
+     * @param tpMessageEvent 实体对象
119
+     * @return
120
+     */
121
+    @RequestMapping(value="/admin/tpMessageEvent/{id}",method= RequestMethod.PUT)
122
+    @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
123
+    public ResponseBean tpMessageEventUpdate(@ApiParam("对象ID") @PathVariable Integer id,
124
+                                             @ApiParam("更新内容") @RequestBody TpMessageEvent tpMessageEvent,
125
+                                             HttpServletRequest request) throws Exception{
126
+
127
+        if (null == tpMessageEvent || tpMessageEvent.getStatus().equals(CommConstant.STATUS_DELETE)) {
128
+            return ResponseBean.error("数据不存在", ResponseBean.ERROR_UNAVAILABLE);
129
+        }
130
+
131
+        if (!tpMessageEvent.getOrgId().equals(getOrgId(request))) {
132
+            return ResponseBean.error("您无权限操作当前数据", ResponseBean.ERROR_UNAVAILABLE);
133
+        }
134
+
135
+        if (iTpMessageEventService.updateById(tpMessageEvent)){
136
+            return ResponseBean.success(iTpMessageEventService.getById(id));
137
+        }else {
138
+            return ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
139
+        }
140
+    }
141
+
142
+    /**
143
+     * 根据id查询对象
144
+     * @param id  实体ID
145
+     */
146
+    @RequestMapping(value="/tpMessageEvent/{id}",method= RequestMethod.GET)
147
+    @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
148
+    public ResponseBean tpMessageEventGet(@ApiParam("对象ID") @PathVariable Integer id,
149
+                                          HttpServletRequest request) throws Exception{
150
+        TpMessageEvent tpMessageEvent = iTpMessageEventService.getById(id);
151
+
152
+        if (null == tpMessageEvent || tpMessageEvent.getStatus().equals(CommConstant.STATUS_DELETE)) {
153
+            return ResponseBean.error("数据不存在", ResponseBean.ERROR_UNAVAILABLE);
154
+        }
155
+
156
+        if (!tpMessageEvent.getOrgId().equals(getOrgId(request))) {
157
+            return ResponseBean.error("您无权限操作当前数据", ResponseBean.ERROR_UNAVAILABLE);
158
+        }
159
+
160
+        return ResponseBean.success(tpMessageEvent);
161
+    }
162
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/WxPortalController.java Voir le fichier

@@ -124,7 +124,7 @@ public class WxPortalController extends BaseController {
124 124
         WxMpKefuMessage kefuMessage = WxMpKefuMessage.MINIPROGRAMPAGE().appId(taMiniapp.getMiniappId())
125 125
                 .title(taMiniapp.getName() + "欢迎您!")
126 126
                 .pagePath(miniAppIndex + "?mpOpenId=" + message.getOpenId())
127
-                .thumbMediaId(mpInfo.getMiniappThumb())
127
+                .thumbMediaId(mpInfo.getMiniappMedia())
128 128
                 .build();
129 129
 
130 130
         try {

+ 55
- 0
src/main/java/com/huiju/estateagents/entity/TpMessageEvent.java Voir le fichier

@@ -0,0 +1,55 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import io.swagger.annotations.ApiModel;
8
+import io.swagger.annotations.ApiModelProperty;
9
+import lombok.Data;
10
+import lombok.EqualsAndHashCode;
11
+import lombok.experimental.Accessors;
12
+
13
+/**
14
+ * <p>
15
+ * 
16
+ * </p>
17
+ *
18
+ * @author yansen
19
+ * @since 2020-12-22
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@Accessors(chain = true)
24
+@ApiModel(value="TpMessageEvent对象", description="")
25
+public class TpMessageEvent implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    @ApiModelProperty(value = "事件ID")
30
+    @TableId(value = "evt_id", type = IdType.AUTO)
31
+    private Integer evtId;
32
+
33
+    @ApiModelProperty(value = "名称")
34
+    private String name;
35
+
36
+    @ApiModelProperty(value = "事件类型,birthday生日,festival节日")
37
+    private String evtType;
38
+
39
+    @ApiModelProperty(value = "发生日mm-dd格式")
40
+    private String evtDate;
41
+
42
+    @ApiModelProperty(value = "是否阳历")
43
+    private Boolean isSolar;
44
+
45
+    @ApiModelProperty(value = "简要祝福语")
46
+    private String wishes;
47
+
48
+    @ApiModelProperty(value = "1开启,0未开启")
49
+    private Integer status;
50
+
51
+    @ApiModelProperty(value = "创建时间")
52
+    private LocalDateTime createDate;
53
+
54
+    private Integer orgId;
55
+}

+ 2
- 1
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java Voir le fichier

@@ -84,7 +84,8 @@ public class AccessInterceptor implements HandlerInterceptor {
84 84
             "/api/fadd/",//所有的法大大回调放过
85 85
             "/api/third",
86 86
             "/api/third/redirect/",
87
-            "/api/official/" // 官网接口
87
+            "/api/official/", // 官网接口
88
+            "/api/mp/portal/"   // 公众号接入
88 89
     };
89 90
 
90 91
     /*

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TpMessageEventMapper.java Voir le fichier

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

+ 16
- 0
src/main/java/com/huiju/estateagents/service/ITpMessageEventService.java Voir le fichier

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.huiju.estateagents.entity.TpMessageEvent;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author yansen
12
+ * @since 2020-12-22
13
+ */
14
+public interface ITpMessageEventService extends IService<TpMessageEvent> {
15
+
16
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/service/impl/TpMessageEventServiceImpl.java Voir le fichier

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.huiju.estateagents.entity.TpMessageEvent;
4
+import com.huiju.estateagents.mapper.TpMessageEventMapper;
5
+import com.huiju.estateagents.service.ITpMessageEventService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *  服务实现类
12
+ * </p>
13
+ *
14
+ * @author yansen
15
+ * @since 2020-12-22
16
+ */
17
+@Service
18
+public class TpMessageEventServiceImpl extends ServiceImpl<TpMessageEventMapper, TpMessageEvent> implements ITpMessageEventService {
19
+
20
+}

+ 169
- 96
src/main/java/com/huiju/estateagents/third/controller/TaMpInfoController.java Voir le fichier

@@ -5,12 +5,27 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.common.WxUtils;
8 10
 import com.huiju.estateagents.third.entity.TaMpInfo;
9 11
 import com.huiju.estateagents.third.service.ITaMpInfoService;
12
+import lombok.extern.slf4j.Slf4j;
13
+import me.chanjar.weixin.common.api.WxConsts;
14
+import me.chanjar.weixin.common.error.WxErrorException;
15
+import me.chanjar.weixin.mp.bean.material.WxMpMaterial;
16
+import me.chanjar.weixin.mp.bean.material.WxMpMaterialUploadResult;
10 17
 import org.slf4j.Logger;
11 18
 import org.slf4j.LoggerFactory;
12 19
 import org.springframework.beans.factory.annotation.Autowired;
13 20
 import org.springframework.web.bind.annotation.*;
21
+import org.springframework.web.multipart.MultipartFile;
22
+
23
+import javax.servlet.http.HttpServletRequest;
24
+import java.io.File;
25
+import java.io.IOException;
26
+import java.time.LocalDateTime;
27
+import java.util.HashMap;
28
+import java.util.Map;
14 29
 
15 30
 /**
16 31
  * <p>
@@ -20,124 +35,182 @@ import org.springframework.web.bind.annotation.*;
20 35
  * @author fxf
21 36
  * @since 2020-06-02
22 37
  */
38
+@Slf4j
23 39
 @RestController
24
-@RequestMapping("/")
40
+@RequestMapping("/api")
25 41
 public class TaMpInfoController extends BaseController {
26 42
 
27
-    private final Logger logger = LoggerFactory.getLogger(TaMpInfoController.class);
28
-
29 43
     @Autowired
30 44
     public ITaMpInfoService iTaMpInfoService;
31 45
 
46
+    @Autowired
47
+    private WxUtils wxUtils;
32 48
 
49
+//
50
+//    /**
51
+//     * 分页查询列表
52
+//     * @param pageNum
53
+//     * @param pageSize
54
+//     * @return
55
+//     */
56
+//    @RequestMapping(value="/taMpInfo",method= RequestMethod.GET)
57
+//    public ResponseBean taMpInfoList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
58
+//                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
59
+//        ResponseBean responseBean = new ResponseBean();
60
+//        try {
61
+//            //使用分页插件
62
+//		    IPage<TaMpInfo> pg = new Page<>(pageNum, pageSize);
63
+//            QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
64
+//            queryWrapper.orderByDesc("create_date");
65
+//
66
+//            IPage<TaMpInfo> result = iTaMpInfoService.page(pg, queryWrapper);
67
+//            responseBean.addSuccess(result);
68
+//        }catch (Exception e){
69
+//            e.printStackTrace();
70
+//            logger.error("taMpInfoList -=- {}",e.toString());
71
+//            responseBean.addError(e.getMessage());
72
+//        }
73
+//        return responseBean;
74
+//    }
75
+//
76
+//    /**
77
+//     * 保存对象
78
+//     * @param taMpInfo 实体对象
79
+//     * @return
80
+//     */
81
+//    @RequestMapping(value="/taMpInfo",method= RequestMethod.POST)
82
+//    public ResponseBean taMpInfoAdd(@RequestBody TaMpInfo taMpInfo){
83
+//        ResponseBean responseBean = new ResponseBean();
84
+//        try {
85
+//            if (iTaMpInfoService.save(taMpInfo)){
86
+//                responseBean.addSuccess(taMpInfo);
87
+//            }else {
88
+//                responseBean.addError("fail");
89
+//            }
90
+//        }catch (Exception e){
91
+//            e.printStackTrace();
92
+//            logger.error("taMpInfoAdd -=- {}",e.toString());
93
+//            responseBean.addError(e.getMessage());
94
+//        }
95
+//        return responseBean;
96
+//    }
97
+//
98
+//    /**
99
+//     * 根据id删除对象
100
+//     * @param id  实体ID
101
+//     */
102
+//    @ResponseBody
103
+//    @RequestMapping(value="/taMpInfo/{id}", method= RequestMethod.DELETE)
104
+//    public ResponseBean taMpInfoDelete(@PathVariable Integer id){
105
+//        ResponseBean responseBean = new ResponseBean();
106
+//        try {
107
+//            if(iTaMpInfoService.removeById(id)){
108
+//                responseBean.addSuccess("success");
109
+//            }else {
110
+//                responseBean.addError("fail");
111
+//            }
112
+//        }catch (Exception e){
113
+//            e.printStackTrace();
114
+//            logger.error("taMpInfoDelete -=- {}",e.toString());
115
+//            responseBean.addError(e.getMessage());
116
+//        }
117
+//        return responseBean;
118
+//    }
119
+//
120
+//    /**
121
+//     * 修改对象
122
+//     * @param id  实体ID
123
+//     * @param taMpInfo 实体对象
124
+//     * @return
125
+//     */
126
+//    @RequestMapping(value="/taMpInfo/{id}",method= RequestMethod.PUT)
127
+//    public ResponseBean taMpInfoUpdate(@PathVariable Integer id,
128
+//                                        @RequestBody TaMpInfo taMpInfo){
129
+//        ResponseBean responseBean = new ResponseBean();
130
+//        try {
131
+//            if (iTaMpInfoService.updateById(taMpInfo)){
132
+//                responseBean.addSuccess(taMpInfo);
133
+//            }else {
134
+//                responseBean.addError("fail");
135
+//            }
136
+//        }catch (Exception e){
137
+//            e.printStackTrace();
138
+//            logger.error("taMpInfoUpdate -=- {}",e.toString());
139
+//            responseBean.addError(e.getMessage());
140
+//        }
141
+//        return responseBean;
142
+//    }
143
+//
33 144
     /**
34
-     * 分页查询列表
35
-     * @param pageNum
36
-     * @param pageSize
37
-     * @return
145
+     * 根据id查询对象
146
+     * @param id  实体ID
38 147
      */
39
-    @RequestMapping(value="/taMpInfo",method= RequestMethod.GET)
40
-    public ResponseBean taMpInfoList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
-                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
-        ResponseBean responseBean = new ResponseBean();
43
-        try {
44
-            //使用分页插件
45
-		    IPage<TaMpInfo> pg = new Page<>(pageNum, pageSize);
46
-            QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
47
-            queryWrapper.orderByDesc("create_date");
48
-
49
-            IPage<TaMpInfo> result = iTaMpInfoService.page(pg, queryWrapper);
50
-            responseBean.addSuccess(result);
51
-        }catch (Exception e){
52
-            e.printStackTrace();
53
-            logger.error("taMpInfoList -=- {}",e.toString());
54
-            responseBean.addError(e.getMessage());
55
-        }
56
-        return responseBean;
148
+    @RequestMapping(value="/admin/mp/taMpInfo",method= RequestMethod.GET)
149
+    public ResponseBean taMpInfoGet(HttpServletRequest request){
150
+        Integer orgId = getOrgId(request);
151
+        TaMpInfo taMpInfo = iTaMpInfoService.getByOrgId(orgId);
152
+        return ResponseBean.success(taMpInfo);
57 153
     }
58 154
 
59 155
     /**
60
-     * 保存对象
61
-     * @param taMpInfo 实体对象
156
+     * 暂时仅支持 jpg
157
+     * @param file
158
+     * @param request
62 159
      * @return
63 160
      */
64
-    @RequestMapping(value="/taMpInfo",method= RequestMethod.POST)
65
-    public ResponseBean taMpInfoAdd(@RequestBody TaMpInfo taMpInfo){
66
-        ResponseBean responseBean = new ResponseBean();
67
-        try {
68
-            if (iTaMpInfoService.save(taMpInfo)){
69
-                responseBean.addSuccess(taMpInfo);
70
-            }else {
71
-                responseBean.addError("fail");
72
-            }
73
-        }catch (Exception e){
74
-            e.printStackTrace();
75
-            logger.error("taMpInfoAdd -=- {}",e.toString());
76
-            responseBean.addError(e.getMessage());
161
+    @PostMapping("/admin/mp/material/miniapp")
162
+    public ResponseBean postMpMiniappMedia(@RequestParam("file") MultipartFile file,
163
+                                           HttpServletRequest request) {
164
+        if (file.isEmpty()) {
165
+            return ResponseBean.error("请选择文件上传", ResponseBean.ERROR_MISSING_PARAMS);
77 166
         }
78
-        return responseBean;
79
-    }
80 167
 
81
-    /**
82
-     * 根据id删除对象
83
-     * @param id  实体ID
84
-     */
85
-    @ResponseBody
86
-    @RequestMapping(value="/taMpInfo/{id}", method= RequestMethod.DELETE)
87
-    public ResponseBean taMpInfoDelete(@PathVariable Integer id){
88
-        ResponseBean responseBean = new ResponseBean();
168
+        Integer orgId = getOrgId(request);
169
+        TaMpInfo taMpInfo = iTaMpInfoService.getByOrgId(orgId);
170
+
89 171
         try {
90
-            if(iTaMpInfoService.removeById(id)){
91
-                responseBean.addSuccess("success");
92
-            }else {
93
-                responseBean.addError("fail");
172
+            String nwName = "yz-"+LocalDateTime.now().getNano();
173
+            String path = System.getProperty("java.io.tmpdir") + System.getProperty("file.separator") + nwName;
174
+            File tmpFile = File.createTempFile(path, ".jpg");
175
+            file.transferTo(tmpFile);
176
+
177
+            String fname = null == file.getOriginalFilename() ? nwName : file.getOriginalFilename();
178
+            if (!fname.contains(".jpg")) {
179
+                fname += ".jpg";
94 180
             }
95
-        }catch (Exception e){
96
-            e.printStackTrace();
97
-            logger.error("taMpInfoDelete -=- {}",e.toString());
98
-            responseBean.addError(e.getMessage());
99
-        }
100
-        return responseBean;
101
-    }
102 181
 
103
-    /**
104
-     * 修改对象
105
-     * @param id  实体ID
106
-     * @param taMpInfo 实体对象
107
-     * @return
108
-     */
109
-    @RequestMapping(value="/taMpInfo/{id}",method= RequestMethod.PUT)
110
-    public ResponseBean taMpInfoUpdate(@PathVariable Integer id,
111
-                                        @RequestBody TaMpInfo taMpInfo){
112
-        ResponseBean responseBean = new ResponseBean();
113
-        try {
114
-            if (iTaMpInfoService.updateById(taMpInfo)){
115
-                responseBean.addSuccess(taMpInfo);
116
-            }else {
117
-                responseBean.addError("fail");
182
+            WxMpMaterial wxMaterial = new WxMpMaterial();
183
+            wxMaterial.setFile(tmpFile);
184
+            wxMaterial.setName(fname);
185
+
186
+            WxMpMaterialUploadResult res = wxUtils.getMpService(orgId).getMaterialService().materialFileUpload(WxConsts.MaterialType.IMAGE, wxMaterial);
187
+
188
+            if (StringUtils.isEmpty(res.getMediaId())) {
189
+                log.error("上传图片到微信失败 [{}]: {}", res.getErrCode(), res.getErrMsg());
190
+                return ResponseBean.error("上传图片到微信失败: " + res.getErrMsg(), ResponseBean.ERROR_UNAVAILABLE);
118 191
             }
119
-        }catch (Exception e){
120
-            e.printStackTrace();
121
-            logger.error("taMpInfoUpdate -=- {}",e.toString());
122
-            responseBean.addError(e.getMessage());
123
-        }
124
-        return responseBean;
125
-    }
126 192
 
127
-    /**
128
-     * 根据id查询对象
129
-     * @param id  实体ID
130
-     */
131
-    @RequestMapping(value="/taMpInfo/{id}",method= RequestMethod.GET)
132
-    public ResponseBean taMpInfoGet(@PathVariable Integer id){
133
-        ResponseBean responseBean = new ResponseBean();
134
-        try {
135
-            responseBean.addSuccess(iTaMpInfoService.getById(id));
136
-        }catch (Exception e){
193
+            taMpInfo.setMiniappMedia(res.getMediaId());
194
+            taMpInfo.setMiniappUrl(res.getUrl());
195
+            if (!iTaMpInfoService.updateById(taMpInfo)) {
196
+                return ResponseBean.error("保存图片媒体ID失败", ResponseBean.ERROR_UNAVAILABLE);
197
+            }
198
+
199
+            if (tmpFile.exists()) {
200
+                tmpFile.delete();
201
+            }
202
+
203
+            return ResponseBean.success(new HashMap<String, String>(){{
204
+                put("mediaId", res.getMediaId());
205
+                put("url", res.getUrl());
206
+            }});
207
+
208
+        } catch (IOException e) {
209
+            e.printStackTrace();
210
+            return ResponseBean.error("接收图片失败: " + e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
211
+        } catch (WxErrorException e) {
137 212
             e.printStackTrace();
138
-            logger.error("taMpInfoDelete -=- {}",e.toString());
139
-            responseBean.addError(e.getMessage());
213
+            return ResponseBean.error("上传图片到微信失败: " + e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
140 214
         }
141
-        return responseBean;
142 215
     }
143 216
 }

+ 6
- 1
src/main/java/com/huiju/estateagents/third/entity/TaMpInfo.java Voir le fichier

@@ -2,6 +2,9 @@ package com.huiju.estateagents.third.entity;
2 2
 
3 3
 import java.time.LocalDateTime;
4 4
 import java.io.Serializable;
5
+
6
+import com.baomidou.mybatisplus.annotation.IdType;
7
+import com.baomidou.mybatisplus.annotation.TableId;
5 8
 import lombok.Data;
6 9
 import lombok.EqualsAndHashCode;
7 10
 import lombok.experimental.Accessors;
@@ -24,6 +27,7 @@ public class TaMpInfo implements Serializable {
24 27
     /**
25 28
      * 公众号ID
26 29
      */
30
+    @TableId(value = "appid", type = IdType.INPUT)
27 31
     private String appid;
28 32
 
29 33
     /**
@@ -69,5 +73,6 @@ public class TaMpInfo implements Serializable {
69 73
     /**
70 74
      * 对应小程序的封面 mediaId
71 75
      */
72
-    private String miniappThumb;
76
+    private String miniappMedia;
77
+    private String miniappUrl;
73 78
 }

+ 5
- 0
src/main/resources/mapper/TpMessageEventMapper.xml Voir le fichier

@@ -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.mapper.TpMessageEventMapper">
4
+
5
+</mapper>