From 36cac76a9190f1a186f3045931c16d992fc85654 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 4 Jul 2018 16:59:30 +0800 Subject: [PATCH] tmp --- .../sysconfig/beans/PermissionClientVO.java | 8 ++ .../web/SysPermissionClientController.java | 38 +++++++ .../SysPermissionClientMoudulesMapper.java | 32 ++++++ .../core/PermissionClientMoudulesService.java | 20 ++++ .../beans/PermissionClientMouduleLog.java | 98 +++++++++++++++++++ .../PermissionClientMoudulesServiceImpl.java | 76 ++++++++++++++ .../SysPermissionClientMoudulesMapper.xml | 13 +++ 7 files changed, 285 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/management/sysconfig/beans/PermissionClientVO.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionClientController.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/system/core/PermissionClientMoudulesService.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/system/core/beans/PermissionClientMouduleLog.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/system/core/impl/PermissionClientMoudulesServiceImpl.java create mode 100644 src/main/resources/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.xml diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/beans/PermissionClientVO.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/beans/PermissionClientVO.java new file mode 100644 index 000000000..2dbbd7d1e --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/beans/PermissionClientVO.java @@ -0,0 +1,8 @@ +package au.com.royalpay.payment.manage.management.sysconfig.beans; + +/** + * @author kira + * @date 2018/7/4 + */ +public class PermissionClientVO { +} diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionClientController.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionClientController.java new file mode 100644 index 000000000..a57190086 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionClientController.java @@ -0,0 +1,38 @@ +package au.com.royalpay.payment.manage.management.sysconfig.web; + +import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; +import au.com.royalpay.payment.manage.system.core.PermissionClientMoudulesService; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; + +import com.alibaba.fastjson.JSONObject; + +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import javax.annotation.Resource; + +/** + * Created by yixian on 2017-02-28. + */ +@RestController +@ManagerMapping(role = ManagerRole.ADMIN, value = "/sys/permission") +public class SysPermissionClientController { + @Resource + private PermissionClientMoudulesService permissionClientMoudulesService; + + + @RequestMapping(value = "/client/{client_id}/list", method = RequestMethod.GET) + public List list(@PathVariable int client_id) { + return permissionClientMoudulesService.listByClientId(client_id); + } + + @RequestMapping(value = "/client/{client_id}", method = RequestMethod.POST) + public List modify(@PathVariable int client_id,) { + return permissionClientMoudulesService.listByClientId(client_id); + } + +} diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.java new file mode 100644 index 000000000..033420947 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.java @@ -0,0 +1,32 @@ +package au.com.royalpay.payment.manage.mappers.system; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.alibaba.fastjson.JSONObject; + +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Created by yixian on 2017-02-28. + */ +@AutoMapper(tablename = "sys_permission_client_moudules", pkName = "id") +public interface SysPermissionClientMoudulesMapper { + @AutoSql(type = SqlType.INSERT) + void save(JSONObject module); + + @AutoSql(type = SqlType.UPDATE) + void update(JSONObject module); + + @AutoSql(type = SqlType.DELETE) + void delete(@Param("id") Long id); + + @AutoSql(type = SqlType.SELECT) + List listByClientId(@Param("client_id") int client_id); + + @AutoSql(type = SqlType.SELECT) + JSONObject find(@Param("id") Long id); +} diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/PermissionClientMoudulesService.java b/src/main/java/au/com/royalpay/payment/manage/system/core/PermissionClientMoudulesService.java new file mode 100644 index 000000000..645156bd8 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/PermissionClientMoudulesService.java @@ -0,0 +1,20 @@ +package au.com.royalpay.payment.manage.system.core; + + +import com.alibaba.fastjson.JSONObject; + +import java.util.List; + +/** + * @author kira + * @date 2018/7/4 + */ +public interface PermissionClientMoudulesService { + + void save(JSONObject record); + + List listByClientId(int clientId); + + void switchValid(Long id,boolean isValid,JSONObject account); + +} \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/beans/PermissionClientMouduleLog.java b/src/main/java/au/com/royalpay/payment/manage/system/core/beans/PermissionClientMouduleLog.java new file mode 100644 index 000000000..e83e0789c --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/beans/PermissionClientMouduleLog.java @@ -0,0 +1,98 @@ +package au.com.royalpay.payment.manage.system.core.beans; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +/** + * @author kira + * @date 2018/7/4 + */ +@Document(collection = "permission_client_moudule_log") +public class PermissionClientMouduleLog { + + private long id; + private int clientId; + private String clientMoniker; + private String business; + private String userId; + private String userName; + private String originData; + private String newData; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+10") + private Date createTime; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public int getClientId() { + return clientId; + } + + public void setClientId(int clientId) { + this.clientId = clientId; + } + + public String getClientMoniker() { + return clientMoniker; + } + + public void setClientMoniker(String clientMoniker) { + this.clientMoniker = clientMoniker; + } + + public String getBusiness() { + return business; + } + + public void setBusiness(String business) { + this.business = business; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getOriginData() { + return originData; + } + + public void setOriginData(String originData) { + this.originData = originData; + } + + public String getNewData() { + return newData; + } + + public void setNewData(String newData) { + this.newData = newData; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/PermissionClientMoudulesServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/PermissionClientMoudulesServiceImpl.java new file mode 100644 index 000000000..8f8e77407 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/PermissionClientMoudulesServiceImpl.java @@ -0,0 +1,76 @@ +package au.com.royalpay.payment.manage.system.core.impl; + +import au.com.royalpay.payment.manage.mappers.system.SysPermissionClientMoudulesMapper; +import au.com.royalpay.payment.manage.system.core.PermissionClientMoudulesService; +import au.com.royalpay.payment.manage.system.core.beans.PermissionClientMouduleLog; +import au.com.royalpay.payment.tools.exceptions.NotFoundException; +import au.com.royalpay.payment.tools.utils.id.IdUtil; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; + +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + +/** + * @author kira + * @date 2018/7/4 + */ +@Service +public class PermissionClientMoudulesServiceImpl implements PermissionClientMoudulesService { + + @Resource + private SysPermissionClientMoudulesMapper permissionClientMoudulesMapper; + + @Resource + private MongoTemplate mongoTemplate; + + + @Override + public void save(JSONObject record) { + record.put("id",IdUtil.getId()); + permissionClientMoudulesMapper.save(record); + } + + @Override + public List listByClientId(int clientId) { + return permissionClientMoudulesMapper.listByClientId(clientId); + } + + @Override + public void switchValid(Long id, boolean isValid, JSONObject account) { + JSONObject record = permissionClientMoudulesMapper.find(id); + if (record == null) { + throw new NotFoundException("Permission Client Moudule Not Found id:" + id); + } + JSONObject updateRecord = new JSONObject(); + updateRecord.put("is_valid", isValid); + updateRecord.put("id", record.getLong("id")); + saveMongoLog(account,record,updateRecord,(isValid?"打开":"关闭")+"模块 id:"+record.getString("module_id")); + permissionClientMoudulesMapper.update(updateRecord); + + } + + private void saveMongoLog(JSONObject account, JSONObject oldRecord, JSONObject modifyData, String business) { + modifyData.remove("id"); + PermissionClientMouduleLog mongoRecord = new PermissionClientMouduleLog(); + mongoRecord.setBusiness(business); + mongoRecord.setClientId(oldRecord.getIntValue("client_id")); + mongoRecord.setClientMoniker(oldRecord.getString("client_moniker")); + mongoRecord.setCreateTime(new Date()); + mongoRecord.setId(IdUtil.getId()); + mongoRecord.setUserId(account.getString("manager_id")); + mongoRecord.setUserName(account.getString("display_name")); + mongoRecord.setNewData(modifyData.toJSONString()); + Map beforeModify = modifyData.keySet().stream().collect(Collectors.toMap(key -> key, oldRecord::get)); + mongoRecord.setOriginData(JSON.toJSONString(beforeModify)); + mongoTemplate.insert(mongoRecord); + } +} diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.xml new file mode 100644 index 000000000..9a1f328b9 --- /dev/null +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/SysPermissionClientMoudulesMapper.xml @@ -0,0 +1,13 @@ + + + + + SELECT + f.*, + m.js_module, + m.js_path, + m.remark mod_remark + FROM sys_permission_functions f + LEFT JOIN sys_permission_modules m ON m.module_name = f.module + + \ No newline at end of file