Your Name преди 4 години
родител
ревизия
b77345544d

+ 1
- 1
src/main/java/com/huiju/estateagents/common/WxUtils.java Целия файл

@@ -102,7 +102,7 @@ public class WxUtils {
102 102
     }
103 103
 
104 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 107
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
108 108
                 .toUser(toUser)

+ 32
- 10
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Целия файл

@@ -576,13 +576,20 @@ public class TaPersonController extends BaseController {
576 576
     }
577 577
 
578 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 580
         ResponseBean responseBean = new ResponseBean();
581 581
         String openid = getOpenId(request);
582 582
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
583 583
         if (null == taPersons || taPersons.size() != 1) {
584 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 593
         TaPerson person = taPersons.get(0);
587 594
         if (!StringUtils.isEmpty(name)){
588 595
             person.setName(name);
@@ -593,15 +600,18 @@ public class TaPersonController extends BaseController {
593 600
         if (!StringUtils.isEmpty(birthday)){
594 601
             person.setBirthday(birthday);
595 602
         }
603
+        if (null != sex){
604
+            person.setSex(sex);
605
+        }
596 606
         if (!StringUtils.isEmpty(phone)){
597 607
             person.setTel(phone);
598 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 616
         try{
607 617
             if(taPersonService.updateById(person)){
@@ -848,11 +858,11 @@ public class TaPersonController extends BaseController {
848 858
 //            String senRepl = "$1****$2";
849 859
             for (TaPerson person: personList) {
850 860
                 TaPersonExport row = new TaPersonExport();
851
-                row.setNickname(person.getNickname());
861
+                row.setNickname(StringUtils.ifNull(person.getName(), person.getNickname()));
852 862
 //                row.setPhone(StringUtils.simpleSensitive(person.getPhone(), senRegx, senRepl));
853
-                row.setPhone(person.getPhone());
863
+                row.setPhone(StringUtils.ifNull(person.getTel(), person.getPhone()));
854 864
                 row.setSharePersonName(person.getSharePersonName());
855
-                row.setPoints(person.getPoints());
865
+                row.setSex(getPersonSexName(person));
856 866
                 row.setCreateDate(DateUtils.format(person.getCreateDate(), "yyyy-MM-dd HH:mm"));
857 867
                 data.add(row);
858 868
             }
@@ -868,4 +878,16 @@ public class TaPersonController extends BaseController {
868 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 Целия файл

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

+ 39
- 65
src/main/java/com/huiju/estateagents/property/service/impl/BillInvoiceServiceImpl.java Целия файл

@@ -40,6 +40,7 @@ import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
40 40
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
41 41
 import org.apache.poi.hssf.usermodel.*;
42 42
 import org.springframework.beans.factory.annotation.Autowired;
43
+import org.springframework.beans.factory.annotation.Value;
43 44
 import org.springframework.stereotype.Service;
44 45
 import org.springframework.transaction.annotation.Transactional;
45 46
 
@@ -114,6 +115,9 @@ public class BillInvoiceServiceImpl extends ServiceImpl<BillInvoiceMapper, BillI
114 115
     @Autowired
115 116
     private TaPersonMapper taPersonMapper;
116 117
 
118
+    @Value("${wx.miniapp.propertyPay}")
119
+    String propertyPayPage;
120
+
117 121
     @Override
118 122
     public ResponseBean getBillList(String parameter, TaUser userElement) {
119 123
         ResponseBean responseBean = new ResponseBean();
@@ -727,32 +731,21 @@ public class BillInvoiceServiceImpl extends ServiceImpl<BillInvoiceMapper, BillI
727 731
     public ResponseBean collectionBillList(BillInvoice billInvoice, TaUser userElement) {
728 732
         LambdaQueryWrapper<BillInvoice> queryWrapper = new LambdaQueryWrapper<>();
729 733
         queryWrapper.eq(BillInvoice::getBillId,billInvoice.getBillId());
734
+        queryWrapper.eq(BillInvoice::getBillStatus,CommConstant.BILL_STATUS_UNPAID);
730 735
         queryWrapper.eq(BillInvoice::getStatus,"1");
731 736
         List<BillInvoice> billInvoices = billInvoiceMapper.selectList(queryWrapper);
732 737
         // 发送催缴消息
733 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,7 +760,7 @@ public class BillInvoiceServiceImpl extends ServiceImpl<BillInvoiceMapper, BillI
767 760
      * @param billInvoice
768 761
      * @param person
769 762
      */
770
-    private void sendMpBillMessage(BillInvoice billInvoice, TaMpPerson person) {
763
+    private void sendMpBillMessage(BillInvoice billInvoice, TaMpMiniapp person) {
771 764
         WxMpService mpService = wxUtils.getMpService(billInvoice.getOrgId());
772 765
 
773 766
         // 对应表数据
@@ -775,50 +768,31 @@ public class BillInvoiceServiceImpl extends ServiceImpl<BillInvoiceMapper, BillI
775 768
 
776 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 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 Целия файл

@@ -5,6 +5,8 @@ import org.apache.ibatis.annotations.Mapper;
5 5
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
6 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7 7
 
8
+import java.util.List;
9
+
8 10
 /**
9 11
  * <p>
10 12
  * 公众号小程序账户映射  Mapper 接口
@@ -16,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
16 18
 @Mapper
17 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 Целия файл

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

+ 1
- 0
src/main/resources/application.yml Целия файл

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

+ 2
- 2
src/main/resources/mapper/TaPersonMapper.xml Целия файл

@@ -650,10 +650,10 @@ FROM
650 650
         WHERE
651 651
             t.org_id = #{orgId}
652 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 654
         </if>
655 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 657
         </if>
658 658
         <if test="recommended != null and '' != recommended">
659 659
             AND s.nickname LIKE CONCAT( '%', #{recommended}, '%' )

+ 11
- 0
src/main/resources/mapper/redpack/TaMpMiniappMapper.xml Целия файл

@@ -2,4 +2,15 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 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 16
 </mapper>