123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 |
- package restcontroller.webmanage.saletool.store;
- import beans.datacontrllog.DataContrlLog;
- import beans.parameter.Parameter;
- import beans.user.User;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import common.Controller;
- import common.YosException;
- import common.annotation.API;
- import common.data.*;
- import common.data.db.DBConnect;
- import org.apache.commons.lang.StringUtils;
- import restcontroller.R;
- import java.util.ArrayList;
- import java.util.Objects;
- public class StoreTeam extends Controller {
- /**
- * 构造函数
- *
- * @param content
- */
- public StoreTeam(JSONObject content) throws YosException {
- super(content);
- }
- Controller controller = this;
- @API(title = "团队人员列表", apiversion = R.ID20240410161802.v1.class)
- public String teamList() throws YosException {
- StringBuffer where = new StringBuffer(" 1=1 ");
- if (content.containsKey("where")) {
- JSONObject whereObject = content.getJSONObject("where");
- if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
- where.append(" and (");
- where.append("t1.name like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- }
- QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sys_enterprise_hr"
- , "sys_enterprise_hrid", "name", "position", "phonenumber", "isleader", "userid")
- .setTableAlias("t1");
- querySQL.setSiteid(siteid);
- querySQL.setWhere(where.toString());
- querySQL.setWhere("sys_enterpriseid", sys_enterpriseid);
- querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
- Rows rows = querySQL.query();
- //查询角色
- RowsMap roleRowsMap = StoreHelper.getRoleRowsMap(controller, rows.toArray("userid"));
- //查询门店
- RowsMap storeRowsMap = StoreHelper.getStoreRowsMap(controller, rows.toArray("sys_enterprise_hrid"));
- for (Row row : rows) {
- row.put("headpic", getHeadPic(row.getLong("userid")));
- Rows roleRows = roleRowsMap.getOrDefault(row.getString("userid"), new Rows());
- row.put("rolenames", String.join(",", roleRows.toArrayList("rolename")));
- if (roleRows.toArrayList("rolename").contains(Parameter.get("storerolename"))) {
- row.put("status", "启用");
- } else {
- row.put("status", "停用");
- }
- Rows storeRows = storeRowsMap.getOrDefault(row.getString("sys_enterprise_hrid"), new Rows());
- row.put("storenames", String.join(",", storeRows.toArrayList("storename")));
- }
- return getSucReturnObject().setData(rows).toString();
- }
- @API(title = "团队人员新增或编辑", apiversion = R.ID20240410164102.v1.class)
- public String teamInsertOrUpdate() throws YosException {
- Long sys_enterprise_hrid = content.getLongValue("sys_enterprise_hrid");
- String name = content.getStringValue("name");
- String phonenumber = content.getStringValue("phonenumber");
- String email = content.getStringValue("email");
- String position = content.getStringValue("position");
- JSONArray sa_storeids = content.getJSONArray("sa_storeids");
- if (StringUtils.isBlank(phonenumber)) {
- return getErrReturnObject().setErrMsg("手机号不能为空").toString();
- }
- ArrayList<String> sqlList = new ArrayList<>();
- if (sys_enterprise_hrid <= 0) {
- sys_enterprise_hrid = controller.createTableID("sys_enterprise_hr");
- InsertSQL insertSQL = SQLFactory.createInsertSQL(controller, "sys_enterprise_hr");
- insertSQL.setValue("siteid", controller.siteid);
- insertSQL.setValue("sys_enterprise_hrid", sys_enterprise_hrid);
- insertSQL.setValue("sys_enterpriseid", sys_enterpriseid);
- insertSQL.setValue("userid", 0);
- insertSQL.setValue("isleader", 0);
- insertSQL.setValue("phonenumber", phonenumber);
- insertSQL.setValue("position", position);
- insertSQL.setValue("name", name);
- insertSQL.setValue("remarks", "");
- insertSQL.setValue("sex", content.getStringValue("sex"));
- insertSQL.setValue("birthday", content.getStringValue("birthday", true, "null"));
- insertSQL.setValue("changeuserid", userid);
- sqlList.add(insertSQL.getSQL());
- content.put("sys_enterprise_hrid", sys_enterprise_hrid);
- } else {
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_enterprise_hr");
- updateSQL.setSiteid(siteid);
- updateSQL.setUniqueid(sys_enterprise_hrid);
- updateSQL.setValue("name", name);
- updateSQL.setValue("position", position);
- updateSQL.setValue("email", email);
- updateSQL.setValue("phonenumber", phonenumber);
- updateSQL.setValue("sex", content.getStringValue("sex"));
- updateSQL.setValue("birthday", content.getStringValue("birthday", true, "null"));
- sqlList.add(updateSQL.getSQL());
- }
- for (Object sa_storeid : sa_storeids) {
- sqlList.add(StoreHelper.getStoreHrInsertSQL(controller, sys_enterprise_hrid, Long.valueOf(sa_storeid.toString())).getSQL());
- }
- dbConnect.runSqlUpdate(sqlList);
- DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(controller, "sa_store_hr");
- deleteSQL.setSiteid(siteid);
- deleteSQL.setWhere("sys_enterpriseid", sys_enterpriseid);
- deleteSQL.setWhere("sys_enterprise_hrid", sys_enterprise_hrid);
- deleteSQL.setWhere("sa_storeid not in " + sa_storeids.toString().replace("[", "(").replace("]", ")"));
- deleteSQL.delete();
- return teamDetail();
- }
- @API(title = "团队人员详情", apiversion = R.ID20240411085402.v1.class)
- public String teamDetail() throws YosException {
- Long sys_enterprise_hrid = content.getLongValue("sys_enterprise_hrid");
- QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sys_enterprise_hr"
- , "sys_enterprise_hrid", "name", "position", "phonenumber", "isleader", "userid", "createby", "createdate", "changeby", "changedate", "sex", "birthday", "email")
- .setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sa_store_hr", "t2", "t2.sys_enterprise_hrid=t1.sys_enterprise_hrid and t2.siteid=t1.siteid"
- , "sa_store_hrid");
- querySQL.addJoinTable(JOINTYPE.left, "sys_users", "t3", "t3.userid=t1.userid "
- , "accountno");
- querySQL.setSiteid(siteid);
- querySQL.setWhere("sys_enterprise_hrid", sys_enterprise_hrid);
- Rows rows = querySQL.query();
- //查询角色
- RowsMap roleRowsMap = StoreHelper.getRoleRowsMap(controller, rows.toArray("userid"));
- //查询门店
- RowsMap storeRowsMap = StoreHelper.getStoreRowsMap(controller, rows.toArray("sys_enterprise_hrid"));
- for (Row row : rows) {
- row.put("headpic", getHeadPic(row.getLong("userid")));
- Rows roleRows = roleRowsMap.getOrDefault(row.getString("userid"), new Rows());
- row.put("rolenames", String.join(",", roleRows.toArrayList("rolename")));
- if (roleRows.toArrayList("rolename").contains(Parameter.get("storerolename"))) {
- row.put("status", "启用");
- } else {
- row.put("status", "停用");
- }
- row.put("roleids", roleRows.toArrayList("roleid", new ArrayList<Long>()));
- Rows storeRows = storeRowsMap.getOrDefault(row.getString("sys_enterprise_hrid"), new Rows());
- row.put("storenames", String.join(",", storeRows.toArrayList("storename")));
- row.put("sa_storeids", storeRows.toArrayList("sa_storeid"));
- row.putIfAbsent("createdate", "");
- row.putIfAbsent("changedate", "");
- if (dbConnect.runSqlQuery("SELECT * from sys_wechatapp_openids WHERE userid=" + row.getLong("userid")).isNotEmpty()) {
- row.put("iswechatbind", 1);
- } else if (dbConnect.runSqlQuery("SELECT * from sys_wechatapp_unionids WHERE userid=" + row.getLong("userid")).isNotEmpty()) {
- row.put("iswechatbind", 1);
- } else {
- row.put("iswechatbind", 0);
- }
- }
- Row detailRow = rows.isNotEmpty() ? rows.get(0) : new Row();
- return getSucReturnObject().setData(detailRow).toString();
- }
- @API(title = "团队人员删除", apiversion = R.ID20240411085502.v1.class)
- public String teamDelete() throws YosException {
- JSONArray sys_enterprise_hrids = content.getJSONArray("sys_enterprise_hrids");
- QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sys_enterprise_hr");
- querySQL.setSiteid(siteid);
- querySQL.setWhere("sys_enterprise_hrid", sys_enterprise_hrids);
- Rows rows = querySQL.query();
- for (Row row : rows) {
- if (row.getBoolean("isleader")) {
- return getErrReturnObject().setErrMsg("主账号不能删除").toString();
- }
- }
- ArrayList<Long> userids = rows.toArrayList("userid", new ArrayList<>());
- DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(controller, "sys_enterprise_hr");
- deleteSQL.setSiteid(siteid);
- deleteSQL.setWhere("sys_enterprise_hrid", sys_enterprise_hrids);
- deleteSQL.delete();
- deleteSQL = SQLFactory.createDeleteSQL(controller, "sa_store_hr");
- deleteSQL.setSiteid(siteid);
- deleteSQL.setWhere("sys_enterprise_hrid", sys_enterprise_hrids);
- deleteSQL.delete();
- deleteSQL = SQLFactory.createDeleteSQL(controller, "sys_usersite");
- deleteSQL.setSiteid(siteid);
- deleteSQL.setWhere("userid", userids);
- deleteSQL.delete();
- for (Object o : userids) {
- DataContrlLog.createLog(this, "sys_users", Long.parseLong(String.valueOf(o)), "删除", "删除成功").insert();
- loguserout(Long.parseLong(String.valueOf(o)));
- }
- return getSucReturnObject().toString();
- }
- @API(title = "门店人员的状态通过设置角色来实现启用停用", apiversion = R.ID20240428091402.v1.class)
- public String updateRole() throws YosException {
- String paramname = "storerolename";
- String rolename = "";
- boolean enable = content.getBooleanValue("enable");
- long userid = content.getLongValue("userid");
- Rows rows = dbConnect.runSqlQuery("select * from sys_parameter where paramname='" + paramname + "'");
- if (rows.isEmpty()) {
- Parameter.create(controller, paramname, "", "门店人员的状态通过设置角色来实现启用停用");
- rolename = "";
- } else {
- rolename = Parameter.get(paramname);
- }
- rows = dbConnect.runSqlQuery("select * from sys_role where rolename='" + rolename + "' and siteid='" + siteid + "'");
- if (rows.isEmpty()) {
- return getErrReturnObject().setErrMsg("启用停用失败,未找到对应角色").toString();
- }
- long roleid = rows.get(0).getLong("roleid");
- if (enable) {
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_userrole");
- insertSQL.setUniqueid(createTableID("sys_userrole"));
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("userid", userid);
- insertSQL.setValue("roleid", roleid);
- insertSQL.insert();
- } else {
- DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_userrole");
- deleteSQL.setSiteid(siteid);
- deleteSQL.setWhere("userid", userid);
- deleteSQL.setWhere("roleid", roleid);
- deleteSQL.delete();
- }
- return getSucReturnObject().toString();
- }
- @API(title = "人员信息修改(邀请)", apiversion = R.ID20240428111902.v1.class)
- public String updateInfo() throws YosException {
- long sys_enterpriseid = content.getLongValue("sys_enterpriseid");
- Rows rows = dbConnect.runSqlQuery("SELECT * from sys_enterprise_hr WHERE sys_enterpriseid=" + sys_enterpriseid + " and userid=" + userid + " and siteid='" + siteid + "'");
- if (rows.isNotEmpty()) {
- long sys_enterprise_hrid = rows.get(0).getLong("sys_enterprise_hrid");
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_enterprise_hr");
- updateSQL.setUniqueid(sys_enterprise_hrid);
- updateSQL.setSiteid(siteid);
- updateSQL.setValue("name", content.getStringValue("name"));
- updateSQL.setValue("phonenumber", content.getStringValue("phonenumber"));
- updateSQL.setValue("sex", content.getStringValue("sex"));
- updateSQL.setValue("birthday", content.getStringValue("birthday", true, "null"));
- updateSQL.setValue("position", content.getStringValue("position"));
- updateSQL.setValue("email", content.getStringValue("email"));
- updateSQL.update();
- } else {
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_hr");
- insertSQL.setUniqueid(createTableID("sys_enterprise_hr"));
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("name", content.getStringValue("name"));
- insertSQL.setValue("phonenumber", content.getStringValue("phonenumber"));
- insertSQL.setValue("sex", content.getStringValue("sex"));
- insertSQL.setValue("birthday", content.getStringValue("birthday", true, "null"));
- insertSQL.setValue("position", content.getStringValue("position"));
- insertSQL.setValue("email", content.getStringValue("email"));
- insertSQL.setValue("userid", userid);
- insertSQL.setValue("sys_enterpriseid", sys_enterpriseid);
- insertSQL.setValue("isleader", 0);
- insertSQL.insert();
- }
- if (usertype == 99) {
- //变更用户类型(消费者类型调整为经销商员工类型)
- new StoreHelper().updateUserType22(this);
- }
- return getSucReturnObject().toString();
- }
- }
|