Your Name 4 years ago
parent
commit
b77345544d

+ 1
- 1
src/main/java/com/huiju/estateagents/common/WxUtils.java View File

102
     }
102
     }
103
 
103
 
104
     public static String sendTemplateMessage(WxMpService mpService, String toUser, String templateId, String miniAppId, String miniPage, String url, List<WxMpTemplateData> datas) throws WxErrorException {
104
     public static String sendTemplateMessage(WxMpService mpService, String toUser, String templateId, String miniAppId, String miniPage, String url, List<WxMpTemplateData> datas) throws WxErrorException {
105
-        WxMpTemplateMessage.MiniProgram miniProgram = new WxMpTemplateMessage.MiniProgram(miniAppId, miniPage, true);
105
+        WxMpTemplateMessage.MiniProgram miniProgram = null == miniAppId ? null : new WxMpTemplateMessage.MiniProgram(miniAppId, miniPage, true);
106
 
106
 
107
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
107
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
108
                 .toUser(toUser)
108
                 .toUser(toUser)

+ 32
- 10
src/main/java/com/huiju/estateagents/controller/TaPersonController.java View File

576
     }
576
     }
577
 
577
 
578
     @PutMapping("/wx/editPerson")
578
     @PutMapping("/wx/editPerson")
579
-    public ResponseBean editWxConsultant(@RequestParam(required = false)String name,@RequestParam(required = false)String avatar,@RequestParam(required = false)String phone,@RequestParam(required = false)String birthday,HttpServletRequest request) {
579
+    public ResponseBean editWxConsultant(@RequestBody Map<String, Object> params,HttpServletRequest request) {
580
         ResponseBean responseBean = new ResponseBean();
580
         ResponseBean responseBean = new ResponseBean();
581
         String openid = getOpenId(request);
581
         String openid = getOpenId(request);
582
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
582
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
583
         if (null == taPersons || taPersons.size() != 1) {
583
         if (null == taPersons || taPersons.size() != 1) {
584
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
584
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
585
         }
585
         }
586
+
587
+        String name = (String) params.get("name");
588
+        String avatar = (String) params.get("avatar");
589
+        String birthday = (String) params.get("birthday");
590
+        String phone = (String) params.get("phone");
591
+        Integer sex = (Integer) params.get("sex");
592
+
586
         TaPerson person = taPersons.get(0);
593
         TaPerson person = taPersons.get(0);
587
         if (!StringUtils.isEmpty(name)){
594
         if (!StringUtils.isEmpty(name)){
588
             person.setName(name);
595
             person.setName(name);
593
         if (!StringUtils.isEmpty(birthday)){
600
         if (!StringUtils.isEmpty(birthday)){
594
             person.setBirthday(birthday);
601
             person.setBirthday(birthday);
595
         }
602
         }
603
+        if (null != sex){
604
+            person.setSex(sex);
605
+        }
596
         if (!StringUtils.isEmpty(phone)){
606
         if (!StringUtils.isEmpty(phone)){
597
             person.setTel(phone);
607
             person.setTel(phone);
598
 //            person.setPhone(phone);
608
 //            person.setPhone(phone);
599
-            if(person.getPersonType().equals(CommConstant.PERSON_REALTY_CONSULTANT)){
600
-                TaUser user = taUserService.getById(person.getUserId());
601
-                user.setPhone(phone);
602
-                user.setLoginName(phone);
603
-                taUserService.updateById(user);
604
-            }
609
+//            if(person.getPersonType().equals(CommConstant.PERSON_REALTY_CONSULTANT)){
610
+//                TaUser user = taUserService.getById(person.getUserId());
611
+//                user.setPhone(phone);
612
+//                user.setLoginName(phone);
613
+//                taUserService.updateById(user);
614
+//            }
605
         }
615
         }
606
         try{
616
         try{
607
             if(taPersonService.updateById(person)){
617
             if(taPersonService.updateById(person)){
848
 //            String senRepl = "$1****$2";
858
 //            String senRepl = "$1****$2";
849
             for (TaPerson person: personList) {
859
             for (TaPerson person: personList) {
850
                 TaPersonExport row = new TaPersonExport();
860
                 TaPersonExport row = new TaPersonExport();
851
-                row.setNickname(person.getNickname());
861
+                row.setNickname(StringUtils.ifNull(person.getName(), person.getNickname()));
852
 //                row.setPhone(StringUtils.simpleSensitive(person.getPhone(), senRegx, senRepl));
862
 //                row.setPhone(StringUtils.simpleSensitive(person.getPhone(), senRegx, senRepl));
853
-                row.setPhone(person.getPhone());
863
+                row.setPhone(StringUtils.ifNull(person.getTel(), person.getPhone()));
854
                 row.setSharePersonName(person.getSharePersonName());
864
                 row.setSharePersonName(person.getSharePersonName());
855
-                row.setPoints(person.getPoints());
865
+                row.setSex(getPersonSexName(person));
856
                 row.setCreateDate(DateUtils.format(person.getCreateDate(), "yyyy-MM-dd HH:mm"));
866
                 row.setCreateDate(DateUtils.format(person.getCreateDate(), "yyyy-MM-dd HH:mm"));
857
                 data.add(row);
867
                 data.add(row);
858
             }
868
             }
868
         return null;
878
         return null;
869
     }
879
     }
870
 
880
 
881
+    private String getPersonSexName(TaPerson taPerson) {
882
+        if (null != taPerson.getSex()) {
883
+            return 2 == taPerson.getSex() ? "女" : "男";
884
+        }
885
+
886
+        if (!StringUtils.isEmpty(taPerson.getGender())) {
887
+            return "2".equals(taPerson.getGender()) ? "女" : "男";
888
+        }
889
+
890
+        return null;
891
+    }
892
+
871
 }
893
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/excel/TaPersonExport.java View File

21
 
21
 
22
     @ColumnWidth(10)
22
     @ColumnWidth(10)
23
     @ExcelProperty(value = "总积分", index = 3)
23
     @ExcelProperty(value = "总积分", index = 3)
24
-    private Integer points;
24
+    private String sex;
25
 
25
 
26
     @ColumnWidth(25)
26
     @ColumnWidth(25)
27
     @ExcelProperty(value = "创建时间", index = 4)
27
     @ExcelProperty(value = "创建时间", index = 4)

+ 39
- 65
src/main/java/com/huiju/estateagents/property/service/impl/BillInvoiceServiceImpl.java View File

40
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
40
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
41
 import org.apache.poi.hssf.usermodel.*;
41
 import org.apache.poi.hssf.usermodel.*;
42
 import org.springframework.beans.factory.annotation.Autowired;
42
 import org.springframework.beans.factory.annotation.Autowired;
43
+import org.springframework.beans.factory.annotation.Value;
43
 import org.springframework.stereotype.Service;
44
 import org.springframework.stereotype.Service;
44
 import org.springframework.transaction.annotation.Transactional;
45
 import org.springframework.transaction.annotation.Transactional;
45
 
46
 
114
     @Autowired
115
     @Autowired
115
     private TaPersonMapper taPersonMapper;
116
     private TaPersonMapper taPersonMapper;
116
 
117
 
118
+    @Value("${wx.miniapp.propertyPay}")
119
+    String propertyPayPage;
120
+
117
     @Override
121
     @Override
118
     public ResponseBean getBillList(String parameter, TaUser userElement) {
122
     public ResponseBean getBillList(String parameter, TaUser userElement) {
119
         ResponseBean responseBean = new ResponseBean();
123
         ResponseBean responseBean = new ResponseBean();
727
     public ResponseBean collectionBillList(BillInvoice billInvoice, TaUser userElement) {
731
     public ResponseBean collectionBillList(BillInvoice billInvoice, TaUser userElement) {
728
         LambdaQueryWrapper<BillInvoice> queryWrapper = new LambdaQueryWrapper<>();
732
         LambdaQueryWrapper<BillInvoice> queryWrapper = new LambdaQueryWrapper<>();
729
         queryWrapper.eq(BillInvoice::getBillId,billInvoice.getBillId());
733
         queryWrapper.eq(BillInvoice::getBillId,billInvoice.getBillId());
734
+        queryWrapper.eq(BillInvoice::getBillStatus,CommConstant.BILL_STATUS_UNPAID);
730
         queryWrapper.eq(BillInvoice::getStatus,"1");
735
         queryWrapper.eq(BillInvoice::getStatus,"1");
731
         List<BillInvoice> billInvoices = billInvoiceMapper.selectList(queryWrapper);
736
         List<BillInvoice> billInvoices = billInvoiceMapper.selectList(queryWrapper);
732
         // 发送催缴消息
737
         // 发送催缴消息
733
         billInvoices.forEach(e -> {
738
         billInvoices.forEach(e -> {
734
-            if (CommConstant.BILL_STATUS_UNPAID.equals(e.getBillStatus())){
735
-                // 根据房间号获取person信息
736
-                LambdaQueryWrapper<TaUserVerify> taUserVerifyLambdaQueryWrapper = new LambdaQueryWrapper<>();
737
-                taUserVerifyLambdaQueryWrapper.eq(TaUserVerify::getRoomNoId,e.getRoomNoId());
738
-                taUserVerifyLambdaQueryWrapper.eq(TaUserVerify::getRoleId,"1");
739
-                TaUserVerify taUserVerify = taUserVerifyMapper.selectOne(taUserVerifyLambdaQueryWrapper);
740
-
741
-                // 获取person
742
-                TaPerson taPerson = taPersonMapper.selectById(taUserVerify.getPersonId());
743
-                if (null != taPerson){
744
-                    LambdaQueryWrapper<TaMpMiniapp> taMpMiniappLambdaQueryWrapper = new LambdaQueryWrapper<>();
745
-                    taMpMiniappLambdaQueryWrapper.eq(TaMpMiniapp::getMiniappPersonId,taPerson.getPersonId());
746
-                    TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(taMpMiniappLambdaQueryWrapper);
747
-                    if (null != taMpMiniapp){
748
-                        TaMpPerson taMpPerson = taMpPersonMapper.selectById(taMpMiniapp.getMpPersonId());
749
-                        sendMpBillMessage(e,taMpPerson);
750
-                        try {
751
-                            // 一秒发一次
752
-                            Thread.sleep(1000);
753
-                        } catch (InterruptedException ex) {
754
-                            ex.printStackTrace();
755
-                        }
739
+            // 根据房间号获取person信息
740
+            List<TaMpMiniapp> taMpMiniappList = taMpMiniappMapper.getByRoom(billInvoice.getOrgId(), billInvoice.getRoomNoId());
741
+            if (null != taMpMiniappList) {
742
+                for (TaMpMiniapp taMpMiniapp : taMpMiniappList) {
743
+                    sendMpBillMessage(e, taMpMiniapp);
744
+                    try {
745
+                        // 一秒发一次
746
+                        Thread.sleep(1000);
747
+                    } catch (InterruptedException ex) {
748
+                        ex.printStackTrace();
756
                     }
749
                     }
757
 
750
 
758
                 }
751
                 }
767
      * @param billInvoice
760
      * @param billInvoice
768
      * @param person
761
      * @param person
769
      */
762
      */
770
-    private void sendMpBillMessage(BillInvoice billInvoice, TaMpPerson person) {
763
+    private void sendMpBillMessage(BillInvoice billInvoice, TaMpMiniapp person) {
771
         WxMpService mpService = wxUtils.getMpService(billInvoice.getOrgId());
764
         WxMpService mpService = wxUtils.getMpService(billInvoice.getOrgId());
772
 
765
 
773
         // 对应表数据
766
         // 对应表数据
775
 
768
 
776
         TaMiniapp taMiniapp = iMiniAppService.getAppByOrg(mpInfo.getOrgId());
769
         TaMiniapp taMiniapp = iMiniAppService.getAppByOrg(mpInfo.getOrgId());
777
 
770
 
778
-        WxMpKefuMessage kefuMessage = WxMpKefuMessage.MINIPROGRAMPAGE().appId(taMiniapp.getMiniappId())
779
-                .toUser(person.getMpOpenid())
780
-                .title("您有一个新的工单待处理")
781
-//                .pagePath(miniAppTicket + ticket.getId()) 无跳转页面
782
-                .thumbMediaId(mpInfo.getMiniappMedia())
783
-                .build();
771
+        TaMpTemplate mpTemplate = iTaMpTemplateService.getByCode(billInvoice.getOrgId(), CommConstant.TP_MESSAGE_PROPERTY_FEE);
772
+        if (null == mpTemplate) {
773
+            return;
774
+        }
784
 
775
 
785
         try {
776
         try {
786
-            mpService.getKefuService().sendKefuMessage(kefuMessage);
787
-        } catch (WxErrorException e) {
788
-            e.printStackTrace();
789
-
790
-            // 如果客服消息发送失败, 则发送普通模板消息
791
-//            List<TaMpTemplate> mpTemplateList = iTaMpTemplateService.getAvailableList(ticket.getOrgId(), CommConstant.TP_MESSAGE_TICKET);
792
-//            if (null == mpTemplateList || mpTemplateList.size() < 1) {
793
-//                return;
794
-//            }
795
-            TaMpTemplate mpTemplate = iTaMpTemplateService.getByCode(billInvoice.getOrgId(), CommConstant.TP_MESSAGE_PROPERTY_FEE);
796
-            if (null == mpTemplate) {
797
-                return;
798
-            }
799
-
800
-            try {
801
-//                TaPerson propOwner = iTaPersonService.getById(ticket.getPersonId());
802
-//                String message = String.format("业主电话: %s ; 报修内容: %s", propOwner.getPhone(), ticket.getTicketTitle());
803
-                String message = "";
804
-                String remark = String.format("请及时进入【%s】小程序进行处理", taMiniapp.getName());
805
-
806
-                WxUtils.sendTemplateMessage(mpService,
807
-                        person.getMpOpenid(),
808
-                        mpTemplate.getTemplateCode(),
809
-                        null,
810
-                        new ArrayList<WxMpTemplateData>(){{
811
-                            add(new WxMpTemplateData("first", "工单提醒"));
812
-                            add(new WxMpTemplateData("keyword1", "您有一个新的工单"));
813
-                            add(new WxMpTemplateData("keyword2", DateUtils.today()));
814
-                            add(new WxMpTemplateData("keyword3", message));
815
-                            add(new WxMpTemplateData("remark", remark));
816
-                        }}
817
-                );
818
-            } catch (Exception e2) {
819
-                e2.printStackTrace();
820
-            }
821
-
777
+            String message = String.format("待缴费用: %s", StringUtils.isEmpty(billInvoice.getBillInvoiceExplain()) ? "未知" : billInvoice.getBillInvoiceExplain());
778
+            String remark = String.format("请及时进入【%s】小程序完成缴费", taMiniapp.getName());
779
+
780
+            WxUtils.sendTemplateMessage(mpService,
781
+                    person.getMpPersonId(),
782
+                    mpTemplate.getTemplateCode(),
783
+                    taMiniapp.getMiniappId(),
784
+                    propertyPayPage,
785
+                    null,
786
+                    new ArrayList<WxMpTemplateData>(){{
787
+                        add(new WxMpTemplateData("first", "缴费提醒"));
788
+                        add(new WxMpTemplateData("keyword1", "您有一个代缴费用"));
789
+                        add(new WxMpTemplateData("keyword2", DateUtils.today()));
790
+                        add(new WxMpTemplateData("keyword3", message));
791
+                        add(new WxMpTemplateData("remark", remark));
792
+                    }}
793
+            );
794
+        } catch (Exception e2) {
795
+            e2.printStackTrace();
822
         }
796
         }
823
     }
797
     }
824
 }
798
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaMpMiniappMapper.java View File

5
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
5
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
 
7
 
8
+import java.util.List;
9
+
8
 /**
10
 /**
9
  * <p>
11
  * <p>
10
  * 公众号小程序账户映射  Mapper 接口
12
  * 公众号小程序账户映射  Mapper 接口
16
 @Mapper
18
 @Mapper
17
 public interface TaMpMiniappMapper extends BaseMapper<TaMpMiniapp> {
19
 public interface TaMpMiniappMapper extends BaseMapper<TaMpMiniapp> {
18
 
20
 
21
+    List<TaMpMiniapp> getByRoom(Integer orgId, Integer roomNoId);
19
 }
22
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/task/MpMessageEvent.java View File

108
                         WxUtils.sendTemplateMessage(mpService,
108
                         WxUtils.sendTemplateMessage(mpService,
109
                                 user.get("mpOpenid"),
109
                                 user.get("mpOpenid"),
110
                                 mpTemplate.getTemplateCode(),
110
                                 mpTemplate.getTemplateCode(),
111
+                                null,
112
+                                null,
111
                                 url,
113
                                 url,
112
                                 new ArrayList<WxMpTemplateData>(){{
114
                                 new ArrayList<WxMpTemplateData>(){{
113
                                     add(new WxMpTemplateData("first", firstTxt));
115
                                     add(new WxMpTemplateData("first", firstTxt));
217
                             WxUtils.sendTemplateMessage(mpService,
219
                             WxUtils.sendTemplateMessage(mpService,
218
                                     user.get("mpOpenid"),
220
                                     user.get("mpOpenid"),
219
                                     mpTemplate.getTemplateCode(),
221
                                     mpTemplate.getTemplateCode(),
222
+                                    null,
223
+                                    null,
220
                                     url,
224
                                     url,
221
                                     new ArrayList<WxMpTemplateData>(){{
225
                                     new ArrayList<WxMpTemplateData>(){{
222
                                         add(new WxMpTemplateData("first", firstTxt));
226
                                         add(new WxMpTemplateData("first", firstTxt));

+ 1
- 0
src/main/resources/application.yml View File

15
   miniapp:
15
   miniapp:
16
     index: /pages/ShouYe/index
16
     index: /pages/ShouYe/index
17
     ticket: /pages/WoDe/YeZhuBaoXiu/index?id=
17
     ticket: /pages/WoDe/YeZhuBaoXiu/index?id=
18
+    propertyPay: /pages/WuYe/index?type=4
18
   mp:
19
   mp:
19
     festivalH5: https://xs.njyunzhi.com/jierih5.html
20
     festivalH5: https://xs.njyunzhi.com/jierih5.html
20
     birthdayH5: https://xs.njyunzhi.com/shengrih5.html
21
     birthdayH5: https://xs.njyunzhi.com/shengrih5.html

+ 2
- 2
src/main/resources/mapper/TaPersonMapper.xml View File

650
         WHERE
650
         WHERE
651
             t.org_id = #{orgId}
651
             t.org_id = #{orgId}
652
         <if test="name != null and '' != name">
652
         <if test="name != null and '' != name">
653
-            AND t.nickname LIKE CONCAT( '%', #{name}, '%' )
653
+            AND (t.name LIKE CONCAT( '%', #{name}, '%' ) OR t.nickname LIKE CONCAT( '%', #{name}, '%' ))
654
         </if>
654
         </if>
655
         <if test="phone != null and '' != phone">
655
         <if test="phone != null and '' != phone">
656
-            AND t.phone = 123
656
+            AND (t.tel LIKE CONCAT( '%', #{phone}, '%' ) OR t.phone LIKE CONCAT( '%', #{phone}, '%' ))
657
         </if>
657
         </if>
658
         <if test="recommended != null and '' != recommended">
658
         <if test="recommended != null and '' != recommended">
659
             AND s.nickname LIKE CONCAT( '%', #{recommended}, '%' )
659
             AND s.nickname LIKE CONCAT( '%', #{recommended}, '%' )

+ 11
- 0
src/main/resources/mapper/redpack/TaMpMiniappMapper.xml View File

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
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.redpack.mapper.TaMpMiniappMapper">
3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper">
4
 
4
 
5
+    <select id="getByRoom" resultType="com.huiju.estateagents.redpack.entity.TaMpMiniapp">
6
+        SELECT DISTINCT
7
+            s.*
8
+        FROM
9
+            ta_user_verify t
10
+            INNER JOIN ta_mp_miniapp s ON t.person_id = s.miniapp_person_id
11
+        WHERE
12
+            t.org_id = #{orgId}
13
+            AND t.room_no_id = #{roomNoId}
14
+            AND t.verify_status = 1
15
+    </select>
5
 </mapper>
16
 </mapper>