huZhiHao 6 лет назад
Родитель
Сommit
53c1d26c86

+ 5 - 0
pom.xml

@@ -279,6 +279,11 @@
             <version>${springfox.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <version>1.63</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>

+ 2 - 1
src/main/java/platform/common/Constant.java

@@ -63,7 +63,7 @@ public final class Constant {
     }
 
     public static final class UserType {
-        //0政府,1园区,2超级管理员,3企业,4街道)
+        //0政府,1园区,2超级管理员,3企业,4街道,5个人,6微信获取
         public static Integer SYSTEM = -1;
         public static Integer GOVERNMENT = 0;
         public static Integer BUILD = 1;
@@ -71,6 +71,7 @@ public final class Constant {
         public static Integer COMPANY = 3;
         public static Integer STREET = 4;
         public static Integer PERSONAL = 5;
+        public static Integer WECHAT = 6;
     }
 
     public static final class DictType {

+ 28 - 22
src/main/java/platform/modules/api/web/ActivityOpenController.java

@@ -104,9 +104,9 @@ public class ActivityOpenController extends BaseController {
     public ResponseMessage getActivityDetail(@RequestParam("activity_id") String id, @RequestParam("phone") String phone) {
 
         List<ActivityRegistration> activityRegistrationList = activityRegistrationService.getCurrRegUsers(id, phone);
-        if (!CollectionUtils.isEmpty(activityRegistrationList)){
+        if (!CollectionUtils.isEmpty(activityRegistrationList)) {
             for (ActivityRegistration activityRegistration : activityRegistrationList) {
-                if(!Objects.equals("3",activityRegistration.getReview_state())){
+                if (!Objects.equals("3", activityRegistration.getReview_state())) {
                     return ResponseMessage.success("查询成功!", true);
                 }
             }
@@ -207,14 +207,13 @@ public class ActivityOpenController extends BaseController {
      * @Params: [id]
      * @Return: platform.modules.sys.web.ResponseMessage
      **/
-    @GetMapping(value = "/is_favourite/{activity_id}")
-    public ResponseMessage isFavourite(@PathVariable("activity_id") int id) throws Exception {
-
-        log.info("查询是否收藏!activity_id = {}", id);
-        if (!ShiroUtils.isLogin()) return ResponseMessage.success("请先登录!", 2);
-        ActivityFavourite activityFavourite = activityFavouriteService.selectByActivityIdAndUserId(id + "", ShiroUtils.getUserId() + "");
-        if (Objects.equals(activityFavourite, null)) return ResponseMessage.success("查询成功!", 1);
-        return ResponseMessage.success("查询成功!", 0);
+    @GetMapping(value = "/is_favourite")
+    public ResponseMessage isFavourite(@RequestParam("activity_id") String activityId, @RequestParam("user_id") String userId) throws Exception {
+
+        log.info("查询是否收藏!activity_id = {}", activityId);
+        ActivityFavourite activityFavourite = activityFavouriteService.selectByActivityIdAndUserId(activityId, userId);
+        if (Objects.equals(activityFavourite, null)) return ResponseMessage.success("查询成功!", false);
+        return ResponseMessage.success("查询成功!", true);
     }
 
     /**
@@ -228,8 +227,6 @@ public class ActivityOpenController extends BaseController {
     @PostMapping(value = "/add_favourite")
     public ResponseMessage addFavourite(@RequestBody ActivityFavourite activityFavourite) throws Exception {
 
-        if (!ShiroUtils.isLogin()) return ResponseMessage.success("请先登录!", 2);
-
         int count = activityFavouriteService.saveActivityFavourite(activityFavourite);
         if (count > 0) return ResponseMessage.success("收藏成功!");
         return ResponseMessage.success("收藏失败!");
@@ -243,10 +240,10 @@ public class ActivityOpenController extends BaseController {
      * @Return: platform.modules.sys.web.ResponseMessage
      **/
     @OperationLog(value = "取消收藏活动")
-    @DeleteMapping(value = "/remove_favourite/{activity_id}")
-    public ResponseMessage removeFavourite(@PathVariable("id") int id) throws Exception {
+    @DeleteMapping(value = "/remove_favourite")
+    public ResponseMessage removeFavourite(@RequestParam("activity_id") String activity_id, @RequestParam("user_id") String userId) throws Exception {
 
-        boolean b = activityFavouriteService.deleteByActivityIdAndUserId(id + "", ShiroUtils.getUserId() + "");
+        boolean b = activityFavouriteService.deleteByActivityIdAndUserId(activity_id, userId);
         if (b) return ResponseMessage.success("取消收藏成功!");
         return ResponseMessage.success("取消收藏失败!");
     }
@@ -284,9 +281,16 @@ public class ActivityOpenController extends BaseController {
     @PutMapping(value = "/sign")
     public ResponseMessage getByPhone(@RequestBody ActivityRegistration activityRegistration) {
 
-        activityRegistration.setSign_state("0");
-        activityRegistrationService.updateState(activityRegistration);
-        return ResponseMessage.success("签到成功!");
+        activityRegistration.setReview_state("1");
+        ActivityRegistration activityRegistration1 = activityRegistrationService.findOne(activityRegistration);
+        if (activityRegistration1 != null) {
+            ActivityRegistration activityRegistration_n = new ActivityRegistration();
+            activityRegistration_n.setId(activityRegistration1.getId());
+            activityRegistration_n.setSign_state("0");
+            activityRegistrationService.updateState(activityRegistration_n);
+            return ResponseMessage.success("签到成功!");
+        }
+        return ResponseMessage.success("签到失败!");
     }
 
     //根据手机号获取用户信息和企业信息
@@ -297,15 +301,17 @@ public class ActivityOpenController extends BaseController {
         Map<String, String> map = new HashMap<>();
         User user = userService.findByMobile(phone);
         if (user != null) {
-            Company company = companyService.findById(user.getCompany_id());
+            map.put("user_id", user.getId() + "");
             map.put("user_name", user.getUser_name());
             map.put("phone", user.getPhone());
             map.put("email", user.getEmail());
 
-            map.put("company_name", company.getCompany_name());
-            map.put("industry_name", company.getIndustry_name());
+            if (user.getCompany_id() != null) {
+                Company company = companyService.findById(user.getCompany_id());
+                map.put("company_name", company.getCompany_name());
+                map.put("industry_name", company.getIndustry_name());
+            }
         }
-
         return ResponseMessage.success("查询成功!", map);
     }
 }

+ 4 - 4
src/main/java/platform/modules/government/web/ActivityController.java

@@ -993,11 +993,11 @@ public class ActivityController extends BaseController {
         log.info("跳转到活动二维码!");
 
         try {
-            InputStream is_detail = activityService.getQRcode("1", "350", "activity_id=" + id);
+            InputStream is_detail = activityService.getQRcode("1", "350", id);
             byte[] bytes_detail = IOUtils.toByteArray(is_detail);
             String encoded_detail = Base64.getEncoder().encodeToString(bytes_detail);
 
-            InputStream is_sign = activityService.getQRcode("2", "350", "activity_id=" + id);
+            InputStream is_sign = activityService.getQRcode("2", "350", id);
             byte[] bytes_sign = IOUtils.toByteArray(is_sign);
             String encoded_sign = Base64.getEncoder().encodeToString(bytes_sign);
 
@@ -1063,10 +1063,10 @@ public class ActivityController extends BaseController {
         String name = "";
         if ("1".equals(type)) {
             name = "报名二维码.jpg";
-            is = activityService.getQRcode(type, "430", "activity_id=" + id);
+            is = activityService.getQRcode(type, "430", id);
         } else if ("2".equals(type)) {
             name = "签到二维码.jpg";
-            is = activityService.getQRcode(type, "430", "activity_id=" + id);
+            is = activityService.getQRcode(type, "430", id);
         }
         name = new String(name.getBytes(), "ISO-8859-1");
         response.setHeader("Content-type", "application/octet-stream");

+ 69 - 6
src/main/java/platform/modules/home/HomeController.java

@@ -46,6 +46,7 @@ import platform.modules.home.request.FindRequest;
 import platform.modules.home.response.FindResponse;
 import platform.modules.home.response.FindResponseProject;
 import platform.modules.home.response.ListResponse;
+import platform.modules.home.service.WxMicroappService;
 import platform.modules.sys.entity.ActivityDetail;
 import platform.modules.sys.entity.ActivityFavourite;
 import platform.modules.sys.entity.ActivityRegistration;
@@ -181,6 +182,9 @@ public class HomeController extends BaseController {
     @Autowired
     private BuildingService buildingService;
 
+    @Autowired
+    private WxMicroappService wxMicroappService;
+
 //    @GetMapping(value = "")
 //    public String homePage(ModelMap modelMap) throws Exception {
 //        //获取幻灯片
@@ -870,7 +874,7 @@ public class HomeController extends BaseController {
         modelMap.put("isLogin", ShiroUtils.isLogin());
         modelMap.put("userType", ShiroUtils.getUserType());
         modelMap.put("userName", ShiroUtils.getNickName());
-        modelMap.put("userId",ShiroUtils.getUserId());
+        modelMap.put("userId", ShiroUtils.getUserId());
         User user = ShiroUtils.getUserEntity();
         if (user != null) {
             modelMap.put("firstLogin", user.getFist_login());
@@ -1011,7 +1015,7 @@ public class HomeController extends BaseController {
      */
     @RequestMapping("/personalRegister")
     @ResponseBody
-    public ResponseMessage personalRegister(User userInfo){
+    public ResponseMessage personalRegister(User userInfo) {
         try {
             if (!Constant.Environment.PROD_TEST.equals(profiles) && !Constant.Environment.TEST.equals(profiles)) {
                 if (!verificationCodeUtil.validateVerificationCode(userInfo.getPhone(), userInfo.getValidateNum())) {
@@ -1039,6 +1043,66 @@ public class HomeController extends BaseController {
         return ResponseMessage.success("注册成功");
     }
 
+    @GetMapping("/validate")
+    @ResponseBody
+    public ResponseMessage wechatRegist(@RequestParam("phone") String phone, @RequestParam("code") String code) {
+        return ResponseMessage.success("请求成功", verificationCodeUtil.validateVerificationCode(phone, code));
+    }
+
+    /**
+     * 微信注册
+     *
+     * @param userInfo
+     * @return
+     */
+    @PostMapping("/wechatRegist")
+    @ResponseBody
+    public ResponseMessage wechatRegist(@RequestBody User userInfo) {
+
+        User user_o = userService.findByMobile(userInfo.getPhone());
+        if (user_o != null) {
+            return ResponseMessage.success("注册成功", user_o.getId());
+        }
+        User user = new User();
+        user.setUser_name(userInfo.getPhone());
+        user.setNick_name(userInfo.getPhone());
+        user.setPassword(SecureUtil.md5().digestHex("123456".trim()));
+        user.setPhone(userInfo.getPhone());
+        user.setUser_type(Constant.UserType.WECHAT);
+        user.setIs_register(1);
+        user.setFist_login(1);
+        user.setIs_start(true);
+        user.setIs_admin(false);
+        user.setCreate_name("wechat_" + userInfo.getPhone());
+        user.setCreate_time(DateUtil.getTimeString(new Date()));
+        Integer id = userService.insertAndGetId(user);
+        return ResponseMessage.success("注册成功", id);
+    }
+
+    /**
+     * 微信小程序登录
+     */
+    @GetMapping("wxapp/login")
+    @ResponseBody
+    public ResponseMessage wxAppLogin(
+            @RequestParam String code
+    ) {
+        return ResponseMessage.success("登录成功", wxMicroappService.wxAppLogin(code));
+    }
+
+    /**
+     * 微信小程序获取用户信息
+     */
+    @GetMapping("wxapp/phone")
+    @ResponseBody
+    public ResponseMessage wxAppUserinfo(
+            @RequestParam String code,
+            @RequestParam String encryptedData,
+            @RequestParam String iv
+    ) {
+        return ResponseMessage.success("获取用户信息成功", wxMicroappService.getPhoneNumber(code, encryptedData, iv));
+    }
+
     /**
      * 企业注册
      *
@@ -1052,7 +1116,7 @@ public class HomeController extends BaseController {
     public ResponseMessage register(Company information, User userInfo) throws Exception {
         try {
             Approval approval = new Approval();
-            if (!Constant.Environment.PROD_TEST.equals(profiles) && !Constant.Environment.TEST.equals(profiles)){
+            if (!Constant.Environment.PROD_TEST.equals(profiles) && !Constant.Environment.TEST.equals(profiles)) {
                 if (!verificationCodeUtil.validateVerificationCode(information.getPhone(), information.getValidateNum())) {
                     return ResponseMessage.error("验证码错误!");
                 }
@@ -1073,12 +1137,11 @@ public class HomeController extends BaseController {
             //查看是否已经存在企业
 //            Company company = companyService.findByParkIdAndCompanyName(information.getCompany_name(), information.getBuild_id());
             Company company = companyService.findByCompanyName(information.getCompany_name());
-            if (company != null){
+            if (company != null) {
                 information.setId(company.getId());
                 information.setIs_register(0);
                 companyService.update(information);
-            }
-            else {
+            } else {
                 companyService.insertAndGetId(information);
             }
             approval.setApply_id(information.getId());

+ 7 - 2
src/main/java/platform/modules/sys/service/ActivityRegistrationService.java

@@ -97,8 +97,9 @@ public class ActivityRegistrationService extends BaseService<ActivityRegistratio
             activityRegistration.setRelation_id(currUser.getCompany_id() + "");
         } else if (Objects.equals(Constant.UserType.PERSONAL, currUser.getUser_type())) {
             activityRegistration.setRelation_id(currUser.getId() + "");
-        } else {
-            activityRegistration.setUser_type("6");// 没有账号
+        } else if (Objects.equals(Constant.UserType.WECHAT, currUser.getUser_type())) {
+            activityRegistration.setRelation_id(currUser.getId() + "");
+            activityRegistration.setUser_type(currUser.getUser_type() + "");
         }
         activityRegistration.setRegistration_time(new Date());
         //签到状态 0已签到 1未签到
@@ -295,6 +296,8 @@ public class ActivityRegistrationService extends BaseService<ActivityRegistratio
             relationId = user.getCompany_id().toString();
         } else if (Objects.equals(Constant.UserType.PERSONAL, userType)) {
             relationId = user.getId().toString();
+        }else if (Objects.equals(Constant.UserType.WECHAT, userType)) {
+            relationId = user.getId().toString();
         }
         return activityRegistrationDao.findByRelationIdAndType(userType.toString(), relationId, activity_id);
     }
@@ -320,6 +323,8 @@ public class ActivityRegistrationService extends BaseService<ActivityRegistratio
             relationId = user.getCompany_id().toString();
         } else if (Objects.equals(Constant.UserType.PERSONAL, userType)) {
             relationId = user.getId().toString();
+        } else if (Objects.equals(Constant.UserType.WECHAT, userType)) {
+            relationId = user.getId().toString();
         }
         return activityRegistrationDao.findByRelationIdAndType(userType.toString(), relationId, activity_id);
     }

+ 12 - 4
src/main/java/platform/modules/sys/service/ActivityService.java

@@ -8,6 +8,7 @@ import com.github.pagehelper.PageInfo;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -649,9 +650,16 @@ public class ActivityService extends BaseService<ActivityDetail> {
         return is;
     }
 
-    private static String APP_ID = "wx3007d6086b29908c";
-    private static String APP_SERCRET = "68245dbd037f7516bcbe0eeafc1e01a9";
-    private static String ACTIVITY_PAGE_PATH_DETAIL = "/pages/index/index";
-    private static String ACTIVITY_PAGE_PATH_SIGN = "/pages/index/index";
+    @Value("${app_id}")
+    private String APP_ID;
+
+    @Value("${app_sercet}")
+    private String APP_SERCRET;
+
+    @Value("${activity_page_path_detail}")
+    private String ACTIVITY_PAGE_PATH_DETAIL;
+
+    @Value("${activity_page_path_sign}")
+    private String ACTIVITY_PAGE_PATH_SIGN;
 }
 

+ 26 - 15
src/main/resources/application.yml

@@ -128,7 +128,15 @@ pagehelper:
   params: count=countSql
 
 
+#app_id
+app_id: wx3007d6086b29908c
 
+#app_sercet
+app_sercet: 68245dbd037f7516bcbe0eeafc1e01a9
+
+activity_page_path_detail: pages/activity/activityDetail/main
+
+activity_page_path_sign: pages/activity/signInDetail/main
 ---
 
 #开发环境配置
@@ -144,16 +152,16 @@ spring:
     url: jdbc:mysql://192.168.1.115:3306/service_platform?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true&allowMultiQueries=true
     username: root
     password: ${password}
-    #redis
-    redis:
-      host: 192.168.1.115
-      password:
-      port: 6379
-      pool:
-        max-idle: 300
-        min-idle: 20
-        max-active: 600
-        max-wait: 2000
+  #redis
+  redis:
+    host: 192.168.1.115
+    password:
+    port: 6379
+    pool:
+      max-idle: 300
+      min-idle: 20
+      max-active: 600
+      max-wait: 2000
 #日志
 logging:
   config: classpath:logback-jk.xml
@@ -191,12 +199,12 @@ spring:
   profiles: test
   #数据源
   datasource:
-    url: jdbc:mysql://10.43.26.100:3306/service_platform?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true&allowMultiQueries=true
+    url: jdbc:mysql://192.168.1.115:3306/service_platform_42_backup?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true&allowMultiQueries=true
     username: root
     password: ${password}
   #redis
   redis:
-    host: 10.43.26.100
+    host: 192.168.1.115
     password:
     port: 6379
     pool:
@@ -211,8 +219,8 @@ logging:
 
 #数据库密码加密
 #java -cp druid-1.1.0.jar com.alibaba.druid.filter.config.ConfigTools 你的密码
-publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKZUID/DlXXhYmpwNOzra74upqLSJea2xp1ao3cSy6rLxRty5X/o2nBXa0T88+wG53oAgd7rdRDR1zWJ3k3p1pkCAwEAAQ==
-password: c/2+OGu4dbvV4KvR9NXMnTso02gEqhvTQ3kcetSduEP1KRuoxKDPtaMvE+cB6vhkM91uLY2rFBLgpr0TiTQaDg==
+publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALA0LQXJvedvvS14LNKRXjLKOaudFAZILec5nturiNsRV7rK0FkSdXAlf7odQb9nZtDai+Bfn/4zC52xMr+KL6sCAwEAAQ==
+password: hTeoaFouO30aePF/U0NVf6bZCqh31q//05vP+uC7KnNDW2R3MOaQyEbzigzUVFEzVgZDtB+8FKllETyPfK3tUw==
 
 #上传文件配置信息
 #文件仓库地址
@@ -227,6 +235,9 @@ fileUrl: http://10.43.26.201
 
 #域名
 service_name: 127.0.0.1
+
+#key
+carrier_hash_key: industrial_carrier_token
 ---
 #阿里环境配置
 server:
@@ -242,7 +253,7 @@ spring:
     password: ${password}
   #redis
   redis:
-    host: 47.105.241.108
+    host: 192.168.1.115
     password:
     port: 6379
     pool:

+ 1 - 1
src/main/resources/mapper/sys/ActivityRegistrationDao.xml

@@ -435,7 +435,7 @@
         (
         ad.activity_starttime > now( ),
         IF
-        ( ( SELECT DISTINCT review_state FROM ac_activity_registration WHERE activity_id = ad.id AND user_id = #{userId} ) = 1, 'pending', 'expired' ),
+        ( ( SELECT DISTINCT review_state FROM ac_activity_registration WHERE activity_id = ad.id AND review_state!=3 AND user_id = #{userId} ) = 1, 'pending', 'expired' ),
         IF
         (
         ad.activity_endtime <![CDATA[ < ]]> now( ),