| Api/src/main/java/com/java110/api/listener/users/DisableStaffServiceListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserService/src/main/java/com/java110/user/listener/AbstractUserBusinessServiceDataFlowListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserService/src/main/java/com/java110/user/listener/ModifyUserInfoListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserService/src/main/java/com/java110/user/listener/RecoverUserInfoListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserService/src/main/java/com/java110/user/listener/RemoveUserInfoListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-common/src/main/java/com/java110/common/constant/ServiceCodeConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Api/src/main/java/com/java110/api/listener/users/DisableStaffServiceListener.java
New file @@ -0,0 +1,92 @@ package com.java110.api.listener.users; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiDataFlowListener; import com.java110.common.cache.MappingCache; import com.java110.common.constant.CommonConstant; import com.java110.common.constant.MappingConstant; import com.java110.common.constant.ServiceCodeConstant; import com.java110.common.constant.UserLevelConstant; import com.java110.common.util.Assert; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.entity.center.AppService; import com.java110.event.service.api.ServiceDataFlowEvent; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; /** * 员工停用接口 * @author wuxw * @create 2018-12-08 下午2:46 * @desc 停用员工信息,如离职等情况 员工账号信息停用处理 **/ @Java110Listener("disableStaffServiceListener") public class DisableStaffServiceListener extends AbstractServiceApiDataFlowListener { @Override public String getServiceCode() { return ServiceCodeConstant.SERVICE_CODE_USER_STAFF_DISABLE; } /** * 接口请求方法 * @return */ @Override public HttpMethod getHttpMethod() { return HttpMethod.PUT; } /** * 业务逻辑处理 * 参数要求必须有员工ID * @param event */ @Override public void soService(ServiceDataFlowEvent event) { //获取数据上下文对象 DataFlowContext dataFlowContext = event.getDataFlowContext(); AppService service = event.getAppService(); String paramIn = dataFlowContext.getReqData(); Assert.jsonObjectHaveKey(paramIn,"userId","当前请求报文中未包含userId节点"); JSONObject business = JSONObject.parseObject("{\"datas\":{}}"); business.put(CommonConstant.HTTP_BUSINESS_SERVICE_CODE,ServiceCodeConstant.SERVICE_CODE_SAVE_USER_INFO); business.put(CommonConstant.HTTP_BUSINESS_SERVICE_NAME,"用户注册"); business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessUser",refreshParamIn(paramIn)); HttpHeaders header = new HttpHeaders(); dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_USER_ID,"-1"); dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD,"D"); String paramInObj = super.restToCenterProtocol(business,dataFlowContext.getRequestCurrentHeaders()).toJSONString(); HttpEntity<String> httpEntity = new HttpEntity<String>(paramInObj, header); //http://user-service/test/sayHello super.doRequest(dataFlowContext, service, httpEntity); super.doResponse(dataFlowContext); } /** * 对请求报文处理 * @param paramIn * @return */ private JSONObject refreshParamIn(String paramIn){ JSONObject paramObj = JSONObject.parseObject(paramIn); paramObj.put("userId","-1"); paramObj.put("levelCd", UserLevelConstant.USER_LEVEL_STAFF); //设置默认密码 String staffDefaultPassword = MappingCache.getValue(MappingConstant.KEY_STAFF_DEFAULT_PASSWORD); Assert.isNull(staffDefaultPassword,"映射表中未设置员工默认密码,请检查"+MappingConstant.KEY_STAFF_DEFAULT_PASSWORD); paramObj.put("password",staffDefaultPassword); return paramObj; } @Override public int getOrder() { return 0; } } UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java
@@ -45,17 +45,17 @@ @Override public int saveDataToBoCust(BoCust boCust) throws RuntimeException{ LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCust】保存数据入参 : " + boCust); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToBoCust】保存数据入参 : " + boCust); int saveFlag = 0; try { saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveDataToBoCust",boCust); saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveDataToBoCust",boCust); }catch(RuntimeException e){ LoggerEngine.error("----【UserServiceDAOImpl.saveDataToBoCust】保存数据异常 : " ,e); LoggerEngine.error("----【userServiceDaoImpl.saveDataToBoCust】保存数据异常 : " ,e); return saveFlag; }finally { LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCust】保存数据出参 : saveFlag:" + saveFlag); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToBoCust】保存数据出参 : saveFlag:" + saveFlag); return saveFlag; } @@ -71,16 +71,16 @@ @Override public int saveDataToBoCustAttr(BoCustAttr boCustAttr) throws RuntimeException { LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAttr】保存数据入参 : " + boCustAttr); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToBoCustAttr】保存数据入参 : " + boCustAttr); //为了保险起见,再测检测reqList 是否有值 if(boCustAttr == null){ LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAttr】保存数据出错 : " + boCustAttr); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToBoCustAttr】保存数据出错 : " + boCustAttr); return 0; } int saveFlag = 0; saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveDataToBoCustAttr",boCustAttr); LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAttr】保存数据出参 :saveFlag " + saveFlag); saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveDataToBoCustAttr",boCustAttr); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToBoCustAttr】保存数据出参 :saveFlag " + saveFlag); return saveFlag; @@ -94,16 +94,16 @@ */ @Override public int saveDataToCust(Cust cust) throws RuntimeException { LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToCust】保存数据入参 : " + cust); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToCust】保存数据入参 : " + cust); //为了保险起见,再测检测reqList 是否有值 if(cust == null){ LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToCust】保存数据出错 : " + cust); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToCust】保存数据出错 : " + cust); throw new IllegalArgumentException("请求参数错误,cust : " + cust); } int saveFlag = 0; saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveDataToCust",cust); LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToCust】保存数据出参 :saveFlag " + saveFlag); saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveDataToCust",cust); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToCust】保存数据出参 :saveFlag " + saveFlag); return saveFlag; } @@ -116,16 +116,16 @@ */ @Override public int saveDataToCustAttr(CustAttr custAttr) throws RuntimeException { LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToCust】保存数据入参 : " + custAttr); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToCust】保存数据入参 : " + custAttr); //为了保险起见,再测检测reqList 是否有值 if(custAttr == null){ LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToCust】保存数据出错 : " + custAttr); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToCust】保存数据出错 : " + custAttr); throw new IllegalArgumentException("请求参数错误,custAttr : " + custAttr); } int saveFlag = 0; saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveDataToCustAttr",custAttr); LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToCust】保存数据出参 :saveFlag " + saveFlag); saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveDataToCustAttr",custAttr); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToCust】保存数据出参 :saveFlag " + saveFlag); return saveFlag; } @@ -137,16 +137,16 @@ * @throws RuntimeException */ public int deleteDataToCust(Cust cust) throws RuntimeException{ LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCust】保存数据入参 : " + cust); LoggerEngine.debug("----【userServiceDaoImpl.deleteDataToCust】保存数据入参 : " + cust); //为了保险起见,再测检测reqList 是否有值 if(cust == null){ LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCust】保存数据出错 : " + cust); LoggerEngine.debug("----【userServiceDaoImpl.deleteDataToCust】保存数据出错 : " + cust); throw new IllegalArgumentException("请求参数错误,cust : " + cust); } int saveFlag = 0; saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.deleteDataToCust",cust); LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCust】保存数据出参 :saveFlag " + saveFlag); saveFlag = sqlSessionTemplate.update("userServiceDaoImpl.deleteDataToCust",cust); LoggerEngine.debug("----【userServiceDaoImpl.deleteDataToCust】保存数据出参 :saveFlag " + saveFlag); return saveFlag; } @@ -158,16 +158,16 @@ * @throws RuntimeException */ public int deleteDataToCustAttr(CustAttr custAttr) throws RuntimeException{ LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCustAttr】保存数据入参 : " + custAttr); LoggerEngine.debug("----【userServiceDaoImpl.deleteDataToCustAttr】保存数据入参 : " + custAttr); //为了保险起见,再测检测reqList 是否有值 if(custAttr == null){ LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCustAttr】保存数据出错 : " + custAttr); LoggerEngine.debug("----【userServiceDaoImpl.deleteDataToCustAttr】保存数据出错 : " + custAttr); throw new IllegalArgumentException("请求参数错误,custAttr : " + custAttr); } int saveFlag = 0; saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.deleteDataToCustAttr",custAttr); LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCustAttr】保存数据出参 :saveFlag " + saveFlag); saveFlag = sqlSessionTemplate.update("userServiceDaoImpl.deleteDataToCustAttr",custAttr); LoggerEngine.debug("----【userServiceDaoImpl.deleteDataToCustAttr】保存数据出参 :saveFlag " + saveFlag); return saveFlag; } @@ -183,7 +183,7 @@ @Override public String saveDataToBoCustAndBoCustAttr(String boCustInfo) throws RuntimeException { LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAndBoCustAttr】保存数据入参"+boCustInfo); LoggerEngine.debug("----【userServiceDaoImpl.saveDataToBoCustAndBoCustAttr】保存数据入参"+boCustInfo); return null; } @@ -216,16 +216,16 @@ */ @Override public Cust queryDataToCust(Cust cust) throws RuntimeException { LoggerEngine.debug("----【UserServiceDAOImpl.queryDataToCust】保存数据入参 : " + cust); LoggerEngine.debug("----【userServiceDaoImpl.queryDataToCust】保存数据入参 : " + cust); //为了保险起见,再测检测reqList 是否有值 if(cust == null){ LoggerEngine.debug("----【UserServiceDAOImpl.queryDataToCust】保存数据出错 : " + cust); LoggerEngine.debug("----【userServiceDaoImpl.queryDataToCust】保存数据出错 : " + cust); throw new IllegalArgumentException("请求参数错误,cust : " + cust); } Cust newCust = sqlSessionTemplate.selectOne("userServiceDAOImpl.queryDataToCust",cust); Cust newCust = sqlSessionTemplate.selectOne("userServiceDaoImpl.queryDataToCust",cust); LoggerEngine.debug("----【UserServiceDAOImpl.queryDataToCust】保存数据出参 :newCust " + newCust); LoggerEngine.debug("----【userServiceDaoImpl.queryDataToCust】保存数据出参 :newCust " + newCust); return newCust; } @@ -239,16 +239,16 @@ */ @Override public List<CustAttr> queryDataToCustAttr(CustAttr custAttr) throws RuntimeException { LoggerEngine.debug("----【UserServiceDAOImpl.queryDataToCustAttr】保存数据入参 : " + custAttr); LoggerEngine.debug("----【userServiceDaoImpl.queryDataToCustAttr】保存数据入参 : " + custAttr); //为了保险起见,再测检测reqList 是否有值 if(custAttr == null){ LoggerEngine.debug("----【UserServiceDAOImpl.queryDataToCust】保存数据出错 : " + custAttr); LoggerEngine.debug("----【userServiceDaoImpl.queryDataToCust】保存数据出错 : " + custAttr); throw new IllegalArgumentException("请求参数错误,CustAttr : " + custAttr); } List<CustAttr> custAttrs = sqlSessionTemplate.selectList("userServiceDAOImpl.queryDataToCustAttr",custAttr); List<CustAttr> custAttrs = sqlSessionTemplate.selectList("userServiceDaoImpl.queryDataToCustAttr",custAttr); LoggerEngine.debug("----【UserServiceDAOImpl.queryDataToCust】保存数据出参 :custAttrs " + custAttrs); LoggerEngine.debug("----【userServiceDaoImpl.queryDataToCust】保存数据出参 :custAttrs " + custAttrs); return custAttrs; } @@ -267,11 +267,11 @@ * @throws Exception */ public List<BoCust> queryBoCust(BoCust boCust) throws Exception{ LoggerEngine.debug("----【UserServiceDAOImpl.queryBoCustAttr】:"+boCust); LoggerEngine.debug("----【userServiceDaoImpl.queryBoCustAttr】:"+boCust); Assert.isNull(boCust,"查询bo_cust 入参为空"); return sqlSessionTemplate.selectList("userServiceDAOImpl.queryBoCust",boCust); return sqlSessionTemplate.selectList("userServiceDaoImpl.queryBoCust",boCust); } /** @@ -284,11 +284,11 @@ */ public List<BoCustAttr> queryBoCustAttr(BoCustAttr boCustAttr) throws Exception{ LoggerEngine.debug("【userServiceDAOImpl.queryBoCustAttr】:"+boCustAttr); LoggerEngine.debug("【userServiceDaoImpl.queryBoCustAttr】:"+boCustAttr); Assert.isNull(boCustAttr,"查询bo_cust_attr 入参为空"); return sqlSessionTemplate.selectList("userServiceDAOImpl.queryBoCustAttr",boCustAttr); return sqlSessionTemplate.selectList("userServiceDaoImpl.queryBoCustAttr",boCustAttr); } @@ -299,11 +299,11 @@ */ @Override public void saveBusinessUserInfo(Map userInfo) throws DAOException { LoggerEngine.debug("----【UserServiceDAOImpl.saveBusinessUserInfo】保存数据入参 : " + JSONObject.toJSONString(userInfo)); LoggerEngine.debug("----【userServiceDaoImpl.saveBusinessUserInfo】保存数据入参 : " + JSONObject.toJSONString(userInfo)); // 查询business_user 数据是否已经存在 int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveBusinessUserInfo",userInfo); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveBusinessUserInfo",userInfo); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户数据失败:"+JSONObject.toJSONString(userInfo)); @@ -316,9 +316,9 @@ */ @Override public void saveBusinessUserAttr(Map userAttr) throws DAOException { LoggerEngine.debug("----【UserServiceDAOImpl.saveBusinessUserAttr】保存数据入参 : " + JSONObject.toJSONString(userAttr)); LoggerEngine.debug("----【userServiceDaoImpl.saveBusinessUserAttr】保存数据入参 : " + JSONObject.toJSONString(userAttr)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveBusinessUserAttr",userAttr); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveBusinessUserAttr",userAttr); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户属性数据失败:"+JSONObject.toJSONString(userAttr)); @@ -327,8 +327,8 @@ @Override public void saveUserInfoInstance(Map businessUser) { LoggerEngine.debug("----【UserServiceDAOImpl.saveUserInfoInstance】保存数据入参 : " + JSONObject.toJSONString(businessUser)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveUserInfoInstance",businessUser); LoggerEngine.debug("----【userServiceDaoImpl.saveUserInfoInstance】保存数据入参 : " + JSONObject.toJSONString(businessUser)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveUserInfoInstance",businessUser); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户Instance数据失败:"+JSONObject.toJSONString(businessUser)); @@ -337,8 +337,8 @@ @Override public void saveUserAttrInstance(Map attrInstance) { LoggerEngine.debug("----【UserServiceDAOImpl.saveUserAttrInstance】保存数据入参 : " + JSONObject.toJSONString(attrInstance)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveUserAttrInstance",attrInstance); LoggerEngine.debug("----【userServiceDaoImpl.saveUserAttrInstance】保存数据入参 : " + JSONObject.toJSONString(attrInstance)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveUserAttrInstance",attrInstance); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户Instance数据失败:"+JSONObject.toJSONString(attrInstance)); @@ -347,8 +347,8 @@ @Override public void updateUserInfoInstance(Map businessUser) { LoggerEngine.debug("----【UserServiceDAOImpl.updateUserInfoInstance】保存数据入参 : " + JSONObject.toJSONString(businessUser)); int saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.updateUserInfoInstance",businessUser); LoggerEngine.debug("----【userServiceDaoImpl.updateUserInfoInstance】保存数据入参 : " + JSONObject.toJSONString(businessUser)); int saveFlag = sqlSessionTemplate.update("userServiceDaoImpl.updateUserInfoInstance",businessUser); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改用户Instance数据失败:"+JSONObject.toJSONString(businessUser)); @@ -357,8 +357,8 @@ @Override public void updateUserAttrInstance(Map attrInstance) { LoggerEngine.debug("----【UserServiceDAOImpl.updateUserAttrInstance】保存数据入参 : " + JSONObject.toJSONString(attrInstance)); int saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.updateUserAttrInstance",attrInstance); LoggerEngine.debug("----【userServiceDaoImpl.updateUserAttrInstance】保存数据入参 : " + JSONObject.toJSONString(attrInstance)); int saveFlag = sqlSessionTemplate.update("userServiceDaoImpl.updateUserAttrInstance",attrInstance); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改用户Instance数据失败:"+JSONObject.toJSONString(attrInstance)); @@ -375,8 +375,8 @@ */ public Map queryBusinessUserInfo(Map info) throws DAOException{ Assert.notNull(info,"queryBusinessUserInfo 的参数不能为空"); LoggerEngine.debug("----【UserServiceDAOImpl.queryBusinessUserInfo】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDAOImpl.queryBusinessUserInfo",info); LoggerEngine.debug("----【userServiceDaoImpl.queryBusinessUserInfo】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDaoImpl.queryBusinessUserInfo",info); if(users == null || users.size() == 0){ return null; } @@ -391,8 +391,8 @@ */ public List<Map> queryBusinessUserInfoAttrs(Map info) throws DAOException{ Assert.notNull(info,"queryBusinessUserInfoAttrs 的参数不能为空"); LoggerEngine.debug("----【UserServiceDAOImpl.queryBusinessUserInfoAttrs】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> userAttrs = sqlSessionTemplate.selectList("userServiceDAOImpl.queryBusinessUserInfoAttrs",info); LoggerEngine.debug("----【userServiceDaoImpl.queryBusinessUserInfoAttrs】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> userAttrs = sqlSessionTemplate.selectList("userServiceDaoImpl.queryBusinessUserInfoAttrs",info); return userAttrs; } @@ -405,8 +405,8 @@ @Override public Map queryUserInfo(Map info) throws DAOException{ Assert.notNull(info,"queryUserInfo 的参数不能为空"); LoggerEngine.debug("----【UserServiceDAOImpl.queryUserInfo】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDAOImpl.queryUserInfo",info); LoggerEngine.debug("----【userServiceDaoImpl.queryUserInfo】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDaoImpl.queryUserInfo",info); if(users == null || users.size() == 0){ return null; } @@ -422,8 +422,8 @@ @Override public List<Map> queryUserInfoAttrs(Map info) throws DAOException{ Assert.notNull(info,"queryUserInfo 的参数不能为空"); LoggerEngine.debug("----【UserServiceDAOImpl.updateUserAttrInstance】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> userAttrs = sqlSessionTemplate.selectList("userServiceDAOImpl.queryUserInfoAttrs",info); LoggerEngine.debug("----【userServiceDaoImpl.updateUserAttrInstance】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> userAttrs = sqlSessionTemplate.selectList("userServiceDaoImpl.queryUserInfoAttrs",info); return userAttrs; } @@ -434,8 +434,8 @@ * @throws DAOException */ public void saveBusinessUserAddress(Map userAddress) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.saveBusinessUserAddress】保存数据入参 : " + JSONObject.toJSONString(userAddress)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveBusinessUserAddress",userAddress); LoggerEngine.debug("----【userServiceDaoImpl.saveBusinessUserAddress】保存数据入参 : " + JSONObject.toJSONString(userAddress)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveBusinessUserAddress",userAddress); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户地址数据失败:"+JSONObject.toJSONString(userAddress)); @@ -451,8 +451,8 @@ */ public Map queryBusinessUserAddress(Map info) throws DAOException{ Assert.notNull(info,"queryBusinessUserAddress 的参数不能为空"); LoggerEngine.debug("----【UserServiceDAOImpl.queryBusinessUserAddress】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDAOImpl.queryBusinessUserAddress",info); LoggerEngine.debug("----【userServiceDaoImpl.queryBusinessUserAddress】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDaoImpl.queryBusinessUserAddress",info); if(users == null || users.size() == 0){ return null; } @@ -465,8 +465,8 @@ * @throws DAOException 数据处理异常 */ public void saveUserAddressInstance(Map businessUserAddress) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.saveUserAddressInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserAddress)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveUserAddressInstance",businessUserAddress); LoggerEngine.debug("----【userServiceDaoImpl.saveUserAddressInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserAddress)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveUserAddressInstance",businessUserAddress); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户地址Instance数据失败:"+JSONObject.toJSONString(businessUserAddress)); @@ -479,8 +479,8 @@ * @throws DAOException 数据处理异常 */ public void updateUserAddressInstance(Map businessUserAddress) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.updateUserAddressInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserAddress)); int saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.updateUserAddressInstance",businessUserAddress); LoggerEngine.debug("----【userServiceDaoImpl.updateUserAddressInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserAddress)); int saveFlag = sqlSessionTemplate.update("userServiceDaoImpl.updateUserAddressInstance",businessUserAddress); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改用户Instance数据失败:"+JSONObject.toJSONString(businessUserAddress)); @@ -495,8 +495,8 @@ * @throws DAOException */ public void saveBusinessUserTag(Map userTag) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.saveBusinessUserTag】保存数据入参 : " + JSONObject.toJSONString(userTag)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveBusinessUserTag",userTag); LoggerEngine.debug("----【userServiceDaoImpl.saveBusinessUserTag】保存数据入参 : " + JSONObject.toJSONString(userTag)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveBusinessUserTag",userTag); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户打标数据失败:"+JSONObject.toJSONString(userTag)); @@ -513,8 +513,8 @@ */ public Map queryBusinessUserTag(Map info) throws DAOException{ Assert.notNull(info,"queryBusinessUserTag 的参数不能为空"); LoggerEngine.debug("----【UserServiceDAOImpl.queryBusinessUserTag】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDAOImpl.queryBusinessUserTag",info); LoggerEngine.debug("----【userServiceDaoImpl.queryBusinessUserTag】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDaoImpl.queryBusinessUserTag",info); if(users == null || users.size() == 0){ return null; } @@ -527,8 +527,8 @@ * @throws DAOException 数据处理异常 */ public void saveUserTagInstance(Map businessUserTag) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.saveUserTagInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserTag)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveUserTagInstance",businessUserTag); LoggerEngine.debug("----【userServiceDaoImpl.saveUserTagInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserTag)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveUserTagInstance",businessUserTag); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户打标Instance数据失败:"+JSONObject.toJSONString(businessUserTag)); @@ -542,8 +542,8 @@ * @throws DAOException 数据处理异常 */ public void updateUserTagInstance(Map businessUserTag) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.updateUserTagInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserTag)); int saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.updateUserTagInstance",businessUserTag); LoggerEngine.debug("----【userServiceDaoImpl.updateUserTagInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserTag)); int saveFlag = sqlSessionTemplate.update("userServiceDaoImpl.updateUserTagInstance",businessUserTag); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改用户Instance数据失败:"+JSONObject.toJSONString(businessUserTag)); @@ -558,8 +558,8 @@ * @throws DAOException */ public void saveBusinessUserCredentials(Map userCredentials) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.saveBusinessUserCredentials】保存数据入参 : " + JSONObject.toJSONString(userCredentials)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveBusinessUserCredentials",userCredentials); LoggerEngine.debug("----【userServiceDaoImpl.saveBusinessUserCredentials】保存数据入参 : " + JSONObject.toJSONString(userCredentials)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveBusinessUserCredentials",userCredentials); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户打标数据失败:"+JSONObject.toJSONString(userCredentials)); @@ -576,8 +576,8 @@ */ public Map queryBusinessUserCredentials(Map info) throws DAOException{ Assert.notNull(info,"queryBusinessUserCredentials 的参数不能为空"); LoggerEngine.debug("----【UserServiceDAOImpl.queryBusinessUserCredentials】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDAOImpl.queryBusinessUserCredentials",info); LoggerEngine.debug("----【userServiceDaoImpl.queryBusinessUserCredentials】保存数据入参 : " + JSONObject.toJSONString(info)); List<Map> users = sqlSessionTemplate.selectList("userServiceDaoImpl.queryBusinessUserCredentials",info); if(users == null || users.size() == 0){ return null; } @@ -590,8 +590,8 @@ * @throws DAOException 数据处理异常 */ public void saveUserCredentialsInstance(Map businessUserCredentials) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.saveUserCredentialsInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserCredentials)); int saveFlag = sqlSessionTemplate.insert("userServiceDAOImpl.saveUserCredentialsInstance",businessUserCredentials); LoggerEngine.debug("----【userServiceDaoImpl.saveUserCredentialsInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserCredentials)); int saveFlag = sqlSessionTemplate.insert("userServiceDaoImpl.saveUserCredentialsInstance",businessUserCredentials); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存用户打标Instance数据失败:"+JSONObject.toJSONString(businessUserCredentials)); @@ -605,8 +605,8 @@ * @throws DAOException 数据处理异常 */ public void updateUserCredentialsInstance(Map businessUserCredentials) throws DAOException{ LoggerEngine.debug("----【UserServiceDAOImpl.updateUserCredentialsInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserCredentials)); int saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.updateUserCredentialsInstance",businessUserCredentials); LoggerEngine.debug("----【userServiceDaoImpl.updateUserCredentialsInstance】保存数据入参 : " + JSONObject.toJSONString(businessUserCredentials)); int saveFlag = sqlSessionTemplate.update("userServiceDaoImpl.updateUserCredentialsInstance",businessUserCredentials); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改用户Instance数据失败:"+JSONObject.toJSONString(businessUserCredentials)); UserService/src/main/java/com/java110/user/listener/AbstractUserBusinessServiceDataFlowListener.java
New file @@ -0,0 +1,109 @@ package com.java110.user.listener; import com.alibaba.fastjson.JSONObject; import com.java110.common.constant.ResponseConstant; import com.java110.common.constant.StatusConstant; import com.java110.common.exception.ListenerExecuteException; import com.java110.entity.center.Business; import com.java110.event.service.AbstractBusinessServiceDataFlowListener; import com.java110.user.dao.IUserServiceDao; import java.util.HashMap; import java.util.Map; /** * @author wux * @create 2018-12-08 下午3:15 * @desc 用户服务抽象类 **/ public abstract class AbstractUserBusinessServiceDataFlowListener extends AbstractBusinessServiceDataFlowListener { /** * 获取 DAO工具类 * @return */ public abstract IUserServiceDao getUserServiceDaoImpl(); /** * 当修改数据时,查询instance表中的数据 自动保存删除数据到business中 * @param businessUser 商户信息 */ protected void autoSaveDelBusinessUser(Business business, JSONObject businessUser){ //自动插入DEL Map info = new HashMap(); info.put("userId",businessUser.getString("userId")); info.put("statusCd", StatusConstant.STATUS_CD_VALID); Map currentUserInfo = getUserServiceDaoImpl().queryUserInfo(info); if(currentUserInfo == null || currentUserInfo.isEmpty()){ throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR,"未找到需要修改数据信息,入参错误或数据有问题,请检查"+info); } currentUserInfo.put("bId",business.getbId()); currentUserInfo.put("userId",currentUserInfo.get("user_id")); currentUserInfo.put("name",currentUserInfo.get("name")); currentUserInfo.put("email",currentUserInfo.get("email")); currentUserInfo.put("address",currentUserInfo.get("address")); currentUserInfo.put("password",currentUserInfo.get("password")); currentUserInfo.put("locationCd",currentUserInfo.get("location_cd")); currentUserInfo.put("age",currentUserInfo.get("age")); currentUserInfo.put("sex",currentUserInfo.get("sex")); currentUserInfo.put("tel",currentUserInfo.get("tel")); currentUserInfo.put("levelCd",currentUserInfo.get("level_cd")); currentUserInfo.put("operate",StatusConstant.OPERATE_DEL); getUserServiceDaoImpl().saveBusinessUserInfo(currentUserInfo); } /** * 刷新 businessUserInfo 数据 * 主要将 数据库 中字段和 接口传递字段建立关系 * @param businessUserInfo */ protected void flushBusinessUserInfo(Map businessUserInfo,String statusCd){ businessUserInfo.put("newBId",businessUserInfo.get("b_id")); businessUserInfo.put("userId",businessUserInfo.get("user_id")); businessUserInfo.put("name",businessUserInfo.get("name")); businessUserInfo.put("email",businessUserInfo.get("email")); businessUserInfo.put("address",businessUserInfo.get("address")); businessUserInfo.put("password",businessUserInfo.get("password")); businessUserInfo.put("locationCd",businessUserInfo.get("location_cd")); businessUserInfo.put("age",businessUserInfo.get("age")); businessUserInfo.put("sex",businessUserInfo.get("sex")); businessUserInfo.put("tel",businessUserInfo.get("tel")); businessUserInfo.put("levelCd",businessUserInfo.get("level_cd")); businessUserInfo.put("statusCd", statusCd); } /** * 当修改数据时,查询instance表中的数据 自动保存删除数据到business中 * @param businessUser 商户信息 */ protected void autoSaveAddBusinessUser(Business business, JSONObject businessUser){ //自动插入DEL Map info = new HashMap(); info.put("userId",businessUser.getString("userId")); info.put("statusCd", StatusConstant.STATUS_CD_INVALID); Map currentUserInfo = getUserServiceDaoImpl().queryUserInfo(info); if(currentUserInfo == null || currentUserInfo.isEmpty()){ throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR,"未找到需要修改数据信息,入参错误或数据有问题,请检查"+info); } currentUserInfo.put("bId",business.getbId()); currentUserInfo.put("userId",currentUserInfo.get("user_id")); currentUserInfo.put("name",currentUserInfo.get("name")); currentUserInfo.put("email",currentUserInfo.get("email")); currentUserInfo.put("address",currentUserInfo.get("address")); currentUserInfo.put("password",currentUserInfo.get("password")); currentUserInfo.put("locationCd",currentUserInfo.get("location_cd")); currentUserInfo.put("age",currentUserInfo.get("age")); currentUserInfo.put("sex",currentUserInfo.get("sex")); currentUserInfo.put("tel",currentUserInfo.get("tel")); currentUserInfo.put("levelCd",currentUserInfo.get("level_cd")); currentUserInfo.put("operate",StatusConstant.OPERATE_ADD); getUserServiceDaoImpl().saveBusinessUserInfo(currentUserInfo); } } UserService/src/main/java/com/java110/user/listener/ModifyUserInfoListener.java
New file @@ -0,0 +1,143 @@ package com.java110.user.listener; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.common.constant.ResponseConstant; import com.java110.common.constant.ServiceCodeConstant; import com.java110.common.constant.StatusConstant; import com.java110.common.exception.ListenerExecuteException; import com.java110.common.util.Assert; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.core.factory.GenerateCodeFactory; import com.java110.entity.center.Business; import com.java110.user.dao.IUserServiceDao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 修改 用户信息 侦听 * Created by wuxw on 2018/5/18. */ @Java110Listener("modifyUserInfoListener") @Transactional public class ModifyUserInfoListener extends AbstractUserBusinessServiceDataFlowListener { private final static Logger logger = LoggerFactory.getLogger(ModifyUserInfoListener.class); @Autowired IUserServiceDao userServiceDaoImpl; @Override public int getOrder() { return 0; } /** * 修改用户信息 * @return */ @Override public String getServiceCode() { return ServiceCodeConstant.SERVICE_CODE_MODIFY_USER_INFO; } /** * 修改用户信息至 business表中 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doSaveBusiness(DataFlowContext dataFlowContext, Business business) { JSONObject data = business.getDatas(); Assert.notEmpty(data,"没有datas 节点,或没有子节点需要处理"); Assert.jsonObjectHaveKey(data,"businessUser","datas 节点下没有包含 businessUser 节点"); JSONObject businessUser = data.getJSONObject("businessUser"); Assert.jsonObjectHaveKey(businessUser,"userId","businessUser 节点下没有包含 userId 节点"); if(businessUser.getString("userId").startsWith("-")){ throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR,"userId 错误,不能自动生成(必须已经存在的userId)"+businessUser); } //自动保存DEL autoSaveDelBusinessUser(business,businessUser); businessUser.put("bId",business.getbId()); businessUser.put("operate", StatusConstant.OPERATE_ADD); //保存商户信息 userServiceDaoImpl.saveBusinessUserInfo(businessUser); } /** * 将 business的用户信息 保存至 instance表中 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doBusinessToInstance(DataFlowContext dataFlowContext, Business business) { JSONObject data = business.getDatas(); Map info = new HashMap(); info.put("bId",business.getbId()); info.put("operate",StatusConstant.OPERATE_ADD); //商户信息 Map businessUserInfo = userServiceDaoImpl.queryBusinessUserInfo(info); if( businessUserInfo != null && !businessUserInfo.isEmpty()) { flushBusinessUserInfo(businessUserInfo,StatusConstant.STATUS_CD_VALID); userServiceDaoImpl.updateUserInfoInstance(businessUserInfo); dataFlowContext.addParamOut("userId",businessUserInfo.get("user_id")); } } /** * 将instance 作废 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doRecover(DataFlowContext dataFlowContext, Business business) { String bId = business.getbId(); //Assert.hasLength(bId,"请求报文中没有包含 bId"); Map info = new HashMap(); info.put("bId",bId); info.put("statusCd",StatusConstant.STATUS_CD_VALID); Map delInfo = new HashMap(); delInfo.put("bId",business.getbId()); delInfo.put("operate",StatusConstant.OPERATE_DEL); //用户信息 Map userInfo = userServiceDaoImpl.queryUserInfo(info); if(userInfo != null && !userInfo.isEmpty()){ //商户信息 Map businessUserInfo = userServiceDaoImpl.queryBusinessUserInfo(delInfo); //除非程序出错了,这里不会为空 if(businessUserInfo == null || businessUserInfo.isEmpty()){ throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_INNER_ERROR,"撤单失败(user),程序内部异常,请检查! "+delInfo); } flushBusinessUserInfo(businessUserInfo,StatusConstant.STATUS_CD_VALID); userServiceDaoImpl.updateUserInfoInstance(businessUserInfo); dataFlowContext.addParamOut("userId",userInfo.get("user_id")); } } public IUserServiceDao getUserServiceDaoImpl() { return userServiceDaoImpl; } public void setUserServiceDaoImpl(IUserServiceDao userServiceDaoImpl) { this.userServiceDaoImpl = userServiceDaoImpl; } } UserService/src/main/java/com/java110/user/listener/RecoverUserInfoListener.java
New file @@ -0,0 +1,136 @@ package com.java110.user.listener; import com.alibaba.fastjson.JSONObject; import com.java110.common.constant.ResponseConstant; import com.java110.common.constant.ServiceCodeConstant; import com.java110.common.constant.StatusConstant; import com.java110.common.exception.ListenerExecuteException; import com.java110.common.util.Assert; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.entity.center.Business; import com.java110.user.dao.IUserServiceDao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.Map; /** * 恢复 用户信息 侦听 * Created by wuxw on 2018/5/18. */ @Java110Listener("recoverUserInfoListener") @Transactional public class RecoverUserInfoListener extends AbstractUserBusinessServiceDataFlowListener { private final static Logger logger = LoggerFactory.getLogger(RecoverUserInfoListener.class); @Autowired IUserServiceDao userServiceDaoImpl; @Override public int getOrder() { return 0; } /** * 恢复用户信息 * @return */ @Override public String getServiceCode() { return ServiceCodeConstant.SERVICE_CODE_RECOVER_USER_INFO; } /** * 修改用户信息至 business表中 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doSaveBusiness(DataFlowContext dataFlowContext, Business business) { JSONObject data = business.getDatas(); Assert.notEmpty(data,"没有datas 节点,或没有子节点需要处理"); Assert.jsonObjectHaveKey(data,"businessUser","datas 节点下没有包含 businessUser 节点"); JSONObject businessUser = data.getJSONObject("businessUser"); Assert.jsonObjectHaveKey(businessUser,"userId","businessUser 节点下没有包含 userId 节点"); if(businessUser.getString("userId").startsWith("-")){ throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR,"userId 错误,不能自动生成(必须已经存在的userId)"+businessUser); } //自动插入ADD autoSaveAddBusinessUser(business,businessUser); } /** * 将 business的用户信息 保存至 instance表中 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doBusinessToInstance(DataFlowContext dataFlowContext, Business business) { JSONObject data = business.getDatas(); Map info = new HashMap(); info.put("bId",business.getbId()); info.put("operate",StatusConstant.OPERATE_ADD); //商户信息 Map businessUserInfo = userServiceDaoImpl.queryBusinessUserInfo(info); if( businessUserInfo != null && !businessUserInfo.isEmpty()) { flushBusinessUserInfo(businessUserInfo,StatusConstant.STATUS_CD_VALID); userServiceDaoImpl.updateUserInfoInstance(businessUserInfo); dataFlowContext.addParamOut("userId",businessUserInfo.get("user_id")); } } /** * 将instance 作废 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doRecover(DataFlowContext dataFlowContext, Business business) { String bId = business.getbId(); //Assert.hasLength(bId,"请求报文中没有包含 bId"); Map info = new HashMap(); info.put("bId",bId); info.put("statusCd",StatusConstant.STATUS_CD_VALID); Map addInfo = new HashMap(); addInfo.put("bId",business.getbId()); addInfo.put("operate",StatusConstant.OPERATE_ADD); //商户信息 Map userInfo = userServiceDaoImpl.queryUserInfo(info); if(userInfo != null && !userInfo.isEmpty()){ //商户信息 Map businessUserInfo = userServiceDaoImpl.queryBusinessUserInfo(addInfo); //除非程序出错了,这里不会为空 if(businessUserInfo == null || businessUserInfo.isEmpty()){ throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_INNER_ERROR,"撤单失败(user),程序内部异常,请检查! "+addInfo); } flushBusinessUserInfo(businessUserInfo,StatusConstant.STATUS_CD_INVALID); userServiceDaoImpl.updateUserInfoInstance(businessUserInfo); dataFlowContext.addParamOut("userId",userInfo.get("user_id")); } } public IUserServiceDao getUserServiceDaoImpl() { return userServiceDaoImpl; } public void setUserServiceDaoImpl(IUserServiceDao userServiceDaoImpl) { this.userServiceDaoImpl = userServiceDaoImpl; } } UserService/src/main/java/com/java110/user/listener/RemoveUserInfoListener.java
New file @@ -0,0 +1,136 @@ package com.java110.user.listener; import com.alibaba.fastjson.JSONObject; import com.java110.common.constant.ResponseConstant; import com.java110.common.constant.ServiceCodeConstant; import com.java110.common.constant.StatusConstant; import com.java110.common.exception.ListenerExecuteException; import com.java110.common.util.Assert; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.entity.center.Business; import com.java110.user.dao.IUserServiceDao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.Map; /** * 停用 用户信息 侦听 * Created by wuxw on 2018/5/18. */ @Java110Listener("removeUserInfoListener") @Transactional public class RemoveUserInfoListener extends AbstractUserBusinessServiceDataFlowListener { private final static Logger logger = LoggerFactory.getLogger(RemoveUserInfoListener.class); @Autowired IUserServiceDao userServiceDaoImpl; @Override public int getOrder() { return 0; } /** * 停用用户信息 * @return */ @Override public String getServiceCode() { return ServiceCodeConstant.SERVICE_CODE_REMOVE_USER_INFO; } /** * 修改用户信息至 business表中 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doSaveBusiness(DataFlowContext dataFlowContext, Business business) { JSONObject data = business.getDatas(); Assert.notEmpty(data,"没有datas 节点,或没有子节点需要处理"); Assert.jsonObjectHaveKey(data,"businessUser","datas 节点下没有包含 businessUser 节点"); JSONObject businessUser = data.getJSONObject("businessUser"); Assert.jsonObjectHaveKey(businessUser,"userId","businessUser 节点下没有包含 userId 节点"); if(businessUser.getString("userId").startsWith("-")){ throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR,"userId 错误,不能自动生成(必须已经存在的userId)"+businessUser); } //自动插入DEL autoSaveDelBusinessUser(business,businessUser); } /** * 将 business的用户信息 保存至 instance表中 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doBusinessToInstance(DataFlowContext dataFlowContext, Business business) { JSONObject data = business.getDatas(); Map info = new HashMap(); info.put("bId",business.getbId()); info.put("operate",StatusConstant.OPERATE_DEL); //商户信息 Map businessUserInfo = userServiceDaoImpl.queryBusinessUserInfo(info); if( businessUserInfo != null && !businessUserInfo.isEmpty()) { flushBusinessUserInfo(businessUserInfo,StatusConstant.STATUS_CD_INVALID); userServiceDaoImpl.updateUserInfoInstance(businessUserInfo); dataFlowContext.addParamOut("userId",businessUserInfo.get("user_id")); } } /** * 将instance 作废 * @param dataFlowContext 数据对象 * @param business 当前业务对象 */ @Override protected void doRecover(DataFlowContext dataFlowContext, Business business) { String bId = business.getbId(); //Assert.hasLength(bId,"请求报文中没有包含 bId"); Map info = new HashMap(); info.put("bId",bId); info.put("statusCd",StatusConstant.STATUS_CD_INVALID); Map delInfo = new HashMap(); delInfo.put("bId",business.getbId()); delInfo.put("operate",StatusConstant.OPERATE_DEL); //商户信息 Map userInfo = userServiceDaoImpl.queryUserInfo(info); if(userInfo != null && !userInfo.isEmpty()){ //商户信息 Map businessUserInfo = userServiceDaoImpl.queryBusinessUserInfo(delInfo); //除非程序出错了,这里不会为空 if(businessUserInfo == null || businessUserInfo.isEmpty()){ throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_INNER_ERROR,"撤单失败(user),程序内部异常,请检查! "+delInfo); } flushBusinessUserInfo(businessUserInfo,StatusConstant.STATUS_CD_VALID); userServiceDaoImpl.updateUserInfoInstance(businessUserInfo); dataFlowContext.addParamOut("userId",userInfo.get("user_id")); } } public IUserServiceDao getUserServiceDaoImpl() { return userServiceDaoImpl; } public void setUserServiceDaoImpl(IUserServiceDao userServiceDaoImpl) { this.userServiceDaoImpl = userServiceDaoImpl; } } java110-common/src/main/java/com/java110/common/constant/ServiceCodeConstant.java
@@ -70,6 +70,21 @@ public static final String SERVICE_CODE_SAVE_USER_INFO = "save.user.info"; /** * 修改用户信息 */ public static final String SERVICE_CODE_MODIFY_USER_INFO = "modify.user.info"; /** * 停用用户信息 */ public static final String SERVICE_CODE_REMOVE_USER_INFO = "remove.user.info"; /** * 恢复用户信息 */ public static final String SERVICE_CODE_RECOVER_USER_INFO = "recover.user.info"; /** * 保存用户地址信息 */ public static final String SERVICE_CODE_SAVE_USER_ADDRESS = "save.user.address"; @@ -197,6 +212,16 @@ */ public static final String SERVICE_CODE_USER_STAFF_ADD = "user.staff.add"; /** * 停用员工服务 */ public static final String SERVICE_CODE_USER_STAFF_DISABLE = "user.staff.disable"; /** * 启用员工服务 */ public static final String SERVICE_CODE_USER_STAFF_ENABLE = "user.staff.enable"; java110-config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml
@@ -2,7 +2,7 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="userServiceDAOImpl"> <mapper namespace="userServiceDaoImpl"> <resultMap type="com.java110.entity.user.Cust" id="custMap"> <id column="custId" jdbcType="VARCHAR" property="custId"/> @@ -171,7 +171,35 @@ </insert> <update id="updateUserInfoInstance" parameterType="map"> update u_user u set u.status_cd = #{statusCd} where 1 = 1 update u_user u set u.status_cd = #{statusCd} <if test="newBId != null and newBId != ''"> ,s.b_id = #{newBId} </if> <if test="name !=null and name != ''"> ,s.name= #{name} </if> <if test="email !=null and email != ''"> ,s.email= #{email} </if> <if test="address !=null and address != ''"> ,s.address= #{address} </if> <if test="password !=null and password != ''"> ,s.password= #{password} </if> <if test="locationCd !=null and locationCd != ''"> ,s.location_cd= #{locationCd} </if> <if test="age !=null and age != ''"> ,s.age= #{age} </if> <if test="sex !=null and sex != ''"> ,s.sex= #{sex} </if> <if test="tel !=null and tel != ''"> ,s.tel= #{tel} </if> where 1 = 1 <if test="bId != null and bId != ''"> and u.b_id = #{bId} </if> @@ -233,13 +261,16 @@ <select id="queryUserInfo" parameterType="map" resultType="map"> select u.user_id,u.name,u.email,u.address,u.password,u.location_cd, u.age,u.sex,u.tel,u.level_cd,u.b_id from u_user u where u.status_cd = '0' from u_user u where 1= 1 <if test="bId != null and bId !=''"> and u.b_id = #{bId} </if> <if test="userId != null and userId != ''"> and u.user_id = #{userId} </if> <if test="statusCd !=null statusCd != ''"> and u.status_cd = #{statusCd} </if> </select>