| package com.dy.pipIrrSell.client; | 
|   | 
| import com.dy.common.webUtil.QueryResultVo; | 
| import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper; | 
| import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; | 
| import com.dy.pipIrrGlobal.daoSe.SeClientMapper; | 
| import com.dy.pipIrrGlobal.daoSe.SeOpenIdMapper; | 
| import com.dy.pipIrrGlobal.pojoSe.SeClient; | 
| import com.dy.pipIrrGlobal.pojoSe.SeOpenId; | 
| import com.dy.pipIrrGlobal.voSe.VoClient; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.apache.dubbo.common.utils.PojoUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
|   | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * @author ZhuBaoMin | 
|  * @date 2023/12/21 19:17 | 
|  * @LastEditTime 2023/12/21 19:17 | 
|  * @Description | 
|  */ | 
|   | 
| @Slf4j | 
| @Service | 
| public class ClientSv { | 
|     @Autowired | 
|     private SeClientMapper seClientMapper; | 
|   | 
|     @Autowired | 
|     private BaDistrictMapper baDistrictMapper; | 
|   | 
|     @Autowired | 
|     private BaSettingsMapper baSettingsMapper; | 
|   | 
|     @Autowired | 
|     private SeOpenIdMapper seOpenIdMapper; | 
|   | 
|     /** | 
|      * 根据指定条件获取农户数据 | 
|      * @param queryVo | 
|      * @return | 
|      */ | 
|     public QueryResultVo<List<VoClient>> getClients(QueryVo queryVo){ | 
|         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ; | 
|   | 
|         Long itemTotal = (long)seClientMapper.getRecordCount(params).size(); | 
|         QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ; | 
|         rsVo.pageSize = queryVo.pageSize ; | 
|         rsVo.pageCurr = queryVo.pageCurr ; | 
|   | 
|         rsVo.calculateAndSet(itemTotal, params); | 
|         rsVo.obj = seClientMapper.getClients(params); | 
|   | 
|         return rsVo ; | 
|     } | 
|   | 
|     /** | 
|      * 根据主键获取农户对象 | 
|      * @param id 农户主键 | 
|      * @return 农户对象 | 
|      */ | 
|     public VoClient getOneClient(Long id) { | 
|         SeClient seClient = seClientMapper.selectByPrimaryKey(id); | 
|         VoClient voClient = SeClientToVoClient.INSTANCT.po2vo(seClient); | 
|         return voClient; | 
|     } | 
|     /** | 
|      * 增开农户 | 
|      * @param po | 
|      * @return | 
|      */ | 
|     public Integer addClient(SeClient po) { | 
|         return seClientMapper.insertSelective(po); | 
|     } | 
|   | 
|     /** | 
|      * 根据6位区划串模糊查询农户编号 | 
|      * @param district6 | 
|      * @return | 
|      */ | 
|     public String getClientNumOfMax(String district6) { | 
|         return seClientMapper.getClientNumOfMax(district6); | 
|     } | 
|   | 
|     /** | 
|      * 根据村编号获取5级区划信息 | 
|      * @param villageId 村编号(主键) | 
|      * @return 5级行政区划信息 | 
|      */ | 
|     public Map getDistrictsByVillageId(Long villageId) { | 
|         return baDistrictMapper.getDistrictsByVillageId(villageId); | 
|     } | 
|   | 
|     /** | 
|      * 根据农户ID逻辑删除农户 | 
|      */ | 
|     public Integer deleteClientById(Long id) { | 
|         return seClientMapper.deleteClientById(id); | 
|     } | 
|   | 
|     /** | 
|      * 修改农户对象 | 
|      * @param po 农户对象 | 
|      * @return 修改记录条数 | 
|      */ | 
|     public Integer updateByPrimaryKey(SeClient po) { | 
|         return seClientMapper.updateByPrimaryKey(po); | 
|     } | 
|   | 
|     /** | 
|      * 根据主键获取村ID | 
|      * @param id | 
|      * @return | 
|      */ | 
|     public Long getVillageIdById(Long id) { | 
|         return seClientMapper.getVillageIdById(id); | 
|     } | 
|   | 
|     /** | 
|      * 获取虚拟卡号最大值 | 
|      * @return | 
|      */ | 
|     public Long getMa1xVirtualId() { | 
|         return seClientMapper.getMa1xVirtualId(); | 
|     } | 
|   | 
|     /** | 
|      * 获取用水方式列表 | 
|      * @return | 
|      */ | 
|     public List<Map<String, Object>> getWaterTypes() { | 
|         return seClientMapper.getWaterTypes(); | 
|     } | 
|   | 
|     /** | 
|      * 根据配置项获取配置项值 | 
|      * @param itemName | 
|      * @return | 
|      */ | 
|     public String getItemValue(String itemName) { | 
|         return baSettingsMapper.getItemValue(itemName); | 
|     } | 
|   | 
|     /** | 
|      * 根据电话号码获取农户ID | 
|      * @param phoneNumber | 
|      * @return | 
|      */ | 
|     public Long getClientIdByPhone(String phoneNumber) { | 
|         return seClientMapper.getClientIdByPhone(phoneNumber); | 
|     } | 
|   | 
|     /** | 
|      * 添加微信用户账户记录 | 
|      * @param po | 
|      * @return | 
|      */ | 
|     public Long addOpenId(SeOpenId po) { | 
|         seOpenIdMapper.insert(po); | 
|         //return po.getClientId(); | 
|         return po.getId(); | 
|     } | 
| } |